VMware vCenter 后渗透利用技术详解
0x00 前言
本文记录了一次针对VMware vCenter系统的完整渗透测试过程,从初始入口获取到最终域控权限的完整技术链。涉及Confluence漏洞利用、Linux提权、vCenter漏洞利用、虚拟机克隆技术以及Windows域控密码提取等多个技术环节。
0x01 Confluence漏洞利用
1.1 CVE-2022-26134漏洞利用
目标系统存在Confluence Server的CVE-2022-26134漏洞(OGNL表达式注入漏洞),可直接用于获取初始shell:
- 验证漏洞存在性
- 使用漏洞利用脚本反弹shell到攻击者VPS
- 获取低权限shell(通常为
www-data或confluence用户)
1.2 Linux提权(CVE-2021-4034)
在获取低权限shell后,进行系统信息收集:
uname -a
cat /etc/issue
发现系统为CentOS,利用Polkit本地提权漏洞(CVE-2021-4034):
- 将漏洞利用代码上传到目标系统
- 编译并执行提权代码
- 成功获取root权限
注意:提权过程中发现系统存在门罗币挖矿痕迹,表明系统已被其他攻击者入侵。
0x02 内网信息收集与扫描
2.1 网络拓扑发现
获取root权限后,进行内网扫描:
ifconfig
ip route
arp -a
发现两个有效子网:
- 192.168.122.1/24(仅发现当前使用IP)
- 10.110.11.1/24(发现多台活跃主机)
2.2 关键资产发现
扫描10.110.11.1/24网段发现:
- 域控制器(DC):10.110.11.10(主机名a1-dc)
- vCenter服务器:10.110.11.30(存在CVE-2021-21972漏洞)
0x03 vCenter漏洞利用
3.1 版本识别
cat /etc/vmware-vpx/version
确认vCenter版本为6.7.2,存在多个已知漏洞。
3.2 CVE-2021-22005漏洞利用
虽然扫描显示存在CVE-2021-21972漏洞,但实际测试发现更严重的CVE-2021-22005漏洞:
- 上传漏洞利用脚本到目标系统
- 验证漏洞存在性
- 上传Webshell(蚁剑马)
- 获取root权限的交互式shell
注意:哥斯拉马可能无法连接,建议使用蚁剑并忽略HTTPS证书验证。
3.3 获取vCenter管理权限的三种方法
方法一:从mdb文件提取证书(失败)
-
定位vmdir数据库文件:
/storage/db/vmware-vmdir/data.mdb -
尝试本地解密:
python3 vcenter_saml_extract.py /storage/db/vmware-vmdir/data.mdb -
失败原因:mdb文件过大(>1GB),处理过程中出错
方法二:添加管理用户(失败)
-
添加新用户:
python3 vCenterLDAP_Manage.py -u newadmin -p Password123! -r Administrator -i 10.110.11.30 --action adduser -
将用户添加到管理组:
python3 vCenterLDAP_Manage.py -u newadmin -p Password123! -r Administrator -i 10.110.11.30 --action addgroup -
失败原因:添加到管理组时出现错误
方法三:重置管理员密码(成功)
-
查询vCenter域名:
/usr/lib/vmware-vmafd/bin/vmafd-cli get-domain-name --server-name localhost -
使用vdcadmintool重置密码:
/usr/lib/vmware-vmdir/bin/vdcadmintool选择选项3,输入用户名(如
Administrator@vsphere.local) -
使用新密码登录vCenter Web管理界面
0x04 域控Hash获取技术
在vCenter管理界面发现域控制器(DC)虚拟机,尝试获取其Hash。
4.1 快照下载分析法
- 对DC虚拟机创建快照
- 定位快照文件存储位置
- 下载.vmem内存文件到本地
- 使用Volatility分析内存获取Hash
缺点:下载大文件耗时过长,不适合实战环境
4.2 虚拟机克隆破解法
4.2.1 上传Kon-Boot ISO
- 下载Kon-Boot ISO(老版本更稳定)
- 通过vCenter Web界面上传ISO文件
4.2.2 克隆DC虚拟机
- 右键DC虚拟机选择"Clone to Virtual Machine"
- 命名克隆虚拟机(如DC_Clone)
- 存储选择与原始DC相同的存储桶
- 取消勾选网络适配器(避免网络冲突)
- 完成克隆(耗时1至数分钟)
4.2.3 配置并启动克隆机
-
编辑克隆虚拟机设置:
- 添加CD/DVD驱动器(如不存在)
- 挂载Kon-Boot ISO文件
-
启动虚拟机并进入BIOS:
- 调整启动顺序(CD优先)
- F10保存设置
-
使用Kon-Boot绕过密码:
- 5次Shift键进入特殊模式
- 创建新本地管理员账户
限制:Windows 10/Server 2016以上系统无法直接置空密码
4.2.4 制作Hash提取ISO
- 使用UltraISO制作包含mimikatz的ISO
- 关机替换Kon-Boot ISO为mimikatz ISO
- 重启克隆虚拟机抓取Hash
0x05 域控Hash提取技术
5.1 注册表提取法
在克隆的DC虚拟机上:
-
导出关键注册表:
reg save HKLM\SYSTEM system.hiv reg save HKLM\SAM sam.hiv reg save HKLM\SECURITY security.hiv -
使用mimikatz解析:
mimikatz.exe "lsadump::sam /system:system.hiv /sam:sam.hiv" exit -
获取原始DC的域管理员Hash
5.2 注意事项
- 该方法只能获取未登录用户的Hash
- 对当前登录用户需要其他技术(如LSASS内存dump)
- 在实战中需考虑杀软防护(Windows Defender相对宽松)
0x06 总结与防御建议
攻击链总结
- Confluence Web漏洞(CVE-2022-26134)→ 初始访问
- Linux提权(CVE-2021-4034)→ 获取root权限
- 内网扫描 → 发现vCenter和DC
- vCenter漏洞(CVE-2021-22005)→ 获取vCenter控制权
- 虚拟机克隆技术 → 绕过DC认证
- 注册表提取 → 获取域管理员Hash
防御建议
-
Confluence防护:
- 及时更新Confluence到最新版本
- 限制Confluence服务器的网络访问
-
Linux系统加固:
- 定期更新内核和安全补丁
- 限制root权限和SUID程序
-
vCenter防护:
- 保持vCenter版本更新
- 限制vCenter管理界面的访问IP
- 启用多因素认证
-
虚拟化环境安全:
- 严格控制虚拟机克隆权限
- 监控虚拟机异常操作(如快照创建)
- 启用VMware vCenter Hardening Guide推荐配置
-
域控制器防护:
- 启用Credential Guard
- 限制域控制器的虚拟化操作
- 监控异常认证活动
本案例展示了从外部Web应用到最终域控权限的完整攻击路径,强调了边界应用安全、权限管理和虚拟化环境安全的重要性。