Geschreven door: Patrick Maes

In samenwerking met pentester Martin Knuijsting.

De kwetsbaarheid van deze week is VMware Cloud Director. VMware Cloud Director is een toonaangevend platform voor cloud-dienstverlening dat populaire cloud aanbieders gebruikenom de cloud infrastructuur te exploiteren en te beheren. VMware is de drijvende kracht achter de complexe digitale infrastructuur en bedient meer dan een half miljoen klanten wereldwijd. VMware Cloud Director stelt leveranciers van clouddiensten in staat om fysieke datacenters om te zetten in zeer flexibele, virtuele datacenters (VDC’s). Dit wordt bereikt door fysieke datacenter bronnen (zoals netwerk, opslag en computing) om te zetten in VDC-bronnen. De serviceprovider stelt vervolgens deze bronnen via een webportaal beschikbaar als catalogus gebaseerde diensten aan interne gebruikers. VCD bevat beleidscontroles om vooraf bepaalde limieten voor gebruikers toe te passen. Dit reguleert het verbruik van middelen en beperkt de toegang.

In het algemeen wordt de cloud infrastructuur als relatief veilig beschouwd. Dit is omdat binnen de kern ervan verschillende beveiligingslagen worden geïmplementeerd, zoals versleuteling en het isoleren van netwerkverkeer. Beveiligingslekken kunnen echter in elk type applicatie worden gevonden, ook bij de cloudaanbieders zelf.

CVSSv3 SCORE 8.8

De kwetsbaarheid is geclassificeerd als een code-injectie kwetsbaarheid en heeft de identificatiecode CVE-2020-3956 toegewezen gekregen. Deze kwetsbaarheid is door VMware als belangrijk beoordeeld met een CVSSv3 score van 8.8, omdat een aanvaller andere private clouds op de cloudaanbieder kan beïnvloeden.

Een geauthenticeerde kwaadwillende kan kwaadaardig verkeer naar VMware Cloud Director sturen met behulp van de webgebaseerde interface of API-aanroepen. Cloudaanbieders die een gratis proefperiode aanbieden van VMware Cloud Director aan potentiële nieuwe klanten lopen een groot risico. De laatste update bevindt zich namelijk nog niet in de trial versie, waardoor kwaadwillenden gebruik kunnen maken van de kwetsbaarheid in de software.

The Remote Code Execution vulnerability (RCE)

De volgende acties zijn mogelijk met de remote code execution vulnerability:

  • Bekijk de inhoud van de interne systeemdatabase, inclusief hashes van het wachtwoord van eventuele klanten die aan deze infrastructuur zijn toegewezen.
  • Aanpassen van de systeemdatabase om buitenlandse virtuele machines (VM) over te nemen. Die zijn toegewezen aan verschillende organisaties binnen Cloud Director.
  • Escaleren van privileges van “Organization Administrator” naar “System Administrator” met toegang tot alle cloud accounts.  
  • Wijzig de loginpagina naar Cloud Director, waardoor de aanvaller wachtwoorden van  

een andere klant in onbeveiligde, ongecodeerde tekst kan vastleggen, inclusief de accounts  

van de systeembeheerder.

  • Lees andere gevoelige gegevens van klanten, zoals volledige namen, e-mailadressen of  IP-adressen.

Hieronder ziet u een voorbeeld van de commando injectie.

Toegang tot andere cloud omgevingen

Remote Code Execution wordt meestal beschouwd als een game over vanuit een ethisch hacker perspectief, maar niet in deze context. Het uiteindelijke doel is om controle te krijgen over andere cloud omgevingen. Eerst is vastgesteld, dat alle gevoelige gegevens met betrekking tot VMware Cloud Director zijn opgeslagen in een externe database. De referenties van deze databases zijn te vinden in de volgende bestanden:

Deze worden versleuteld met AES-encryptie met een versleutelingscode die in de broncode van VMware Cloud Director is gecodeerd. De encryptie wordt behandeld door een custom class: com.vmware.vcloud.common.crypto.EncryptionManager 

Door het volgende stukje java-code te gebruiken kun je eenvoudig de wachtwoord gegevens van de database achterhalen.

Wijziging wachtwoord systeembeheerder

Het wijzigen van het wachtwoord voor de systeembeheerder naar Password123 is mogelijk met behulp van de volgende SQL-query:

UPDATE usr SET password=’8nmlODAJ92cQdJCqasw8YXAU2Ix+ODa3rc+5fFhEeMFV+c9iDNys+OEFtKK/0CXjIS9OxKlYaPdrIITYAWL0Eh/PYLwrtI8d’ WHERE username=’administrator’

Daarna log je in als systeembeheerder en heb je toegang tot de gegevens van alle klanten. Dit is ook de hoofdreden dat VMware deze kwetsbaarheid een 8.8 heeft toegewezen.

Python exploit 

Er is ook een Python script beschikbaar gemaakt op Github.

Hieronder ziet u een voorbeeld van de PoC (Proof of Concept)

Advies VMware

VMware heeft nagedacht over een oplossing voor deze kwetsbaarheid. Door de hoge CVSSv3 score heeft VM direct gehandeld en een nieuwe update uitgebracht voor VMware Cloud Director. Het advies van VMware aan alle gebruikers van hun software, is om zo snel mogelijk een update uit te voeren naar de laatste versie. Als upgraden naar een aanbevolen versie geen optie is, kunt u deze workaround voor CVE-2020-3956 toepassen in 9.1, 9.5, 9.7 of 10.0. Volg de stappen die staan aangegeven op de webpage van VMware.

Zorg dat u niet kwetsbaar bent

Met een kwetsbaarheid als deze kan uw organisatie grote financiële schade oplopen. Zorg dan ook voor een goed update beleid, waarbij frequent updates worden geïnstalleerd op kritische systemen. 

Om er zeker van te zijn dat uw netwerk zo min mogelijk kwetsbaarheden bevat, is het scannen van uw systemen noodzakelijk. Tijdens deze scan worden kwetsbaarheden blootgelegd en krijgt u handvatten hoe u uw netwerk beter te beveiligen tegen incidenten. Onze pentesters hebben de juiste kennis en kunde in huis om u hierbij van dienst te zijn. Zij zullen zorgvuldig uw netwerk scannen op kwetsbaarheden en u voorzien van een duidelijk advies waarmee u direct aan de slag kunt. 

Meer weten

Wil u meer informatie over onze pentesten of vulnerability scans? Kijk dan even op onze diensten pagina. Of bel direct met onze medewerkers via: 020 7881030, we zijn u graag van dienst.


Deel artikel via: