VulnHub DC-9 靶机渗透测试中,如何找到并利用特定漏洞进行攻击?
摘要:VulnHub DC-9 靶机渗透测试笔记 靶机信息 靶机名称:DC-9(DC 系列最终章 🎯) 靶机来源:VulnHub 目标:获取 root 权限,找到最终 flag 难度:⭐⭐⭐⭐☆(较难) 涉及技术:
VulnHub DC-9 靶机渗透测试笔记
靶机信息
靶机名称:DC-9(DC 系列最终章 🎯)
靶机来源:VulnHub
目标:获取 root 权限,找到最终 flag
难度:⭐⭐⭐⭐☆(较难)
涉及技术:SQL 注入、文件包含(LFI)、Port Knocking、SSH 爆破、sudo 提权、/etc/passwd 写入提权
一、信息收集
1.1 主机发现
nmap -sn 192.168.168.0/24
目标 IP:192.168.168.169
1.2 端口与服务扫描
nmap -A -p- 192.168.168.169
扫到 SSH,但是被防火墙拦截:
💡 filtered 和 open 的区别:
状态
含义
open
端口开放,可以直接连
filtered
被防火墙拦截,连不上
closed
端口关闭
filtered 就是 knockd 在生效,SSH 存在但被防火墙挡住了,需要先「敲门」才能变成 open,这就是本题的关键机制之一。
二、SQL 注入
2.1 发现注入点
依旧改hosts
有个搜索功能,用 Burp Suite 抓包:
POST 抓包:
标记注入点,保存为 sql.txt,用 sqlmap 跑:
python sqlmap.py -r D:\Backup\桌面\sql.txt --dbs
跑出来了,有两个库:
这个后续的ssh爆破有用
找到admin的密码
2.2 破解哈希
把拿到的哈希去在线网站解密:
https://hashes.com/zh/decrypt/hash
856f5de590ef37314e7c3bdf6f8a66dc → transorbital1
2.3 登录后台
后台有个添加记录功能:
显示所有记录,可以看到刚刚输入的信息:
不过好像没啥用,还是拿不到 Web 权限,换个思路继续找。
三、文件包含漏洞(LFI)
3.1 发现文件包含
看到一个「文件不存在」的提示,感觉有文件包含,随便试了一下:
http://wordy/manage.php?file=../../../../../../etc/passwd
成功读取到 /etc/passwd!
正常情况下应该还是需要 fuzz 一下参数名的,用 bp 或者 ffuf 都行。
3.2 用 LFI 读取 knockd.conf
不会了,涉及到知识盲区,翻 wp 了解到一个 /etc/knockd.conf 文件,里面记录了 SSH 的 port knocking 配置。
用 LFI 读取配置文件获取敲门序列:
http://192.168.168.169/manage.php?file=../../../../../../../etc/knockd.conf
💡 这就是 LFI 的价值所在: 不仅能读 /etc/passwd,还能读各种敏感配置文件,比如这里的 knockd.conf,直接暴露了敲门序列。
四、Port Knocking 敲门
读出来的配置意思是:
🔓 开启 SSH(openSSH): 按顺序敲这三个端口:7469 → 8475 → 9842,敲完后 SSH 的 22 端口才会对你开放。
