前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Tunna实现信道封装和TCP通信并绕过网络防火墙限制

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

作者头像
FB客服
发布2023-03-29 15:57:44
5890
发布2023-03-29 15:57:44
举报
文章被收录于专栏:FreeBuf

 关于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
复制
git clone https://github.com/SECFORCE/Tunna.git(向右滑动,查看更多)

 工具使用 

代码语言:javascript
复制
代码语言:javascript
复制
python proxy.py -u <remoteurl> -l <localport> [options]

(向右滑动,查看更多)

代码语言:javascript
复制

 工具选项 

常用选项

代码语言:javascript
复制
--help, -h 显示工具帮助信息和退出--url=URL, -u 远程webshell的URL地址--lport=LOCAL_PORT, -l 本地监听端口--verbose, -v Verbose模式--buffer=BUFFERSIZE, -b BUFFERSIZE*  设置HTTP请求大小(向右滑动,查看更多)

无SOCKS选项

代码语言:javascript
复制
--no-socks, -n 不使用SOCKS代理--rport=REMOTE_PORT, -r webshell要连接的远程服务端口--addr=REMOTE_IP, -a webshell要连接的远程webshell IP地址 (默认为 127.0.0.1)

(向右滑动,查看更多)

代码语言:javascript
复制

上游代理选项

代码语言:javascript
复制
--up-proxy=UPPROXY, -x 设置上游代理 (http://proxyserver.com:3128)--auth, -A  上游代理开启身份验证(向右滑动,查看更多)

高级选项

代码语言:javascript
复制
--ping-interval=PING_DELAY, -q ping线程时间间隔 (默认为 0.5)--start-ping, -s 开始ping线程--cookie, -C 设置请求Cookie--authentication, -t  开启基础身份验证(向右滑动,查看更多)

 工具使用样例 

下列命令将在端口8000上开启一个本地SOCKS代理服务器,连接将通过HTTP进行封装,并在远程服务器解封:

代码语言:javascript
复制
python proxy.py -u http://10.3.3.1/conn.aspx -l 8000 -v

(向右滑动,查看更多)

代码语言:javascript
复制

下列命令将在端口8000上开启一个本地SOCKS代理服务器,工具将会通过一个本地代理(https://192.168.1.100:3128)建立连接,并在访问远程Tunna Webshell时要求进行身份验证:

代码语言:javascript
复制
python proxy.py -u http://10.3.3.1/conn.aspx -l 8000 -x https://192.168.1.100:3128 -A -v

(向右滑动,查看更多)

代码语言:javascript
复制

下列命令将在webshell和远程主机RDP(3389)服务之间初始化一个连接,RDP客户端可以连接localhost:4444,连接同样通过HTTP封装:

代码语言:javascript
复制
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

精彩推荐

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  关于Tunna 
  •  工具运行机制 
  •  项目架构 
  •  工具下载 
  •  工具使用 
  • (向右滑动,查看更多)
  •  工具选项 
    • 常用选项
      • 无SOCKS选项
      • (向右滑动,查看更多)
        • 上游代理选项
          • 高级选项
          •  工具使用样例 
          • (向右滑动,查看更多)
          • (向右滑动,查看更多)
          • (向右滑动,查看更多)
          •  许可证协议 
          •  项目地址 
          相关产品与服务
          多因子身份认证
          多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档