Mobile wallpaper 1Mobile wallpaper 2Mobile wallpaper 3Mobile wallpaper 4Mobile wallpaper 5
1194 字
6 分钟
基于 Neo-reGeorg 的虚拟机内网穿透实验:物理机访问隔离内网 Web 服务

基于 Neo-reGeorg 的虚拟机内网穿透实验:物理机访问隔离内网 Web 服务#

声明#

  1. 本次实验使用的 Neo-reGeorg 工具,项目地址为:https://github.com/L-codes/Neo-reGeorg,更多用法详见项目官方文档;
  2. 本文仅为个人技术实验记录,工具使用需严格遵守当地法律法规,请勿用于任何未授权的网络活动,违规使用后果自负。

工具简介#

NeoReGeorg 是 ReGeorg 的优化升级版本,一款轻量级内网穿透工具,主打「隐蔽性」与「易用性」,其本质是「Web 反向代理隧道」。

核心原理:通过在目标 Web 服务器(本次实验中的虚拟机 A)部署脚本(如 tunnel.php/tunnel.aspx 等),将外网主机(物理机)的访问请求伪装成普通 Web 流量(HTTP/HTTPS),绕过防火墙对非 Web 端口的限制,间接访问目标服务器所在内网的隔离资源(本次实验中的虚拟机 B)。

核心流量流转逻辑#

本次实验的隧道链路分为 3 段,清晰呈现流量从物理机到内网主机的传输过程:

  1. 物理机应用层:浏览器等应用的请求被 Proxifier 强制转为 SOCKS5 协议,发送到本地 127.0.0.1:1080(Neo-reGeorg 客户端监听端口);
  2. 隧道传输层:Neo-reGeorg 客户端将 SOCKS5 请求加密并封装为 HTTP 请求,发送到虚拟机 A 的 tunnel.php(走 A 的 Web 服务 80 端口);
  3. 内网转发层:tunnel.php 解密还原请求,以 HTTP 原生协议转发到同一内网的 B 机(10.0.0.2:80),最终将 B 机的响应按反向流程回传给物理机浏览器。

本次实验原理图#

实验原理图

具体实验操作#

1. 实验环境搭建#

搭建两台虚拟机 A、B,分别承担不同角色:

  • 虚拟机 A:模拟公网可达的 Web 服务器,需配置两块网卡——一块选择 NAT 模式(与物理机连通),另一块添加 LAN 区段(用于与 B 机内网通信);
  • 虚拟机 B:模拟与 A 机同一内网的隔离主机,网卡选择与 A 机相同的 LAN 区段。

虚拟机 A 网卡配置 虚拟机 B 网卡配置

2. 内网 IP 配置#

为 A、B 机分配同一网段的静态 IP,确保内网连通性:

  • 虚拟机 A:IP 地址 10.0.0.1,子网掩码 255.255.255.0;
  • 虚拟机 B:IP 地址 10.0.0.2,子网掩码 255.255.0.0。

配置完成后验证网络连通性:

  • 物理机 ping 虚拟机 A 的 NAT 模式 IP(确保外网可达);
  • 物理机 ping 虚拟机 B 的内网 IP 10.0.0.2(应无法 ping 通,验证隔离效果)。

虚拟机 A IP 配置 虚拟机 B IP 配置 网络连通性测试

3. 生成 Neo-reGeorg 隧道脚本#

在物理机上运行 Neo-reGeorg 工具,生成隧道脚本:

  1. 进入工具所在文件夹,右键打开终端;
  2. 执行指令:python neoreg.py generate -k password(-k 后为自定义加密密码);
  3. 工具会生成包含多种语言脚本的文件夹,本次实验选择 tunnel.php

生成隧道脚本

4. 部署脚本并启动隧道#

  1. tunnel.php 上传到虚拟机 A 的 Web 服务根目录(模拟通过漏洞上传脚本);
  2. 在物理机终端执行连接指令:Python3 neoreg.py -k password -u http://虚拟机A的NATIP/tunnel.php
  3. 终端显示「Starting SOCKS5 server [127.0.0.1:1080]」即表示隧道启动成功,物理机本地 1080 端口开始监听 SOCKS5 请求。

启动 Neo-reGeorg 隧道

5. 配置 Proxifier 代理#

在物理机打开 Proxifier,配置 SOCKS5 代理规则,实现流量转发:

  1. 添加代理服务器:地址 127.0.0.1,端口 1080,协议 SOCKS5;
  2. 配置生效后,物理机所有应用的网络请求会被 Proxifier 拦截,强制转发到 1080 端口;
  3. Neo-reGeorg 客户端将 SOCKS5 请求加密封装为 HTTP 请求,伪装成普通 Web 流量,绕过防火墙限制访问 A 机的 tunnel.php。

Proxifier 代理配置

6. 配置 Proxifier 规则避免流量死循环#

为 Neo-reGeorg 运行进程设置直连规则,防止请求自循环:

  1. 在 Proxifier 规则列表中,添加应用规则:选择运行 Neo-reGeorg 的 Python.exe(可通过 cmd 执行 python 查看版本对应的exe路径);
  2. 动作设置为「Direct(直连)」,确保 Neo-reGeorg 向 A 机发送的 HTTP 请求跳过代理,直接通过物理机原生网络传输;
  3. 若不设置此规则,该请求会被 Proxifier 转发回 1080 端口,导致隧道卡死。

Proxifier 规则配置

7. 验证内网穿透效果#

  1. 在虚拟机 B 上启动 Web 服务(本次实验部署皮卡丘漏洞练习平台);
  2. 在物理机浏览器中输入 http://10.0.0.2(虚拟机 B 的内网 IP);
  3. 浏览器成功加载 B 机的 Web 页面,说明内网穿透成功。

内网穿透效果验证

基于 Neo-reGeorg 的虚拟机内网穿透实验:物理机访问隔离内网 Web 服务
http://124.70.202.140/posts/post-2/2/
作者
Ne+N3k_O
发布于
2025-12-16
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时