Tunna工具实战:基于HTTP隧道的RDP端口转发技术

发布于:2025-06-13 ⋅ 阅读:(18) ⋅ 点赞:(0)

工具概述

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连接验证

工具安装与配置

  1. 下载工具​​​​​​​

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

  1. webshells/11.aspx(conn.aspx)上传至目标服务器Web目录

  2. 通过浏览器访问确认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服务

  1. 在Win10测试机上打开远程桌面连接

  2. 输入地址:192.168.21.3:1234(192.168.21.2:3389)

  3. 使用靶机凭证

技术要点解析

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端口)

  • 需要快速建立临时通道

使用建议

  1. 优先尝试ASPX/JSP版本

  2. 添加-s参数提高连接稳定性

  3. 配合Proxychains增强隐蔽性

  4. 完成操作后及时清理webshell

防御建议

  1. 实施严格的Web文件监控

  2. 配置WAF检测异常HTTP隧道特征

  3. 对管理服务实施多因素认证

  4. 定期审计服务器网络连接

通过本文的实战演示,我们可以看到Tunna工具在内网渗透中的独特价值,同时也提醒防御方需要加强对HTTP隧道的检测能力。