2. 演练环境搭建:虚拟化平台选择、靶机与攻击机部署、网络拓扑设计与隔离
环境搭建这事儿,说简单也简单,说复杂能折腾你一整天。我见过不少新手一上来就开干,结果打到一半发现网络不通,或者靶机被宿主机防火墙干掉了——嗯,这种坑我踩过不止一次。
咱们这一章,就把环境搭建的底裤扒干净。你跟着我的节奏走,半小时内就能拉起一套能打能防的演练场。
2.1 虚拟化平台怎么选?VMware vs VirtualBox
先解决第一个问题:用哪个虚拟机软件?
我个人习惯用 VMware Workstation Pro。原因很简单:稳定、快、网络配置灵活。尤其是做红蓝对抗时,需要频繁切换网段、做端口转发,VMware 的虚拟网络编辑器比 VirtualBox 顺手太多。
但 VirtualBox 也不是不能用。它免费、开源,轻量级场景完全够。我曾在一次内部培训中用 VirtualBox 搭了 20 台虚拟机,跑了三天没崩——当然,那是纯内网环境,没有高并发流量。
| 对比项 | VMware Workstation Pro | VirtualBox |
|---|---|---|
| 性能 | 高,3D 加速好 | 中等,适合轻量 |
| 网络配置 | 虚拟网络编辑器,支持多网段 | 仅 NAT/桥接/内部网络 |
| 快照/克隆 | 支持完整/链接克隆 | 支持快照,克隆需手动 |
| 价格 | 商业授权 | 免费 |
| 适用场景 | 复杂拓扑、高负载演练 | 个人学习、简单测试 |
2.2 靶机与攻击机部署
环境选好了,接下来就是装系统。咱们这次演练需要三类机器:
- 攻击机:Kali Linux 2024.x,装好全套渗透工具
- 靶机:Windows Server 2019 + 常见漏洞服务(如 SMB、RDP、Web 应用)
- 辅助机:Ubuntu 22.04,用来跑监控、日志收集和跳板
部署步骤其实不复杂,但有几个细节你一定要注意:
- Kali 安装后第一件事:
apt update && apt full-upgrade -y。我遇到过有人拿着三年前的 Kali 镜像来打演练,结果 MS17-010 的 exploit 都跑不起来——工具版本太旧了。 - 靶机要关闭 Windows Defender 实时保护。不然你刚上传一个 payload,它就被吞了。演练嘛,咱们要的是可控环境,不是真实对抗。
- 快照一定要打。每配置好一个阶段,就打一个快照。我曾经手滑把靶机的网卡配置删了,还好有快照,三秒恢复。
避坑指南:我曾经在部署靶机时,忘了关闭 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):靶机 + 辅助机,只接受来自攻击网段的流量
为什么要这么隔离?说白了,就是防止攻击流量误伤到宿主机,也防止靶机被外部网络扫描到。你想想看,如果靶机直接桥接到物理网络,隔壁工位的同事可能无意间扫到你的漏洞环境——那演练就变味了。
下面这张图展示了咱们的网络拓扑结构:
2.4 网络隔离的具体配置
在 VMware 里实现这个拓扑,核心是 虚拟网络编辑器。操作步骤我列一下:
- 打开 VMware → 编辑 → 虚拟网络编辑器
- 添加两个仅主机模式(Host-Only)网络:VMnet2(攻击网段)、VMnet3(靶标网段)
- 配置子网 IP:VMnet2 设为 192.168.200.0,VMnet3 设为 192.168.201.0
- 取消勾选「DHCP 服务」——咱们手动配静态 IP,更可控
- 将 Kali 的网卡绑定到 VMnet2,靶机和辅助机绑定到 VMnet3
配置完成后,验证网络连通性:
# 在 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 |
check_env.sh,跑完直接输出结果——省得每次手动敲命令。
环境搭好了,网络通了,快照打了。接下来咱们就可以进入真正的攻防环节了。记住,环境是演练的基石,别嫌麻烦——你在这里多花十分钟,后面能省两个小时。