Sploitus

Exploit for CVE-2021-21972

kitploit · 2026-09-04

Exploit Code

MARKDOWN92 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-HURRRRAAAA-CVE-2021-21972
# VMware vCenter Server RCE — CVE-2021-21972 研究实验室

作者:Niranjan Pokhrel

独立研究项目,在隔离的家庭实验室中复现并记录一个已公开披露的严重 VMware vCenter Server 漏洞,以理解漏洞类别、利用路径和防御缓解措施。

## 摘要

|   
---|---  
**CVE**| CVE-2021-21972  
**CVSSv3 基础评分**|  9.8(严重)  
**厂商公告**| VMSA-2021-0002  
**受影响产品**|  VMware vCenter Server 6.5 / 6.7 / 7.0  
**漏洞类别**|  未认证任意文件上传 → 远程代码执行  
**状态**|  已由 VMware 修复(2020 年 11 月 – 2021 年 2 月)。实验室仅出于研究目的使用故意过时、隔离的版本。  
  
## 为什么做这个项目

vCenter Server 是 VMware 虚拟化基础设施的中央管理平面——攻陷它可能意味着攻陷整个虚拟数据中心。该漏洞是一个教科书式的例子,展示了单个插件端点缺少身份验证检查如何升级为对主机的完全接管。我搭建这个实验室是为了从阅读 CVE 公告转向真正理解攻击面、利用链,以及同样重要的——应该如何预防以及如何在防御层面检测它。

## 漏洞概述

该漏洞位于 vSphere Client(HTML5)中,具体是 vCenter Server 的一个插件,它暴露了一个文件上传端点(`/ui/vropspluginui/rest/services/uploadova`),且无需身份验证。能够访问 443 端口的攻击者可以向该端点发送精心构造的 POST 请求,将任意文件(包括 Web Shell)上传到底层操作系统上可通过 Web 访问的目录。这使攻击者能够以 vCenter 服务的权限执行代码,实际上完全控制该设备。

从高层次来看,攻击链如下:

  1. **发现** — 识别暴露在互联网或网络上的 443 端口 vCenter Server。
  2. **验证** — 确认存在漏洞的、无需认证的上传端点按预期响应(无需有效会话)。
  3. **利用** — 将包含 Web Shell 的恶意归档上传到可通过 Web 访问的路径,然后通过 HTTP 调用它来在主机操作系统上执行命令。
  4. **影响** — 以 vCenter 服务账户身份执行任意命令,从而能够在受管虚拟基础设施中进行横向移动。



## 实验室环境

完全构建在隔离的、不面向互联网的虚拟网络中,不包含任何生产数据:

  * **虚拟机监控程序主机:** VMware ESXi(嵌套虚拟化)
  * **目标:** vCenter Server Appliance,故意部署在存在漏洞的版本(补丁前),仅用于研究目的
  * **攻击机:** Kali Linux
  * **检测工具:** Nmap 及社区维护的 NSE 漏洞检测脚本
  * **网络:** 完全隔离的实验室子网,无互联网暴露,测试后即拆除



_(原始构建中的具体 IP 地址、凭据和基础设施细节有意从本公开文档中省略。)_

## 检测

防御方(即蓝队或审计人员)可以通过检查目标的上传端点是否以与未修补漏洞一致的方式响应来确认漏洞是否存在——这与漏洞扫描器或内部安全团队在攻击者之前识别网络中暴露的、未修补的 vCenter 实例所运行的检查类型相同。

该 CVE 的公开 Nmap NSE 检测脚本可在多个开源安全仓库中获取;此处不进行复现,以保持本 README 侧重于文档记录而非分发即用型扫描/利用工具。在实验室中,存在漏洞的目标在扫描输出中被标记为 VULNERABLE(可利用),这是优先进行立即修补的触发信号。

## 利用(仅限高层次概述)

该 CVE 的可用概念验证利用程序自 2021 年起已公开可用,由 Positive Technologies 的 Mikhail Klyuchnikov 发现;为避免从本资料库分发即用型 RCE 载荷,此处不复现利用代码——本文档的重点是理解,而非工具。总而言之,公开的利用程序自动化了上述步骤 2–3:它将 JSP Web Shell 打包为预期的上传格式,POST 到存在漏洞的端点,确认其落入可通过 Web 访问的路径,然后利用它向攻击者触发反向 Shell。

## 缓解措施与防御要点

  * **立即修补。** VMware 已为所有受影响版本发布了修复版本(7.0 U1c+、6.7 U3l+、6.5 U3n+)——修补仍是主要修复手段。
  * **限制管理接口暴露。** 澳大利亚网络安全中心关于此 CVE 的公告建议在内部和外部都限制对 vCenter 管理接口的访问——虚拟化基础设施的管理平面绝不应被广泛可达。
  * **网络分段与 ACL** 限制对 vCenter 管理端口的入站访问,即使在应用补丁之前也能减少攻击面。
  * **禁用存在漏洞的插件** 作为无法立即修补时的临时变通方案(VMware 发布了针对 vROps 插件的文档化变通方案)。
  * **监控异常文件上传 / Web 可访问目录中的新文件** 在 vCenter 设备上作为检测控制手段。



## 展示的技能

  * 从零开始构建和配置嵌套 ESXi + vCenter Server 虚拟实验室
  * 阅读和解读厂商安全公告(VMSA)及 CVE/CVSS 评分
  * 使用 Nmap NSE 脚本进行漏洞扫描和检测
  * 理解 SSRF 和未认证文件上传漏洞类别
  * 将技术漏洞转化为与厂商和国家网络安全中心(ACSC)建议一致的具体缓解指导



## 参考资料

  1. VMware, _VMSA-2021-0002:VMware vCenter Server 更新解决 vSphere Client 中的远程代码执行漏洞(CVE-2021-21972)_ ,vmware.com
  2. FIRST, _CVSS v3.1 计算器_ ,first.org
  3. CVE Details, _CVE-2021-21972_ ,cvedetails.com
  4. VMware 知识库,kb.vmware.com/s/article/82374
  5. 澳大利亚网络安全中心, _VMware vCenter Server 插件远程代码执行漏洞(CVE-2021-21972)_ ,cyber.gov.au



* * *

_本项目在完全隔离、非生产的实验室环境中进行,仅用于教育和专业发展目的。未访问任何未经授权的系统。_