
Isolierte Labor-Forschungsdokumentation zu VMware vCenter Server CVE-2021-21972, die unauthentifizierten beliebigen Datei-Upload bis hin zu Remote Code Execution (RCE), Nmap-basierte Erkennung, Exploitation-Kette und Gegenmaßnahmen abdeckt.
Autor: Niranjan Pokhrel
Unabhängiges Forschungsprojekt, das eine kritische, öffentlich bekannt gegebene VMware vCenter Server-Schwachstelle in einem isolierten Heimlabor reproduziert und dokumentiert, um die Schwachstellenklasse, den Ausnutzungspfad und defensive Gegenmaßnahmen zu verstehen.
| CVE | CVE-2021-21972 |
| CVSSv3-Basiswert | 9.8 (Kritisch) |
| Herstellerhinweis | VMSA-2021-0002 |
| Betroffenes Produkt | VMware vCenter Server 6.5 / 6.7 / 7.0 |
| Schwachstellenklasse | Nicht authentifizierter Datei-Upload → Remote-Code-Ausführung |
| Status | Von VMware gepatcht (Nov. 2020 – Feb. 2021). Das Labor verwendete absichtlich veraltete, isolierte Versionen ausschließlich zu Forschungszwecken. |
vCenter Server ist die zentrale Verwaltungsebene für virtualisierte VMware-Infrastrukturen — eine Kompromittierung kann die Kompromittierung eines gesamten virtuellen Rechenzentrums bedeuten. Diese Schwachstelle ist ein Lehrbuchbeispiel dafür, wie eine fehlende Authentifizierungsprüfung an einem einzelnen Plugin-Endpunkt zu einer vollständigen Übernahme des Hosts eskalieren kann. Ich habe dieses Labor aufgebaut, um vom bloßen Lesen eines CVE-Hinweises zum tatsächlichen Verständnis der Angriffsfläche, der Ausnutzungskette und — ebenso wichtig — zu gelangen, wie dies hätte verhindert werden können und wie man es defensiv erkennen kann.
Die Schwachstelle befindet sich im vSphere Client (HTML5), genauer gesagt in einem vCenter Server-Plugin, das einen Datei-Upload-Endpunkt (/ui/vropspluginui/rest/services/uploadova) ohne Authentifizierungspflicht bereitstellt. Ein Angreifer mit Netzwerkzugriff auf Port 443 kann eine manipulierte POST-Anfrage an diesen Endpunkt senden und beliebige Dateien — einschließlich einer Web-Shell — in ein über das Web erreichbares Verzeichnis des zugrunde liegenden Betriebssystems hochladen. Dies verschafft dem Angreifer Code-Ausführung mit den Rechten des vCenter-Dienstes, also praktisch die vollständige Kontrolle über das Appliance.
Auf hoher Ebene sieht die Angriffskette wie folgt aus:
Vollständig in einem isolierten, nicht mit dem Internet verbundenen virtuellen Netzwerk ohne Produktionsdaten aufgebaut:
(Spezifische IP-Adressierung, Anmeldedaten und Infrastrukturdaten aus dem ursprünglichen Aufbau werden in diesem öffentlichen Bericht absichtlich weggelassen.)
Das Vorhandensein der Schwachstelle kann defensiv bestätigt werden (d. h. durch ein Blue Team oder einen Prüfer), indem geprüft wird, ob der Upload-Endpunkt des Zielsystems in einer Weise antwortet, die mit der ungepatchten Schwachstelle übereinstimmt — dies ist dieselbe Art von Prüfung, die ein Schwachstellenscanner oder ein internes Sicherheitsteam durchführen würde, um exponierte, ungepatchte vCenter-Instanzen in ihrem Netzwerk zu identifizieren, bevor ein Angreifer dies tut.
Ein öffentliches Nmap-NSE-Erkennungsskript für diese CVE ist in mehreren Open-Source-Sicherheitsrepositorien verfügbar; es wird hier nicht reproduziert, im Einklang mit dem Fokus dieses README auf Dokumentation statt auf die Verteilung gebrauchsfertiger Scan-/Exploit-Werkzeuge. Im Labor wurde ein anfälliges Ziel im Scan-Ergebnis als VULNERABLE (Exploitable) markiert, was der Auslöser ist, um sofortiges Patchen zu priorisieren.
Ein funktionierender Proof-of-Concept-Exploit für diese CVE ist seit 2021 öffentlich verfügbar, nach seiner Entdeckung durch Mikhail Klyuchnikov von Positive Technologies; im Interesse, von diesem Profil aus kein gebrauchsfertiges RCE-Payload zu verbreiten, reproduziere ich hier keinen Exploit-Code — der Fokus dieses Berichts liegt auf dem Verständnis, nicht auf dem Werkzeug. Zusammenfassend automatisiert der öffentliche Exploit die Schritte 2–3 oben: Er verpackt eine JSP-Web-Shell im erwarteten Upload-Format, sendet sie per POST an den anfälligen Endpunkt, bestätigt, dass sie in einem über das Web erreichbaren Pfad gelandet ist, und verwendet sie dann, um eine Reverse-Shell zurück zum Angreifer auszulösen.
Dieses Projekt wurde in einer vollständig isolierten, nicht produktiven Laborumgebung zu Bildungs- und beruflichen Entwicklungszwecken durchgeführt. Es wurden keine unbefugten Systeme aufgerufen.