Hintergrund
VMware hat am 25. Mai 2021 Patches veröffentlicht, um zwei in der Sicherheitswarnung VMSA-2021-0010 beschriebene Sicherheitslücken beim VMware vCenter Server zu beheben. Eine der Schwachstellen basiert auf fehlender Input-Validierung im Plug-in Virtual SAN Health Check, das beim vCenter Server standardmäßig aktiviert ist. Dadurch kann es zur Ausführung von Remote-Code (RCE) im vSphere Client kommen (CVE-2021-21985). Angreifer mit Zugriff auf das Netzwerk könnten diese Sicherheitslücke ausnutzen und Befehle mit unbeschränkten Rechten ausführen. Bei der anderen Sicherheitslücke (CVE-2021-21986) handelt es sich um ein Authentifizierungsproblem in Plug-ins des vCenter Servers wie Virtual SAN Health Check, Site Recovery, vSphere Lifecycle Manager und VMware Cloud Director Availability. Der Sicherheitswarnung von VMware zufolge sind folgende Versionen betroffen:
Betroffene Versionen
- vCenter Server 6.5.0 before 6.5.0 build 17994927
- vCenter Server 6.7.0 before 6.7.0 build 18010531
- vCenter Server 7.0.0 before 7.0.2 build 17958471
- Cloud Foundation vCenter Server 3.x before 3.10.2.1 build 18015401
- Cloud Foundation vCenter Server 4.x before 4.2.1 build 18016307
Anzahl betroffener Server mittels Shodan analysiert
vCenter Server ist ein zentralisiertes Dienstprogramm, mit dem virtuelle Maschinen, ESXi-Hosts und andere abhängige Komponenten verwaltet werden. Der vCenter Server wird von vielen Unternehmen zur Verwaltung der IT-Infrastruktur eingesetzt und könnte damit zum Einfallstor für mögliche Angriffe werden. In einem Blog weist VMware darauf hin, dass die Sicherheitslücken unverzüglich behoben werden müssen. Deshalb haben wir über Shodan die Anzahl der Instanzen des vCenter Servers analysiert, die direkt mit dem Internet verbunden und angesichts der angegebenen Version durch die Sicherheitslücken gefährdet sind.
Auf Shodan gibt es 5.271 Instanzen des VMware vCenter Servers, die direkt mit dem Internet verbunden sind (Abbildung 1).
Abbildung 1: Anzahl aller auf Shodan gefundenen VMware vCenter Server
Bei einem Großteil der Instanzen werden die Versionen 6.7.0, 6.5.0 und 7.0.x ausgeführt. (Abbildung 2)
Abbildung 2: Die zehn am häufigsten auf Shodan gefundenen Versionen des VMware vCenter Servers
Andere Statistiken belegen, dass die am häufigsten verwendeten Ports wahrscheinlich SSL/TLS nutzen, wobei Port 443 am häufigsten verwendet wird:
Abbildung 3: Die von VMware vCenter Servern am häufigsten verwendeten Ports
Bisher konnten wir Informationen über das Produkt, die Version und die Ports sammeln. Doch woher wissen wir, ob ein Host oder welcher Anteil solcher Hosts gefährdet ist? Von Shodan können Daten heruntergeladen werden, die Banner und andere wertvolle Informationen über einzelne Hosts enthalten. Abbildung 4 zeigt den Befehl zum Herunterladen der Daten.
Abbildung 4: Abfrageergebnisse in lokale Datei herunterladen
Sobald die Daten heruntergeladen wurden, ist es mithilfe der Parse-Option von „shodan-cli“ möglich, an Informationen wie Port-Nummer und Version des Servers zu gelangen (Abbildung 5). Die Build-Nummer findet sich in der HTTP-Antwort (Abbildung 6) sowie als Objekt „vmware“ in der JSON-Datei (Abbildung 7). Mithilfe von „os_type“ lässt sich das Betriebssystem (OS) des Servers ermitteln. In diesem Beispiel nutzt ein Großteil der Hosts etwa Linux (Abbildung 8).
Abbildung 5: Geparste Daten zu Port und Version aus der heruntergeladenen Datei
Abbildung 6: Beispiel für HTTP-Antwort mit Angaben zum Server aus der heruntergeladenen Datei
Abbildung 7: Beispiel für Objekt „vmware“ aus der heruntergeladenen Datei
Abbildung 8: Anzahl der verschiedenen Betriebssysteme, die das Objekt „vmware“ verwenden
Gefährdete Hosts aufgrund der Sicherheitslücken im vCenter Server
Die von Shodan heruntergeladenen Daten sind in einer JSON-Datei komprimiert und können mithilfe einfacher Scripts geparst werden. Somit lässt sich überprüfen, ob die Versionen der Hosts von den Sicherheitslücken betroffen sind (Abbildung 9).
Abbildung 9: Geparste Daten hinsichtlich Version, Build-Nummer, Betriebssystem und Klassifizierung
Von den 4969 Daten, die von Shodan heruntergeladen wurden, sind 4019 (80,88 %) gefährdet (Abbildung 10).
Abbildung 10: Anzahl an gefährdeten und nicht gefährdeten Servern insgesamt
Bedauerlicherweise handelt es sich bei den „nicht gefährdeten“ 950 Hosts (19,12 %) zumeist um ältere Versionen (z. B. 2.5.0, 4.0.0 und andere ausgelaufene Versionen). Nur bei acht Hosts werden die Versionen noch unterstützt. Dies legt die Vermutung nahe, dass die meisten Hosts nicht gepatcht sind, da die Versionen nicht mehr unterstützt werden (Abbildung 11).
Abbildung 11: Versionen der nicht betroffenen Server, die jedoch meist nicht mehr unterstützt werden
Proof of Concept
Schon zum jetzigen Zeitpunkt kursieren Proofs of Concept im Internet, wie die Sicherheitslücken durch RCE ausgenutzt werden können:
- https://www.iswin.org/2021/06/02/Vcenter-Server-CVE-2021-21985-RCE-PAYLOAD/
- http://noahblog.360.cn/vcenter-cve-2021-2021-21985
- https://attackerkb.com/topics/X85GKjaVER/cve-2021-21985
- https://github.com/alt3kx/CVE-2021-21985_PoC
Empfehlungen für Risikominderung und Erkennung
Am besten schützen Sie Ihren Server, indem Sie die von VMware bereitgestellten Patches anwenden. Dies ist die schnellste und empfohlene Möglichkeit, die Sicherheitslücke zu beheben. Wenn Sie jedoch nicht sofort patchen können, sollten Sie die folgenden Codezeilen unter dem Element „pluginsCompatability“ in der Datei „compatibility-matrix.xml“ einfügen:
<PluginPackage id="com.vmware.vrops.install" status="incompatible"/>
<PluginPackage id="com.vmware.vsphere.client.h5vsan" status="incompatible"/>
<PluginPackage id="com.vmware.vrUi" status="incompatible"/>
<PluginPackage id="com.vmware.vum.client" status="incompatible"/>
<PluginPackage id="com.vmware.h4.vsphere.client" status="incompatible"/>
Anschließend halten Sie den Dienst „vsphere-ui“ an und starten ihn erneut. Dadurch werden die von den Sicherheitslücken betroffenen Plug-ins deaktiviert. Sie sollten jedoch zunächst überlegen, wie wichtig diese Plug-ins für Ihr System sind, bevor Sie sie deaktivieren. Weitere Informationen und Tipps zum Patchen erhalten Sie im Blog von VMware und in diesem Artikel.
Kunden von Trustwave Security Testing Services können gefährdete Instanzen des VMware vCenter Servers durch verwaltetes oder selbst durchgeführtes Scannen ermitteln.