如何使用Tunna实现信道封装和TCP通信并绕过网络防火墙限制

如何使用Tunna实现信道封装和TCP通信并绕过网络防火墙限制

关于Tunna Tunna是一个由多种工具组成的工具箱,Tunna可以通过HTTP来封装和传输任何TCP流量,值得一提的是,Tunna的所有流量支持绕过部署了完整防火墙系统的网络环境中的任何网络安全限制。毫无疑问,该工具对红队和蓝队研究人员的渗透测试与安全研究活动将非常有用。

简而言之,Tunna就是一个可以通过HTTP来隧道TCP连接的强大工具。

工具运行机制 在一个完全防火墙(入站和出站连接受限-Web服务器端口除外)环境中,Webshell可以用来连接到远程主机上的任何服务,这种连接使用的是远程主机中的本地端口和本地连接,因此防火墙将允许此类连接通过。

Webshell将从服务端口读取数据,并通过HTTP将其封装,并将其作为HTTP响应发送到本地代理。接下来,本地代理了将会对数据进行拆封,并将数据写入其本地端口,客户端程序将连接到该端口。当本地代理在本地端口上接收数据时,它会将它们作为HTTP Post发送到Webshell。然后,Webshell将从HTTP Post读取数据,并将其放在服务端口上,并不断重复上述操作。

整个过程中,只有Web服务器端口需要被打开(一般为80/443)。至此,所有的操作都是通过HTTP协议完成的。

项目架构 Webshells:

conn.jsp 已在Apache Tomcat上测试 (windows + linux)

conn.aspx 已在IIS 6+8上测试 (windows server 2003/2012)

conn.php 已在LAMP + XAMPP + IIS上测试 (windows + linux)

WebServer:

webserver.py 已在Python 2.6.5环境中测试

Proxies:

proxy.py 已在Python 2.6.5环境中测试

工具下载 广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript代码运行次数:0运行复制git clone https://github.com/SECFORCE/Tunna.git(向右滑动,查看更多) 工具使用

代码语言:javascript代码运行次数:0运行复制代码语言:javascript代码运行次数:0运行复制python proxy.py -u -l [options](向右滑动,查看更多)代码语言:javascript代码运行次数:0运行复制 工具选项

常用选项代码语言:javascript代码运行次数:0运行复制--help, -h 显示工具帮助信息和退出--url=URL, -u 远程webshell的URL地址--lport=LOCAL_PORT, -l 本地监听端口--verbose, -v Verbose模式--buffer=BUFFERSIZE, -b BUFFERSIZE* 设置HTTP请求大小(向右滑动,查看更多)无SOCKS选项代码语言:javascript代码运行次数:0运行复制--no-socks, -n 不使用SOCKS代理--rport=REMOTE_PORT, -r webshell要连接的远程服务端口--addr=REMOTE_IP, -a webshell要连接的远程webshell IP地址 (默认为 127.0.0.1)(向右滑动,查看更多)代码语言:javascript代码运行次数:0运行复制上游代理选项代码语言:javascript代码运行次数:0运行复制--up-proxy=UPPROXY, -x 设置上游代理 (http://proxyserver.com:3128)--auth, -A 上游代理开启身份验证(向右滑动,查看更多)高级选项

代码语言:javascript代码运行次数:0运行复制--ping-interval=PING_DELAY, -q ping线程时间间隔 (默认为 0.5)--start-ping, -s 开始ping线程--cookie, -C 设置请求Cookie--authentication, -t 开启基础身份验证(向右滑动,查看更多) 工具使用样例 下列命令将在端口8000上开启一个本地SOCKS代理服务器,连接将通过HTTP进行封装,并在远程服务器解封:

代码语言:javascript代码运行次数:0运行复制python proxy.py -u http://10.3.3.1/conn.aspx -l 8000 -v(向右滑动,查看更多)代码语言:javascript代码运行次数:0运行复制下列命令将在端口8000上开启一个本地SOCKS代理服务器,工具将会通过一个本地代理(https://192.168.1.100:3128)建立连接,并在访问远程Tunna Webshell时要求进行身份验证:

代码语言:javascript代码运行次数:0运行复制python proxy.py -u http://10.3.3.1/conn.aspx -l 8000 -x https://192.168.1.100:3128 -A -v(向右滑动,查看更多)代码语言:javascript代码运行次数:0运行复制下列命令将在webshell和远程主机RDP(3389)服务之间初始化一个连接,RDP客户端可以连接localhost:4444,连接同样通过HTTP封装:

代码语言:javascript代码运行次数:0运行复制python proxy.py -u http://10.3.3.1/conn.aspx -l 4444 -r 3389 -b 8192 -v --no-socks(向右滑动,查看更多) 许可证协议 本项目的开发与发布遵循GNU开源许可证协议。

项目地址 Tunna:

https://github.com/SECFORCE/Tunna

精彩推荐

你可能也喜欢

如何快速找到魔兽世界起源大厅入口?详细地图坐标分享
网上买轮胎可以选择哪些平台?
365bet繁体中文

网上买轮胎可以选择哪些平台?

📅 07-03 👀 1147
五字成语大全
365体育网址备用

五字成语大全

📅 07-05 👀 7687
卡塔尔世界杯开幕式:足球背后的文化盛宴与科技创新
建行补卡需要多久?建行怎么补办同卡号卡?
英特尔酷睿i5 4590网友点评
365体育网址备用

英特尔酷睿i5 4590网友点评

📅 07-03 👀 5142
京东上门取件要多久
365体育网址备用

京东上门取件要多久

📅 06-29 👀 4073
《星露谷物语》玛鲁位置介绍
365bet皇冠体

《星露谷物语》玛鲁位置介绍

📅 07-04 👀 5749
订阅管理导入数据太慢!!
365体育网址备用

订阅管理导入数据太慢!!

📅 07-01 👀 5190