双虚拟机配置代理方案
[红队架构] 双虚拟机隐匿网关 (Gateway VM) 搭建实战笔记
1. 前言:为何需要“透明网关”?
背景与痛点:
在早期的渗透测试中,我们常依赖浏览器插件(如 Proxy SwitchyOmega)或本机的代理软件系统代理。但在实战中发现两大隐患:
- 覆盖不全: 浏览器插件无法代理命令行工具(如
ping,nmap的 ICMP/UDP 流量)。即便开启系统代理,某些不走系统代理配置的底层流量仍会直连,导致真实 IP 泄漏(例如ip138在某些模式下仍显示本地 IP)。 - OpSec 风险: 攻击机与物理机共用网络环境,若攻击机中招,恶意软件可能回连物理机所在局域网。
解决方案:
引入 Gateway VM (网关虚拟机) 架构,通过虚拟化技术构建“物理隔离”的透明代理环境,强制攻击机的所有流量经过网关机加密转发。
2. 架构原理
核心拓扑:
攻击机 VM (Kali/Win) <--> [虚拟局域网 LAN Segments] <--> 网关 VM (OpenWrt) <--> [NAT模式] <--> 宿主机 <--> 互联网
方案优势:
- 强制全局 (Force Global): 攻击机无需配置任何代理软件,只需指向网关,所有流量(TCP/UDP/ICMP)自动透明经过代理。
- 环境隔离 (Isolation): 攻击机位于封闭的虚拟 LAN 中,即使遭受反制或感染木马,回连 IP 也是代理节点的 IP,且无法直接访问宿主机所在物理内网。
- 防泄漏 (Leak Protection): 配合 Passwall/Whonix 等工具,可有效防止 DNS、WebRTC 及底层 Ping 流量泄漏。
3. 代理方案分级对比
在构建环境时,我们通常有以下几种选择,安全性依次递增:
| 级别 | 方案名称 | 技术特点 | 适用场景 | 缺陷 |
|---|---|---|---|---|
| L1 | 浏览器插件/应用代理 | 仅接管 HTTP/S 流量 | 简单的 Web 浏览、Burp 抓包 | 无法代理命令行/底层流量;DNS 易泄漏。 |
| L2 | 本机系统代理/TUN | 接管操作系统大部分流量 | 物理机日常使用 | 依赖宿主机环境,不具备隔离性。 |
| L3 | 透明网关 (双虚拟机) | 接管虚拟网线上的所有信号 | 红蓝对抗、高隐匿渗透 | 配置稍繁琐,但安全性最高 (OpSec 最佳实践)。 |
4. 实战搭建指南
4.1 环境准备 (VMware)
目标: 创建一个没有物理出口的虚拟交换机。
- 创建 LAN 区段: 打开 VMware -> 虚拟机设置 ->
LAN 区段-> 添加名为RedTeam_Intranet的区段。 - 网络规划:
- 网关机 (OpenWrt): 双网卡。网卡1 (NAT) 连接外网;网卡2 (LAN区段) 连接内网。
- 工作机 (Kali/Win): 单网卡。仅连接 (LAN区段)。
- 内网网段:
10.10.10.0/24(示例)
4.2 部署 OpenWrt 网关 (Gateway VM)
1. 固件处理:
- 下载: 推荐
eSir 高大全版(x86_64 EFI)。 - 转换: 使用 StarWind V2V Converter 将
.img转换为 VMware 专用的.vmdk格式。
2. 虚拟机硬件配置:
- OS: Linux 5.x kernel 64-bit。
- 网卡 1 (eth0): NAT 模式 (用于出网)。
- 网卡 2 (eth1): LAN 区段 ->
RedTeam_Intranet(用于内网服务)。 - 网络接口配置 (核心难点):
启动 OpenWrt,执行 vi /etc/config/network,修正网卡映射关系(确保 eth0 对应 WAN,eth1 对应 LAN):
Bash
# 编辑配置:vi /etc/config/network
# --- LAN 接口 (内网网关) ---
config interface 'lan'
option type 'bridge'
option ifname 'eth1' # 绑定到 LAN 区段网卡
option proto 'static'
option ipaddr '10.10.10.1' # 设置网关 IP
option netmask '255.255.255.0'
# --- WAN 接口 (外网出口) ---
config interface 'wan'
option ifname 'eth0' # 绑定到 NAT 网卡
option proto 'dhcp' # 自动获取 VMware NAT IP
修改完成后执行 reboot 重启。
4.3 部署工作机 (Workstation VM)
1. 硬件设置:
- 网卡设置为 LAN 区段 ->
RedTeam_Intranet。 - 网络配置 (静态 IP):
在 Kali 或 Windows 中手动设置 IPv4:
- IP 地址:
10.10.10.100(同网段即可) - 网关:
10.10.10.1(指向 OpenWrt) - DNS:
10.10.10.1(防止 DNS 泄漏)
4.4 代理服务配置 (Passwall)
登录 OpenWrt 后台 (http://10.10.10.1),进入 Passwall:
- 节点: 添加并订阅节点,确保节点连接测试通过。
- 基本设置 (关键):
- TCP/UDP 均选择 全局模式 (Global)。
- 注:红队环境不建议使用 GFWList 分流,以免误判国内目标导致直连暴露。
- DNS 设置:
- 过滤模式:通过 TCP/UDP 节点解析。
- 远程 DNS:
8.8.8.8或1.1.1.1。
- 访问控制 (ACL):
- 确保内网网段 (
10.10.10.x) 的默认代理模式也是 全局。
- 确保内网网段 (
5. 验证与排查 (Don't Trust, Verify)
在攻击机 (Kali) 中执行以下检查,全部通过才算合格:
- 连通性检查:
ping 10.10.10.1-> 通 (内网正常)。ping 8.8.8.8-> 通 (网关转发正常)。
- 隐匿性检查:
curl ipinfo.io或curl cip.cc-> 必须显示代理节点 IP (非本地 IP)。- 若提示 "Rate limit" 通常也意味着代理已生效(共享 IP 请求过多)。
- DNS 泄漏检查:
- 访问 dnsleaktest.com -> ISP 应显示为 Google 或 Cloudflare,不能出现中国运营商。
6. 扩展应用
一旦网关搭建完成,扩展红队设施非常简单:
- 新增靶机/分析机: 只需新建虚拟机 -> 放入
RedTeam_Intranet-> 指向网关10.10.10.1。 - 效果: 任何加入该区段的虚拟机,自动获得物理隔离与全流量隐匿能力。

浙公网安备 33010602011771号