本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
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