边界撕裂:内网代理穿透与隧道隐蔽技术底层推演

边界撕裂:内网代理穿透与隧道隐蔽技术底层推演

当攻击者通过 Web 漏洞(如文件上传、反序列化)在 DMZ(隔离区)的一台边缘服务器上获得了 WebShell 后,真正的内网渗透才刚刚拉开帷幕。

然而,企业内网绝非坦途。严格的防火墙(Firewall)策略通常会:

  1. 阻断外部主动连接:外网无法直接访问内网的 3389、445 端口。
  2. 限制出网端口:内网机器可能只允许通过 80、443、53 端口向外发送数据,甚至完全不出网

在这种恶劣环境下,如何将攻击者的本地工具(如 Nmap、Sqlmap、Covenant)的流量,打入深邃的内网?这就需要用到代理穿透隐蔽隧道技术


1. 代理的基础:正向与反向的博弈

在内网渗透中,代理(Proxy)是我们建立通信桥梁的核心。

1.1 正向代理 (Forward Proxy)

  • 适用场景:边缘服务器(如 Web Server)有公网 IP,且防火墙允许外部主动连接其特定端口。
  • 底层逻辑:攻击者主动连接受控机的监听端口(如 Bind Shell)。
  • 实战工具:在受控机运行 ew -s ssocksd -l 1080,攻击者使用 Proxychains 配置 socks5 [受控机IP] 1080,即可将流量打入内网。
  • 致命缺陷:现代企业防火墙几乎 100% 阻断了公网向 DMZ 非业务端口的主动入站连接,正向代理极易失效。

1.2 反向代理 (Reverse Proxy)

  • 适用场景:边缘服务器没有公网 IP(如处于 NAT 之后),或者防火墙严禁入站连接,但允许出站连接(如允许访问外网 HTTP/HTTPS)。
  • 底层逻辑:受控机主动向外“拨号”,连接攻击者的公网 VPS(如 Reverse Shell)。由于防火墙通常对“由内向外”的流量审查较松,此法成功率极高。
  • 实战工具 (FRP 推演)
    1. 攻击者 VPS (公网):运行 frps(服务端),监听 7000 端口等待受控机连接。
    2. 受控机 (内网):运行 frpc(客户端),配置向外连接 VPS_IP:7000,并将受控机本地的 SOCKS5 流量映射出去。
    3. 结果:攻击者连接自己 VPS 的某个端口,流量就会顺着这条反向建立的 TCP 连接,逆流进入企业内网。

2. 隧道技术:在协议的缝隙中潜行

当防火墙不仅限制了连接方向,还实施了深度包检测 (DPI),直接封杀了 SSH、SOCKS 等非标准协议特征时,我们就必须将恶意流量**伪装(封装)**成合法的协议流量,这就是隧道技术。

2.1 网络层:ICMP 隐蔽隧道

如果目标机器连 TCP 出网都被完全阻断,但 ping 命令还能通外网,ICMP 隧道就是最后的救命稻草。

  • 底层原理:正常 ping 请求(ICMP Echo Request)的 Data 字段通常是无用的填充数据(如 abcdefg)。攻击者修改底层网络编程,将 TCP/UDP 报文甚至系统命令,塞进 ICMP 的 Data 字段中。
  • 流量特征:防火墙只看到一台机器在疯狂地 ping 外网某台主机,殊不知数据包内暗藏玄机。
  • 实战工具PingTunnelIcmpSh
  • 防御监测:防守方可通过检测 ICMP 包的频率异常,以及 Payload 长度的极度不规律来发现。

2.2 应用层:DNS 隧道 (最隐蔽的暗网)

当企业环境处于极度严格的完全物理断网/逻辑隔离状态(不通 TCP、不通 UDP、连 Ping 都不通),但内部机器为了解析域名,必须能访问内网的 DNS 服务器时,DNS 隧道便应运而生。

  • 底层逻辑推演
    1. 攻击者注册一个公网域名 evil.com,并将其 NS 记录指向自己的 VPS。
    2. 受控机将要发送的数据(如 whoami 的结果 admin)进行 Base32 编码(变为 mfsxgz3n)。
    3. 受控机向内网 DNS 发起查询:mfsxgz3n.evil.com
    4. 内网 DNS 不认识这个域名,于是层层向上递归查询,最终把这个请求转发到了攻击者的 VPS(因为它是 evil.com 的权威名称服务器)。
    5. 攻击者的 VPS 收到请求,截取前缀 mfsxgz3n,解码得到 admin,并把下一步指令封装在 DNS TXT 响应记录中返回给受控机。
  • 实战工具IodineCobalt Strike DNS Listener
  • 威力与代价:穿透力极强,几乎无视任何网络隔离;但由于 DNS 报文长度受限(UDP 512字节),传输速度极慢,通常只用来做 C2 (Command & Control) 心跳维持,不适合大流量代理。

2.3 应用层:HTTP/HTTPS 伪装隧道

这是目前红蓝对抗中最主流的穿透方式。

  • HTTP 隧道 (Neo-reGeorg / ABPTTS):将所有内网流量封装成标准的 HTTP GET/POST 请求。攻击者将一个 ASPX/JSP 脚本(隧道服务端)上传到 Web 目录。外部攻击工具发出的请求,会被封装成普通的 HTTP 流量打给这个脚本,脚本在内存中解包,再向内网深处转发。完美绕过 80/443 端口限制。
  • HTTPS 隧道 / Domain Fronting (域前置): 为了对抗流量审计设备的特征匹配,攻击者将 C2 流量使用 TLS 加密。更高级的域前置技术,利用了 CDN(内容分发网络)的特性:
    • 在 DNS 解析和 TLS 握手阶段(SNI),显示的是合法高信誉域名(如 ajax.microsoft.com)。
    • 在 TLS 加密后的 HTTP 请求头中,Host 字段才写上攻击者在同一 CDN 厂商下注册的真实恶意域名。
    • 防守方视角:只看到内网机器与微软 CDN 建立了合法的加密连接,完全无法审查内部的真实通信节点与数据。

3. 终极推演:多级级联代理架构

在大型域环境中,核心数据区(如域控、数据库)往往深藏在内网的第三层甚至第四层,无法直接触达。这就需要构建多级级联代理

攻击架构图解: 攻击者 (Kali) -> (FRP 隧道) -> 边界 Web 服务器 (DMZ,双网卡) -> (SOCKS5 正向代理) -> 内网办公区机器 (二级跳板) -> (SMB 命名管道隧道) -> 核心域控区 (目标)

在这个过程中,每一次跳跃都伴随着协议的转换与流量的重封装。理解隧道与代理的底层网络流向,是你在黑暗内网中不迷路的第一法则。