vSphere 是 VMware 推出的虚拟化平台套件,包含 ESXi、vCenter Server 等一系列的软件。其中 vCenter Server 为 ESXi 的控制中心,可从单一控制点统一管理数据中心的所有 vSphere 主机和虚拟机。
2021年02月24日,某平台监测到 Vmware官方发布了vCenter Server安全更新,修复了vSphereClient (HTML5)在vCenter Server插件vRealizeOperations(vROps)中的一个远程代码执行漏洞(CVE-2021-21972)。CVE-2021-21972是vSphere Client(HTML5) 在 vCenter Server 插件中存在一个远程执行代码漏洞,未授权的攻击者可以通过开放 443 端口的服务器向 vCenter Server 发送精心构造的请求,写入webshell,控制服务器。
受影响版本
vCenter Server 7.0 < 7.0U1c
vCenter Server 6.7 < 6.7U3l
vCenter Server 6.5 < 6.5U3n
Cloud Foundation (vCenterServer) 4.X < 4.2
Cloud Foundation (vCenterServer) 3.X < 3.10.1.2
查看到该版本号可能存在此漏洞,于是试访问了一下漏洞点:
https://localhost/ui/vropspluginui/rest/services/uploadova
返回状态码405,则代表存在漏洞,若返回状态码为401或其他则证明无漏洞。
工具参考链接: https://github.com/NS-Sp4ce/CVE-2021-21972
工具默认是将shell文件循环插入120次,那为什么我的次数是37次呢,这个主要得看网络情况,因为完成插入第37次的时间刚好是Python requests模块请求网络交互完成的时间。当我插入第一个shell文件时会请求爬虫去访问我shell文件是否插入成功,如果回显验证成功,EXP会停止插入shell文件并自动退出。
访问木马的网址,没有报错
由于工具的payload文件夹内的tar文件为嵌套冰蝎3,所以此处直接用冰蝎来连接,成功getshell
后期痕迹清除
木马存放路径为:
/usr/lib/vmware-vsphere-ui/server/work/deployer/s/global/{REPLACE_RANDOM_ID_HERE}
/0/h5ngc.war/resources/shell.jsp
其中{REPLACE_RANDOM_ID_HERE}是指上传木马的时候新创建的目录值,因为我上传的次数为37次,所以{REPLACE_RANDOM_ID_HERE}的区间为[0,37),也就是说我们需要删除37个不同目录下的冰蝎马。
当最后一个冰蝎马删除干净后会自动断开,再次连接会显示连接失败,则证明痕迹已清除干净。
漏洞建议
升级到安全版本:
- vCenter Server 7.0 版本升级到 7.0.U1c
- vCenter Server 6.7版本升级到 6.7.U3l
- vCenter Server 6.5版本升级到 6.5 U3n
参考链接
https://www.vmware.com/security/advisories/VMSA-2021-0002.html