### 目标机器 Ping 不通外网,没有办法走网络层协议如何搭建隧道 **1. HTTP/HTTPS 隧道** 如果目标机器能够访问互联网上的某个网站,那么 HTTP/HTTPS 隧道就有了用武之地 - **工作原理:** 我们可以将流量伪装成正常的 **HTTP/HTTPS 请求**(例如 GET 或 POST),将其发送到攻击者控制的 Web 服务器。Web 服务器接收到请求后,再将流量转发到真正的目的地。反之亦然,通过 Web 服务器的响应将数据传回 - **工具:** - **reGeorg:** 一个经典的 HTTP 隧道工具,通过在 Web 服务器上部署一个 Web Shell,来建立 SOCKS 代理 - **Meterpreter 的 `http/https` 模块:** 在使用 Metasploit 框架时,这是一个非常方便的选项,可以直接利用 HTTP/HTTPS 协议进行反向连接 - **Tunna:** 类似于 reGeorg,但提供了更多功能和灵活性 **2. DNS 隧道** 这是最常用也是最有效的方案之一。DNS 协议通常被认为是“无害”的,很少有防火墙会完全阻止它 - **工作原理:** 我们通过将恶意流量封装在 **DNS 查询请求(A 记录、TXT 记录等)**或 **DNS 响应**中,从而建立一个隐蔽的通道。目标机器作为客户端,向攻击者控制的 DNS 服务器发起查询,而查询的域名中就携带着数据。攻击者服务器收到查询后,通过 DNS 响应将数据传回给客户端 - **工具:** - **iodine:** 一个非常经典的开源工具,支持 IPv4 over DNS - **DNSCat2:** 支持加密和更复杂的数据传输,可以模拟一个交互式的 Shell - **dnscapy:** 侧重于 DNS 数据包的解析和生成,适合自定义隧道