双虚拟机配置代理方案

[红队架构] 双虚拟机隐匿网关 (Gateway VM) 搭建实战笔记

1. 前言:为何需要“透明网关”?

背景与痛点:

在早期的渗透测试中,我们常依赖浏览器插件(如 Proxy SwitchyOmega)或本机的代理软件系统代理。但在实战中发现两大隐患:

  1. 覆盖不全: 浏览器插件无法代理命令行工具(如 ping, nmap 的 ICMP/UDP 流量)。即便开启系统代理,某些不走系统代理配置的底层流量仍会直连,导致真实 IP 泄漏(例如 ip138 在某些模式下仍显示本地 IP)。
  2. 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)

目标: 创建一个没有物理出口的虚拟交换机。

  1. 创建 LAN 区段: 打开 VMware -> 虚拟机设置 -> LAN 区段 -> 添加名为 RedTeam_Intranet 的区段。
  2. 网络规划:
    • 网关机 (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:

  1. 节点: 添加并订阅节点,确保节点连接测试通过。
  2. 基本设置 (关键):
    • TCP/UDP 均选择 全局模式 (Global)
    • 注:红队环境不建议使用 GFWList 分流,以免误判国内目标导致直连暴露。
  3. DNS 设置:
    • 过滤模式:通过 TCP/UDP 节点解析
    • 远程 DNS:8.8.8.81.1.1.1
  4. 访问控制 (ACL):
    • 确保内网网段 (10.10.10.x) 的默认代理模式也是 全局

5. 验证与排查 (Don't Trust, Verify)

在攻击机 (Kali) 中执行以下检查,全部通过才算合格:

  1. 连通性检查:
    • ping 10.10.10.1 -> 通 (内网正常)。
    • ping 8.8.8.8 -> 通 (网关转发正常)。
  2. 隐匿性检查:
    • curl ipinfo.iocurl cip.cc -> 必须显示代理节点 IP (非本地 IP)。
    • 若提示 "Rate limit" 通常也意味着代理已生效(共享 IP 请求过多)。
  3. DNS 泄漏检查:
    • 访问 dnsleaktest.com -> ISP 应显示为 Google 或 Cloudflare,不能出现中国运营商。

6. 扩展应用

一旦网关搭建完成,扩展红队设施非常简单:

  • 新增靶机/分析机: 只需新建虚拟机 -> 放入 RedTeam_Intranet -> 指向网关 10.10.10.1
  • 效果: 任何加入该区段的虚拟机,自动获得物理隔离与全流量隐匿能力。
posted @ 2025-11-22 21:12  踏雪xun槑  阅读(0)  评论(0)    收藏  举报