脱离C2的自动路由,实战中如何将4以上层内网的穿透,4dnat+新版frp+proxifier使用
字数 1171 2025-08-22 12:22:42
多层内网穿透技术实战指南
1. 实验环境概述
本实验旨在演示如何在不使用C2工具自带路由功能的情况下,通过多种技术组合实现4层内网穿透,将内网服务(Windows Server 2016的8000端口HTTP服务)代理到外部网络。
1.1 网络拓扑
- IP1: 192.168.239.137 (模拟公网出口IP)
- 4台主机均已关闭防火墙
1.2 防火墙关闭命令
Windows系统:
netsh advfirewall set allprofiles state off
Linux系统(Ubuntu):
ufw disable
1.3 使用工具
- 4dnat
- frp-0.53.2
- Proxifier
2. 方法一:纯FRP多层穿透
2.1 网络路径
外网出口Win2016(frps1) → Ubuntu(frpc1,frps2) → Win2008(frpc2) → Win2016:8000
2.2 配置文件
frps1.toml (外网出口Win2016):
bindPort = 7000
frpc1.toml (Ubuntu):
serverAddr = "192.168.100.155" # 服务端IP
serverPort = 7000
[[proxies]]
name = "plugin_socks5"
type = "tcp"
remotePort = 10000
[proxies.plugin]
type = "socks5"
frps2.toml (Ubuntu):
bindPort = 7000
frpc2.toml (Win2008):
serverAddr = "192.168.88.100" # 服务端IP
serverPort = 7000
[[proxies]]
name = "plugin_socks5"
type = "tcp"
remotePort = 10000
[proxies.plugin]
type = "socks5"
3. 方法二:4dnat+FRP组合穿透
3.1 网络路径
外网出口Win2016(4dnat-socks5) → Ubuntu(frps) → Win2008(frpc) → Win2016:8000
3.2 配置步骤
-
外网出口Win2016:
4dnat.exe -proxy socks5 10000 -
Ubuntu (frps.toml):
bindPort = 7000 -
Win2008 (frpc.toml):
serverAddr = "192.168.88.100" # 服务端IP serverPort = 7000 [[proxies]] name = "plugin_socks5" type = "tcp" remotePort = 11080 [proxies.plugin] type = "socks5" -
Win2016 (域控):
python -m http.server
4. 方法三:netsh+FRP组合穿透
4.1 网络路径
外网出口Win2016(frps) → Ubuntu(frpc) → Win2008(netsh-7777) → Win2016:8000
4.2 配置步骤
-
Win2008 (netsh端口转发):
netsh interface portproxy add v4tov4 listenport=7777 connectaddress=10.0.10.10 connectport=8000 -
Ubuntu (frpc.toml):
serverAddr = "192.168.100.155" # 服务端IP serverPort = 7000 [[proxies]] name = "plugin_socks5" type = "tcp" remotePort = 10000 [proxies.plugin] type = "socks5"
5. 攻击机配置
5.1 Proxifier设置
- 创建代理链,注意代理链的顺序
- 在Proxification Rules中,Action选择创建的代理链
- 通过Chrome浏览器访问目标服务
5.2 验证
成功访问后,Proxifier会显示代理流量。
6. 关键点总结
- 多层穿透原理:通过逐级建立SOCKS5代理或端口转发,实现内网服务的逐层穿透
- 工具选择:
- FRP用于建立稳定的反向代理通道
- 4dnat提供轻量级SOCKS5代理服务
- netsh用于Windows系统的端口转发
- 配置要点:
- 每级代理需要正确配置上游和下游地址
- 确保各级防火墙已关闭
- 代理链顺序必须正确
- 适用场景:
- 无法使用C2自动路由功能的环境
- 需要稳定持久的内网穿透
- 多层网络环境下的服务暴露
通过以上三种方法的组合使用,可以灵活应对不同网络环境下的内网穿透需求,实现内网服务的有效暴露和访问。