目标不出网场景
在目标环境完全不出网的情况下,即所有的网络通信如SMB(Server Message Block)、DNS(Domain Name System)甚至包括TCP(Transmission Control Protocol)都不允许与外部网络进行交互,这意味着传统的互联网访问被严格限制。在这种环境下,如果需要与外界进行某种形式的数据交换或者信息传递,就需要寻找创新的方法来绕过这种限制。一种可能的解决方案是搭建一个HTTP隧道。
HTTP隧道:reGeorg 工具
reGeorg 是一款 http/https 正向代理工具,使用 python2 开发。
下载地址:https://github.com/sensepost/reGeorg
不知道为什么,git连接不上,所以我直接到网页去下载,解压发到虚拟机上。
使用教程,将这个脚本文件上传到目标机器上面。访问如下,说明可以正常使用。
然后使用 reGeorgSocksProxy.py 执行如下命令连接代理文件:
python2 reGeorgSocksProxy.py -l 0.0.0.0 -p 1080 -u http://192.168.5.138/tunnel.nosocket.php
在kali中的/etc/proxychains4.conf中设置代理。
之后使用proxychains4 +命令相当于用边缘服务器(192.168.5.138)的身份来执行命令。下面是wireshark抓包显示kali(攻击机)与边缘服务器使用http隧道的数据传输。把边缘服务器执行命令后返回的数据传输给攻击机。
HTTP隧道:Neo-reGeorg
Neo-reGeorg 是一个旨在积极重构 reGeorg 的项目,目的是:
- 提高 tunnel 连接安全性
- 提高可用性,避免特征检测(reGeorg的特征很明显,容易被杀毒软件查杀)
- 提高传输内容保密性
- 应对更多的网络环境场景
下载地址:https://github.com/L-codes/Neo-reGeorg
特点:Neo-reGeorg 是一款功能强大的 HTTP 隧道工具,它通过变形的 Base64 加密来伪装传输内容,使其看起来像是 Base64 编码,从而避免特征检测。它还支持定制化的直接请求响应,例如可以伪装成 404 页面。Neo-reGeorg 使用随机生成的 HTTP Headers 来避免特征检测,并允许用户自定义 HTTP Headers。此外,它还支持自定义 HTTP 响应码,并且能够通过多 URL 的随机请求来降低被检测的风险。该工具还具备服务端 DNS 解析功能,并且兼容 Python 2 和 Python 3,具有较高的服务端环境兼容性。对于 PHP 版本,它实现了单 Session 的创建,以支持多 TCP 连接,应对负载均衡场景。同时,aspx/ashx/jsp/jspx 等服务端环境不再依赖 Session,可以在无 Cookie 的环境下正常运行。最后,Neo-reGeorg 支持内网转发功能,以应对复杂的负载均衡环境。
github下载下来之后,执行以下命令生成代理脚本
python3 neoreg.py generate -k 123456
脚本在neoreg_servers的目录下。
然后只需要将对应语言的脚本上传到目标 web 目录下。
空白的话就是可以了
python3 neoreg.py -l 0.0.0.0 -p 1080 -k 123456 -u http://192.168.5.138/tunnel.php
这样说明代理成功了。在边缘服务器看一下有没有代理成功。
代理成功了。
Neo-reGeorg可以自定义访问页面
自定义一个页面:
使用一下命令生成脚本:
python3 neoreg.py generate -k 123456 --file 403.html --httpcode 403
后续和前面的一样步骤。