详细版 drippingblues 靶机渗透实战:信息收集、漏洞利用与 CVE-2021-3560 提权

drippingblues靶机渗透测试文档

1. 安装部署

1.1 部署步骤

  1. 下载完成后解压,得到 .ova 格式的靶机文件。
  2. 打开 VMware,将 .ova 文件导入,网络模式选择 NAT

(图:VMware导入靶机时的网络配置界面)

2. 攻击过程(Kali Linux)


2.1 信息收集

2.1.1 ARP 局域网存活探测

通过 arp-scan 命令扫描局域网内存活主机,定位靶机IP。

1
arp-scan -l

不同虚拟化平台有各自流量特征,NAT模式例外,因此可初步判断 192.168.20.201 为 drippingblues 靶机的IP。

(图:ARP扫描结果,标记靶机IP为192.168.20.201)

2.1.2 Nmap 端口与服务探测

通过 Nmap 进一步探测靶机开放的端口、服务及版本信息,分三步执行:

2.1.2.1 初步探测(默认端口)

扫描常用端口,确认靶机基础开放情况:

1
nmap 192.168.20.201

(图:Nmap初步探测结果,验证靶机IP正确性)

探测结果与ARP扫描一致,确认 192.168.20.201 为目标靶机。

(图:Nmap初步探测的端口详情)

2.1.2.2 服务/版本探测

添加 -sV 参数,探测开放端口对应的服务及具体版本:

1
nmap -sV 192.168.20.201

(图:Nmap服务/版本探测结果)

2.1.2.3 全端口扫描

添加 -A(全面探测)、-p-(扫描所有端口)、-T5(最快速度),无遗漏扫描所有端口:

1
nmap -A -p- -T5 192.168.20.201

(图:Nmap全端口扫描结果)

2.1.3 FTP 服务渗透(获取加密文件)

从Nmap结果可知靶机开放FTP服务(21端口),尝试连接并查看内容:

  1. ftp 192.168.20.201 连接FTP(匿名登录成功);
  2. 发现目录内有 secret.zip 文件,下载后发现需要密码解压

(图:FTP连接成功,查看并下载secret.zip)

2.1.4 爆破 ZIP 密码

使用工具(如 fcrackzip)爆破 secret.zip,优先尝试纯数字密码:

(图:设置爆破参数,选择纯数字字典)

(图:爆破成功,获取密码)

爆破结果secret.zip 密码为 072528035

2.1.5 解析 ZIP 内文件

解压 secret.zip 后,得到两个文件:

  1. 另一个加密压缩包(未命名);
  2. hint.txt 文本文件,内容如下:
    1
    just focus on "drip"

(图:解压后文件列表及hint.txt内容)

提示 drip 可能是Web服务中的关键参数(如文件包含漏洞的触发参数)。

2.1.6 Web 服务渗透(文件包含漏洞)

访问靶机Web服务(80端口),尝试用 drip 作为参数触发文件包含漏洞:

  • 构造URL:http://192.168.20.201/?drip=../../etc/passwd
  • 成功读取系统 /etc/passwd 文件,确认存在文件包含漏洞。

(图:利用drip参数触发文件包含,读取/etc/passwd)

2.1.7 获取系统账号密码

通过文件包含漏洞读取Web目录下的源码文件,在其中发现账号密码提示:

1
2
3
4
password is: imdrippinbiatch 
driftingblues is hacked again so it's now called drippingblues. :D hahaha
by
travisscott & thugger

(图:读取源码文件,获取密码信息)

系统账号密码username = Thuggerpassword = imdrippinbiatch

2.1.8 登录系统并获取 user.txt

用上述账号通过 ssh 登录靶机:

1
ssh Thugger@192.168.20.201

登录成功后,在 Thugger 的家目录(/home/Thugger)下找到 user.txt,内容为:

1
5C50FC503A2ABE93B4C5EE3425496521,

(图:SSH登录成功,查看user.txt内容)

注:尝试用 user.txt 内容作为之前未解压压缩包的密码,失败。

2.1.9 Web 目录爆破(dirsearch)

使用 dirsearch 扫描Web目录,寻找隐藏页面或配置文件:

1
dirsearch -u http://192.168.20.201 -e *

(图:dirsearch目录扫描结果)

2.1.10 解析 robots.txt 与 dripisreal.txt
  1. 访问 http://192.168.20.201/robots.txt,无关键信息;
    (图:robots.txt内容)

  2. 访问 http://192.168.20.201/dripisreal.txt,获取SSH密码提示:

    1
    2
    3
    4
    5
    6
    hello dear hacker wannabe,
    go for this lyrics:
    https://www.azlyrics.com/lyrics/youngthug/constantlyhating.html
    count the n words and put them side by side then md5sum it
    ie, hellohellohellohello >> md5sum hellohellohellohello
    it's the password of ssh

    (图:dripisreal.txt内容,SSH密码线索)

提示解读:访问指定歌词链接,统计以“n”开头的单词,将这些单词拼接后做MD5哈希,结果即为SSH密码(后续未使用,直接通过提权漏洞获取root)。

2.2 提权(CVE-2021-3560 Polkit 漏洞)

2.2.1 漏洞原理

CVE-2021-3560 是 Polkit 服务的权限提升漏洞,攻击者可通过构造请求绕过认证,创建管理员账号并获取root权限。

2.2.2 利用 POC 提权

  1. 从GitHub下载漏洞POC:Polkit-exploit

  2. 将POC上传到靶机(如通过 scp 命令),执行以下命令触发漏洞:

    1
    python3 CVE-2021-3560.py
  3. 提权成功后,切换到root用户,在 /root 目录下找到 root.txt

    1
    cd /root && cat root.txt

(图:POC执行成功,获取root权限)

(图:查看root.txt内容,渗透测试完成)