2. 演练环境搭建:虚拟化平台选择、靶机与攻击机部署、网络拓扑设计与隔离

环境搭建这事儿,说简单也简单,说复杂能折腾你一整天。我见过不少新手一上来就开干,结果打到一半发现网络不通,或者靶机被宿主机防火墙干掉了——嗯,这种坑我踩过不止一次。

咱们这一章,就把环境搭建的底裤扒干净。你跟着我的节奏走,半小时内就能拉起一套能打能防的演练场。

2.1 虚拟化平台怎么选?VMware vs VirtualBox

先解决第一个问题:用哪个虚拟机软件?

我个人习惯用 VMware Workstation Pro。原因很简单:稳定、快、网络配置灵活。尤其是做红蓝对抗时,需要频繁切换网段、做端口转发,VMware 的虚拟网络编辑器比 VirtualBox 顺手太多。

但 VirtualBox 也不是不能用。它免费、开源,轻量级场景完全够。我曾在一次内部培训中用 VirtualBox 搭了 20 台虚拟机,跑了三天没崩——当然,那是纯内网环境,没有高并发流量。

对比项 VMware Workstation Pro VirtualBox
性能 高,3D 加速好 中等,适合轻量
网络配置 虚拟网络编辑器,支持多网段 仅 NAT/桥接/内部网络
快照/克隆 支持完整/链接克隆 支持快照,克隆需手动
价格 商业授权 免费
适用场景 复杂拓扑、高负载演练 个人学习、简单测试
我的建议:如果你手头有 VMware 授权,直接用 VMware。没有的话,VirtualBox 也能跑,但记得把虚拟机的内存和 CPU 调大一点——尤其是攻击机,跑扫描工具时内存吃得很凶。

2.2 靶机与攻击机部署

环境选好了,接下来就是装系统。咱们这次演练需要三类机器:

  • 攻击机:Kali Linux 2024.x,装好全套渗透工具
  • 靶机:Windows Server 2019 + 常见漏洞服务(如 SMB、RDP、Web 应用)
  • 辅助机:Ubuntu 22.04,用来跑监控、日志收集和跳板

部署步骤其实不复杂,但有几个细节你一定要注意:

  1. Kali 安装后第一件事:apt update && apt full-upgrade -y。我遇到过有人拿着三年前的 Kali 镜像来打演练,结果 MS17-010 的 exploit 都跑不起来——工具版本太旧了。
  2. 靶机要关闭 Windows Defender 实时保护。不然你刚上传一个 payload,它就被吞了。演练嘛,咱们要的是可控环境,不是真实对抗。
  3. 快照一定要打。每配置好一个阶段,就打一个快照。我曾经手滑把靶机的网卡配置删了,还好有快照,三秒恢复。

避坑指南:我曾经在部署靶机时,忘了关闭 Windows 防火墙,结果从 Kali 发起的 SMB 扫描全部被拦截。排查了半小时才发现——嗯,从那以后我每次部署完第一件事就是 netsh advfirewall set allprofiles state off。

2.3 网络拓扑设计与隔离

网络拓扑是演练的骨架。设计得好,你打起来行云流水;设计得烂,你连 ARP 包都发不出去。

咱们这次采用 三层隔离拓扑:

  • 管理网段(192.168.100.0/24):宿主机 + 管理工具,不参与攻击流量
  • 攻击网段(192.168.200.0/24):Kali 攻击机所在,可以发起扫描和渗透
  • 靶标网段(192.168.201.0/24):靶机 + 辅助机,只接受来自攻击网段的流量

为什么要这么隔离?说白了,就是防止攻击流量误伤到宿主机,也防止靶机被外部网络扫描到。你想想看,如果靶机直接桥接到物理网络,隔壁工位的同事可能无意间扫到你的漏洞环境——那演练就变味了。

下面这张图展示了咱们的网络拓扑结构:

三层隔离网络拓扑图 三层隔离网络拓扑 管理网段 192.168.100.0/24 宿主机 (100.10) 管理工具 (100.20) 攻击网段 192.168.200.0/24 Kali 攻击机 (200.10) 靶标网段 192.168.201.0/24 Win Server 2019 (201.10) Ubuntu 辅助机 (201.20) 流量隔离说明 • 管理网段与攻击/靶标网段完全隔离,宿主机不受攻击流量影响 • 攻击网段可主动访问靶标网段,但靶标网段不能反向访问攻击网段 • 所有跨网段流量经过虚拟路由器(VMware 虚拟网络编辑器配置) 注:实际演练中可根据需要增加跳板机网段或 DMZ 区域

2.4 网络隔离的具体配置

在 VMware 里实现这个拓扑,核心是 虚拟网络编辑器。操作步骤我列一下:

  1. 打开 VMware → 编辑 → 虚拟网络编辑器
  2. 添加两个仅主机模式(Host-Only)网络:VMnet2(攻击网段)、VMnet3(靶标网段)
  3. 配置子网 IP:VMnet2 设为 192.168.200.0,VMnet3 设为 192.168.201.0
  4. 取消勾选「DHCP 服务」——咱们手动配静态 IP,更可控
  5. 将 Kali 的网卡绑定到 VMnet2,靶机和辅助机绑定到 VMnet3
注意:仅主机模式默认不允许虚拟机访问物理网络。如果你需要从 Kali 下载工具,可以临时加一块 NAT 网卡,但演练开始前一定要拔掉——否则你的攻击流量可能泄露到外网。

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

# 在 Kali 上 ping 靶机
ping 192.168.201.10

# 在靶机上 ping Kali(应该不通,因为隔离策略)
ping 192.168.200.10

# 在宿主机上 ping 两个网段(应该都不通)
ping 192.168.200.10
ping 192.168.201.10

如果 Kali 能 ping 通靶机,但靶机 ping 不通 Kali,说明隔离生效了。这就是咱们要的效果——攻击单向可控。

2.5 环境验证清单

环境搭完别急着开打,先跑一遍验证清单。我每次演练前都会过一遍这个表:

检查项 预期结果 验证方法
Kali 能访问靶机 445 端口 连接成功 nc -zv 192.168.201.10 445
靶机防火墙已关闭 所有端口开放 netsh advfirewall show allprofiles
宿主机无法访问靶机 超时或拒绝 ping 192.168.201.10
快照已创建 至少 2 个快照 VMware 快照管理器
工具版本更新 Kali 工具为最新 apt list --upgradable
小技巧:验证清单可以写成脚本,一键执行。我习惯在 Kali 上放一个 check_env.sh,跑完直接输出结果——省得每次手动敲命令。

环境搭好了,网络通了,快照打了。接下来咱们就可以进入真正的攻防环节了。记住,环境是演练的基石,别嫌麻烦——你在这里多花十分钟,后面能省两个小时。