记一次不出网的渗透测试
字数 1400 2025-08-15 21:32:45

内网渗透测试技术详解:从S2漏洞利用到不出网环境下的横向移动

1. 信息收集与初始漏洞利用

1.1 信息收集阶段

  • 端口扫描:发现7080端口开放
  • 历史快照检查:通过Google历史快照发现7080端口的.action端点
  • 弱口令测试:尝试未果

1.2 Struts2漏洞利用

  • 发现存在S2-046漏洞的.action端点
  • 漏洞验证URL:http://x.x.x.x:7080/xxxx.action
  • 利用方式:直接命令执行获取最高权限
  • 目录定位:执行命令确认当前工作目录

2. 木马上传与连接

2.1 木马类型测试

  1. 哥斯拉木马:上传成功但连接失败
  2. Behinder 3.0 Beta_3:连接失败
  3. Behinder V3.0 B6:成功连接

经验总结:工具版本更新至关重要,应保持工具最新版本

2.2 敏感信息收集

  • Tomcat用户信息与密码
  • 数据库连接信息
  • 杀毒软件检查:通过tasklist发现360杀毒软件运行

3. 不出网环境下的渗透技术

3.1 环境分析

  • 目标不出网(无外网连接)
  • 3389端口未开放
  • 传统CS马无法回连

3.2 reGeorg内网穿透

实施步骤

  1. 从GitHub获取reGeorg:https://github.com/sensepost/reGeorg
  2. 上传对应语言版本的tunnel脚本(本例使用jsp)
  3. 本地执行代理命令:
    python reGeorgSocksProxy.py -p 10086 -u http://x.x.x.x/tunnel.jsp
    
  4. 注意Python环境冲突问题(本例中删除Python3.8后解决)

3.3 Pystinger上线技术

实施步骤

  1. 获取Pystinger:https://github.com/FunnyWolf/pystinger/releases
  2. 上传对应Web语言的代理脚本(本例为jsp)
  3. 验证代理脚本可访问(返回UTF-8表示成功)
  4. 上传stinger_server.exe到目标服务器
  5. 在目标服务器执行:
    start /目录/stinger_server.exe 0.0.0.0
    
    注意:不要直接运行,否则会导致TCP断连
  6. 在VPS执行客户端连接:
    ./stinger_client -w http://x.x.x.x:7080/proxy.jsp -l 0.0.0.0 -p 60000
    
  7. 成功后会返回60020端口信息

3.4 Cobalt Strike配置

  1. 建立监听器:监听本地60020端口
  2. 生成免杀马:
    • 使用zirikatu工具:https://github.com/pasahitz/zirikatu.git
    • 上传到可读写目录(如C:\Windows\Temp\
    • 注意360杀毒软件的绕过

4. 横向移动技术

4.1 密码抓取

  • 使用CS内置功能抓取系统密码

4.2 开启远程桌面

  1. 通过CS开启目标3389端口
  2. 使用reGeorg+Proxifier建立隧道
  3. 使用获取的凭证进行RDP连接

5. 关键经验总结

  1. 工具更新:保持渗透工具最新版本(如Behinder从V3升级到V6解决连接问题)
  2. 环境冲突:注意多版本Python环境可能导致的问题
  3. 杀软规避:在存在360等杀软环境下必须进行免杀处理
  4. 目录选择:上传文件到具有读写权限的目录(如Temp目录)
  5. 不出网环境:组合使用reGeorg和Pystinger实现内网穿透
  6. 横向移动:通过密码抓取和端口开启实现内网扩展

6. 防御建议

  1. 及时修补Struts2等已知漏洞
  2. 限制Web目录的执行和写入权限
  3. 监控异常进程(如stinger_server.exe)
  4. 加强密码策略,防止弱口令
  5. 部署网络流量监控,检测异常隧道流量
  6. 保持杀毒软件更新并启用行为检测
内网渗透测试技术详解:从S2漏洞利用到不出网环境下的横向移动 1. 信息收集与初始漏洞利用 1.1 信息收集阶段 端口扫描:发现7080端口开放 历史快照检查:通过Google历史快照发现7080端口的.action端点 弱口令测试:尝试未果 1.2 Struts2漏洞利用 发现存在S2-046漏洞的.action端点 漏洞验证URL: http://x.x.x.x:7080/xxxx.action 利用方式:直接命令执行获取最高权限 目录定位:执行命令确认当前工作目录 2. 木马上传与连接 2.1 木马类型测试 哥斯拉木马 :上传成功但连接失败 Behinder 3.0 Beta_ 3 :连接失败 Behinder V3.0 B6 :成功连接 经验总结 :工具版本更新至关重要,应保持工具最新版本 2.2 敏感信息收集 Tomcat用户信息与密码 数据库连接信息 杀毒软件检查:通过 tasklist 发现360杀毒软件运行 3. 不出网环境下的渗透技术 3.1 环境分析 目标不出网(无外网连接) 3389端口未开放 传统CS马无法回连 3.2 reGeorg内网穿透 实施步骤 : 从GitHub获取reGeorg: https://github.com/sensepost/reGeorg 上传对应语言版本的tunnel脚本(本例使用jsp) 本地执行代理命令: 注意Python环境冲突问题(本例中删除Python3.8后解决) 3.3 Pystinger上线技术 实施步骤 : 获取Pystinger: https://github.com/FunnyWolf/pystinger/releases 上传对应Web语言的代理脚本(本例为jsp) 验证代理脚本可访问(返回UTF-8表示成功) 上传 stinger_server.exe 到目标服务器 在目标服务器执行: 注意 :不要直接运行,否则会导致TCP断连 在VPS执行客户端连接: 成功后会返回60020端口信息 3.4 Cobalt Strike配置 建立监听器:监听本地60020端口 生成免杀马: 使用zirikatu工具: https://github.com/pasahitz/zirikatu.git 上传到可读写目录(如 C:\Windows\Temp\ ) 注意360杀毒软件的绕过 4. 横向移动技术 4.1 密码抓取 使用CS内置功能抓取系统密码 4.2 开启远程桌面 通过CS开启目标3389端口 使用reGeorg+Proxifier建立隧道 使用获取的凭证进行RDP连接 5. 关键经验总结 工具更新 :保持渗透工具最新版本(如Behinder从V3升级到V6解决连接问题) 环境冲突 :注意多版本Python环境可能导致的问题 杀软规避 :在存在360等杀软环境下必须进行免杀处理 目录选择 :上传文件到具有读写权限的目录(如Temp目录) 不出网环境 :组合使用reGeorg和Pystinger实现内网穿透 横向移动 :通过密码抓取和端口开启实现内网扩展 6. 防御建议 及时修补Struts2等已知漏洞 限制Web目录的执行和写入权限 监控异常进程(如stinger_ server.exe) 加强密码策略,防止弱口令 部署网络流量监控,检测异常隧道流量 保持杀毒软件更新并启用行为检测