AI摘要:文章详细介绍了渗透测试的步骤,包括扫描端口、获取IP、扫描开放的端口、获取服务和操作版本信息、获取FTP文件、网页登录、图片文件分析和SSH登录等。通过这些步骤,可以获取到目标机器的详细信息,包括运行的服务、操作系统版本、开放的端口等,以及可能的漏洞和弱点。这些信息可以用于进一步的渗透测试和攻击。

NOOB爆破

一、扫描端口

  1. ip a查看自己ip获取网段192.18.128.0/16
  2. 端口扫描命令 nmap

    参数
    -sT    TCP connect() 扫描,这是最基本的 TCP 扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。    
    -sS    TCP 同步扫描 (TCP SYN),因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描 (half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要 root 权限来定制 SYN 数据包。    
    -sF,-sX,-sN    秘密 FIN 数据包扫描、圣诞树 (Xmas Tree)、空 (Null) 扫描模式。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应 RST 包,而打开的端口必需忽略有问题的包(参考 RFC 793 第 64 页)。    
    -sP    ping 扫描,用 ping 方式检查网络上哪些主机正在运行。当主机阻塞 ICMP echo 请求包是 ping 扫描是无效的。nmap 在任何情况下都会进行 ping 扫描,只有目标主机处于运行状态,才会进行后续的扫描。    
    -sU    UDP 的数据包进行扫描,如果你想知道在某台主机上提供哪些 UDP(用户数据报协议,RFC768) 服务,可以使用此选项。    
    -sA    ACK 扫描,这项高级的扫描方法通常可以用来穿过防火墙。    
    -sW    滑动窗口扫描,非常类似于 ACK 的扫描。    
    -sR    RPC 扫描,和其它不同的端口扫描方法结合使用。    
    -b    FTP 反弹攻击 (bounce attack),连接到防火墙后面的一台 FTP 服务器做代理,接着进行端口扫描。
    -P0    在扫描之前,不 ping 主机。    
    -PT    扫描之前,使用 TCP ping 确定哪些主机正在运行。    
    -PS    对于 root 用户,这个选项让 nmap 使用 SYN 包而不是 ACK 包来对目标主机进行扫描。    
    -PI    设置这个选项,让 nmap 使用真正的 ping(ICMP echo 请求)来扫描目标主机是否正在运行。    
    -PB    这是默认的 ping 扫描选项。它使用 ACK(-PT) 和 ICMP(-PI) 两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。    
    -O    这个选项激活对 TCP/IP 指纹特征 (fingerprinting) 的扫描,获得远程主机的标志,也就是操作系统类型。    
    -I    打开 nmap 的反向标志扫描功能。    
    -f    使用碎片 IP 数据包发送 SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。    
    -v    冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。    
    -S <IP>    在一些情况下,nmap 可能无法确定你的源地址 (nmap 会告诉你)。在这种情况使用这个选项给出你的 IP 地址。    
    -g port    设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为 DNS(53) 或者 FTP-DATA(20) 的包通过和实现连接。显然,如果攻击者把源端口修改为 20 或者 53,就可以摧毁防火墙的防护。    
    -oN    把扫描结果重定向到一个可读的文件 logfilename 中。    
    -oS    扫描结果输出到标准输出。    
    --host_timeout    设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。    
    --max_rtt_timeout    设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约 9000 毫秒。    
    --min_rtt_timeout    设置 nmap 对每次探测至少等待你指定的时间,以毫秒为单位。    
    -M count    置进行 TCP connect() 扫描时,最多使用多少个套接字进行并行的扫描。

    通过nmap -sn 192.18.128.0/16扫描当前网络中运行的机器获取到靶机ip192.18.128.1

  3. 扫描靶机开放的端口,运行nmap -p- 192.18.128.1得出结果

    -p-:扫描全部端口

    Nmap scan report for 192.18.128.1
    Host is up (0.00097s latency).
    Not shown: 65532 closed tcp ports (conn-refused)
    PORT      STATE SERVICE
    21/tcp    open  ftp
    80/tcp    open  http
    55077/tcp open  unknown
  4. 指定端口扫描服务,获取服务、操作版本、运行的服务版本等信息

    运行sudo nmap -p21,80,55077 -sV -O -sC --min-rate=10000 192.18.128.1:指定扫描ip192.18.128.1的端口21、80、55077端口

    -sV获取服务的版本信息

    -O操作版本信息

    -sC默认漏洞扫描

    --min-rate=10000最低速率10000

    Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-25 15:43 CST
    Nmap scan report for 192.18.128.1
    Host is up (0.00076s latency).
    
    PORT      STATE SERVICE VERSION
    21/tcp    open  ftp     vsftpd 3.0.3
    | ftp-syst: 
    |   STAT: 
    | FTP server status:
    |      Connected to ::ffff:192.18.128.0
    |      Logged in as ftp
    |      TYPE: ASCII
    |      No session bandwidth limit
    |      Session timeout in seconds is 300
    |      Control connection is plain text
    |      Data connections will be plain text
    |      At session startup, client count was 3
    |      vsFTPd 3.0.3 - secure, fast, stable
    |_End of status
    | ftp-anon: Anonymous FTP login allowed (FTP code 230)
    | -rw-r--r--    1 0        0              21 Sep 21  2021 cred.txt
    |_-rw-r--r--    1 0        0              86 Jun 11  2021 welcome
    80/tcp    open  http    Apache httpd 2.4.29 ((Ubuntu))
    |_http-server-header: Apache/2.4.29 (Ubuntu)
    |_http-title: Login
    55077/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
    | ssh-hostkey: 
    |   2048 dc:e8:ad:80:35:81:c4:29:7e:cf:e4:70:f2:69:d9:96 (RSA)
    |   256 46:20:20:03:9c:97:35:f6:2d:5d:62:4a:be:6c:95:8e (ECDSA)
    |_  256 ae:90:88:f6:63:8d:dc:60:fa:ff:fc:70:12:e4:f4:1f (ED25519)
    MAC Address: 00:0C:29:1B:B5:A2 (VMware)
    Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
    Device type: general purpose
    Running: Linux 4.X|5.X
    OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
    OS details: Linux 4.15 - 5.8
    Network Distance: 1 hop
    Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
    
    OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 21.59 seconds

    获取21端口运行ftp服务vsftpd 3.0.3

    | -rw-r--r--    1 0        0              21 Sep 21  2021 cred.txt
    |_-rw-r--r--    1 0        0              86 Jun 11  2021 welcome

    80http服务采用Apache 2.4.29版本运行服务

    55077ssh端口,其余为操作系统信息

  5. 获取ftp文件:

    • ftp 192.18.128.1
    • 输入账号anonymous,密码anonymous采用匿名登录
    • 默认是ASCII模式,输入binary切换为二进制模式
    • get cred.txt welcome将ftp文件获取到本地
    • 打开cred.txt获取文件内容Y2hhbXA6cGFzc3dvcmQ=cat cred.txt| base64 -d解密后明文champ:password
  6. 打开网页,尝试使用刚才获取到的密码登录,获取到两张图片,一个文本sudo --内容Did you notice the file name? Isn't is interesting?
  7. 分析两个图片文件:steghide info 文件名解密图片文件查看信息

    steghide extract -sf test.jpg -p 123456
    #-sf  参数
    #test.jpg  图片名称
    #-p 密码参数,后面空格跟密码,无密码可不加参数,回车就好

    根据提示尝试密码sudo 拿到user.txt文件,内容jgs:guvf bar vf n fvzcyr bar不知道是是什么东西放一边,分离另一张图片得到hint.py,内容This is_not a python file but you are revolving around.well, try_ to rotate some words too.。还是没思路,查资料得到user.txt内容是rot13加密,根据提示逆序后解密得到wtf:this one is a simple one

  1. 尝试过登录SSHssh wtf@192.18.128.1 -p 55077sudo -l查看当前用户权限,发现是3a用户,切换到root,进入root目录拿到flag

补充:wtf用户的家目录下的Documents目录还有一个flag