红日靶场VulnStack 1环境搭建实战:从零构建3靶机+Kali的VMware攻防拓扑
环境搭建的价值与挑战
当安全爱好者初次接触内网渗透时,最大的障碍往往不是漏洞利用技术本身,而是复杂的环境配置。红日安全团队设计的VulnStack系列靶场,完美复现了企业内网中常见的域环境架构,其中VulnStack 1作为入门级靶场,包含Win7(双网卡)、Win2003、Server 2008三台靶机以及Kali攻击机。与单机靶场不同,这类多机互联环境需要精确的网络配置,这也是80%的初学者在复现渗透流程时遭遇失败的首要原因。
我在首次搭建该环境时,曾因网卡模式配置错误导致内网通信失败,花费数小时排查才发现是VMnet1的子网地址与靶机IP段不匹配。本文将系统性地解决以下核心问题:
- 如何正确规划NAT/仅主机模式混合网络
- 双网卡靶机的路由表配置要点
- phpStudy服务启动失败的6种修复方案
- 全网互通性测试的完整checklist
1. 靶机网络拓扑设计与配置
1.1 网络架构规划
红日VulnStack 1的标准网络拓扑需实现以下通信要求:
- Kali攻击机通过NAT模式访问互联网(用于工具下载)
- Win7边界服务器同时连接外网(NAT)和内网(仅主机模式)
- Win2003/Win2008仅允许内网通信(仅主机模式)
推荐采用如下IP分配方案:
| 主机角色 | 网卡1(仅主机) | 网卡2(NAT) | 备注 |
|---|---|---|---|
| Kali攻击机 | - | 自动获取 | 单网卡 |
| Win7边界服务器 | 192.168.52.143 | 192.168.1.10 | 需手动配置双网卡 |
| Win2003域成员 | 192.168.52.141 | - | 单网卡 |
| Win2008域控 | 192.168.52.138 | - | 固定为.138地址 |
注意:VMware虚拟网络编辑器中的VMnet1(仅主机模式)子网必须设置为192.168.52.0/24,否则会导致内网通信异常。
1.2 分步配置指南
1.2.1 VMware虚拟网络设置
- 打开VMware菜单栏的"编辑"→"虚拟网络编辑器"
- 选择VMnet1,取消勾选"使用本地DHCP服务"
- 将子网IP设置为192.168.52.0,子网掩码255.255.255.0
- 确认NAT模式的VMnet8子网与Win7外网IP(192.168.1.10)同段
# 验证网络配置的命令(在物理机执行) ping 192.168.52.143 # 测试与Win7内网卡连通性 arp -a | findstr 52 # 检查ARP表项是否正确1.2.2 靶机网卡配置
Win7双网卡配置流程:
- 右键Win7虚拟机→设置→添加网络适配器
- 适配器1选择"仅主机模式(VMnet1)"
- 适配器2选择"NAT模式(VMnet8)"
- 进入Win7系统后,执行以下命令确认IP分配:
# 查看网络接口配置 ipconfig /all # 验证路由表(应存在192.168.52.0和192.168.1.0的路由) route print域控服务器特殊配置:
- Win2008启动后需检查域服务是否正常:
Get-Service | findstr "DNS|Netlogon" # 关键服务状态检查 nltest /dsgetdc:god.org # 测试域控制器发现2. 常见故障排除手册
2.1 phpStudy启动异常解决方案
当Win7上的phpStudy无法启动Apache/MySQL时,按以下顺序排查:
路径权限问题
# 以管理员身份重置目录权限 icacls C:\phpStudy /grant "Administrator:(OI)(CI)F"端口冲突检测
netstat -ano | findstr ":80|:3306" taskkill /PID 冲突PID /F服务注册修复
# 重新注册服务 sc delete Apache C:\phpStudy\Apache\bin\httpd.exe -k install配置文件校验
# 检查httpd.conf关键参数 grep -E "Listen|ServerName" C:/phpStudy/Apache/conf/httpd.conf
2.2 全网互通性测试清单
完成配置后必须验证以下通信链路:
| 源主机 | 目标主机 | 测试方法 | 预期结果 |
|---|---|---|---|
| Kali | Win7外网IP | ping 192.168.1.10 | 通 |
| Win7内网卡 | Win2003 | ping 192.168.52.141 -t | 通 |
| Win2008 | Win7内网IP | Test-NetConnection 192.168.52.143 -Port 445 | 通 |
| 物理机 | Win7外网IP | 浏览器访问http://192.168.1.10 | 显示phpStudy页面 |
典型问题:若Win2003无法访问Win2008,需检查防火墙规则:
netsh advfirewall set allprofiles state off
3. 渗透环境优化技巧
3.1 Kali工具预配置
# 更新软件源并安装常用工具 sudo apt update && sudo apt install -y \ seclists gobuster responder \ bloodhound neo4j3.2 靶机系统调优
关闭不必要的安全防护:
# 在所有Windows靶机执行 Set-MpPreference -DisableRealtimeMonitoring $true reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f启用日志记录(用于后续分析):
# 配置 PowerShell 日志 New-Item -Path HKLM:\Software\Policies\Microsoft\Windows\PowerShell -Name Transcription -Force Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\PowerShell\Transcription -Name EnableTranscripting -Value 14. 网络拓扑可视化与文档化
使用以下命令生成网络拓扑图(需安装Graphviz):
# 生成DOT语言描述的拓扑图 cat > topology.dot <<EOF digraph G { rankdir=LR; node [shape=box]; Kali -> "Win7(外网)" [label="NAT"]; "Win7(内网)" -> Win2003; "Win7(内网)" -> Win2008; Win2003 -> Win2008 [label="域通信"]; } EOF # 转换为PNG图像 dot -Tpng topology.dot -o topology.png建议保存以下关键信息到env_notes.md:
## 凭证汇总 - 所有Windows初始密码:`hongrisec@2019` - phpMyAdmin账号:`root/root` ## 重要路径 - Web根目录:`C:\phpStudy\WWW` - 域控SYSVOL共享:`\\192.168.52.138\SYSVOL`5. 环境验证与后续学习
完成搭建后,建议执行基础渗透测试验证环境:
- 使用Kali对Win7外网IP进行端口扫描
nmap -sV -T4 192.168.1.10 - 尝试弱口令登录phpMyAdmin
- 测试内网主机的SMB服务枚举
crackmapexec smb 192.168.52.0/24
这套环境最精妙之处在于完整模拟了企业网络中的"边界突破-横向移动-权限提升"链条。当遇到配置问题时,建议先检查:
- VMware虚拟网络编辑器的子网配置
- 各靶机的防火墙状态
- 域控的DNS服务是否正常解析
记住,好的开始是成功的一半。一个稳定还原的靶场环境,能让后续的渗透学习事半功倍。