工具概述
Tunna是一款利用HTTP/HTTPS隧道進行TCP通信的滲透測試工具,由SECFORCE團隊開發并開源。該工具主要應用于需要繞過防火墻限制的場景,通過Webshell實現內網服務的端口轉發,特別適合在僅開放80/443端口的環境中建立TCP連接。
項目地址:GitHub - SECFORCE/Tunna: Tunna is a set of tools which will wrap and tunnel any TCP communication over HTTP. It can be used to bypass network restrictions in fully firewalled environments.
實驗環境搭建
設備 | IP地址 | 角色說明 |
---|---|---|
靶機(Win Server) | 192.168.21.2 | 部署IIS+解析aspx文件 |
攻擊機(win7) | 192.168.21.3 | 運行Tunna腳本 |
測試機(Win10) | 192.168.21.4 | RDP連接驗證 |
工具安裝與配置
-
下載工具???????
git clone https://github.com/SECFORCE/Tunna.git
cd Tunna
工具結構說明Tunna/
├── proxy.py ? ? ? ? # 客戶端主程序
├── webshells/ ? ? ? # 服務端腳本
│ ? ├── conn.aspx ? # ASP.NET版本
│ ? ├── conn.jsp ? ? # JSP版本
│ ? └── conn.php ? ? # PHP版本
└── README.md ? ? ? # 說明文檔
實戰操作步驟
第一步:部署Webshell
-
將
webshells/11.aspx
(conn.aspx)上傳至目標服務器Web目錄 -
通過瀏覽器訪問確認webshell可用:
http://192.168.21.2/11.aspx
第二步:建立端口轉發
在攻擊機上執行以下命令:
python proxy.py -u http://192.168.21.2/11.aspx ?-l 1234 ?-r 3389 ?-s -v
參數說明:
-
-u
:webshell訪問URL -
-l
:本地監聽端口 -
-r
:目標服務端口 -
-s
:啟用預檢測 -
-v
:詳細輸出模式 -
第三步:連接RDP服務
-
在Win10測試機上打開遠程桌面連接
-
輸入地址:
192.168.21.3:1234
(192.168.21.2:3389) -
使用靶機憑證
技術要點解析
1. 工作原理示意圖
2. 關鍵優勢
-
隱蔽性強:流量偽裝成正常HTTP/HTTPS通信
-
繞過限制:可在僅開放Web端口的環境中使用
-
靈活部署:支持多種Web環境(ASPX/JSP/PHP)
3. 使用限制
-
PHP兼容性差:需要目標開啟socket模塊
-
性能損耗大:HTTP封裝導致延遲增加
-
穩定性問題:長時間連接可能自動斷開
防御檢測建議
1. 檢測指標
-
異常的HTTP Content-Length波動
-
非標準HTTP交互模式
-
高頻長連接請求
-
Web進程異常網絡連接
2. 防御措施
替代方案對比
工具名稱 | 協議支持 | 隱蔽性 | 適用場景 | 安裝復雜度 |
---|---|---|---|---|
Tunna | HTTP | ★★★☆ | 老舊系統 | 低 |
Chisel | TCP/HTTP | ★★☆☆ | 現代網絡 | 中 |
FRP | 多協議 | ★★☆☆ | 高性能 | 高 |
Ngrok | HTTP/TLS | ★★★★ | 云環境 | 低 |
總結與建議
Tunna作為一款經典的HTTP隧道工具,在特定環境下仍具有實用價值:
適用場景:
-
目標系統較舊(.NET/JSP環境)
-
網絡限制嚴格(僅開放Web端口)
-
需要快速建立臨時通道
使用建議:
-
優先嘗試ASPX/JSP版本
-
添加
-s
參數提高連接穩定性 -
配合Proxychains增強隱蔽性
-
完成操作后及時清理webshell
防御建議:
-
實施嚴格的Web文件監控
-
配置WAF檢測異常HTTP隧道特征
-
對管理服務實施多因素認證
-
定期審計服務器網絡連接
通過本文的實戰演示,我們可以看到Tunna工具在內網滲透中的獨特價值,同時也提醒防御方需要加強對HTTP隧道的檢測能力。