Menu dostępności

Jak atakujący mogą utworzyć backdoor w chmurze Google (GCP)?

Badacze bezpieczeństwa z IBM Security X-Force Red znaleźli w Google Cloud Platform (GCP) metodę, której potencjalnie mogą użyć atakujący do utworzenia stałego i ukrytego dostępu (z ang. persistence) za pomocą Google Cloud Shell.

Kwestii bezpieczeństwa chmury poświęciliśmy ostatnio dużą kampanię, opisującą Bezpieczeństwo Infrastruktury Chmurowej. Jak pokażemy poniżej, w nieodpowiednio zabezpieczonej infrastrukturze chmurowej atakujący mogą utworzyć specjalną tylną furtkę ze stałym dostępem (z ang. backdoor).


Co to jest Google Cloud Shell?

Google Cloud Shell to usługa udostępniająca powłokę internetową, w której można wykonywać czynności administracyjne GCP. Powłoka internetowa jest wygodną funkcją, ponieważ pozwala programistom i administratorom zarządzać zasobami GCP bez konieczności instalowania lub utrzymywania jakiegokolwiek oprogramowania lokalnie w ich systemie. Z technicznego punktu widzenia Google zauważa, że Cloud Shell jest efemeryczną wirtualną maszyną Debiana Linux (VM). To, z czym użytkownicy wchodzą w interakcję podczas korzystania z Cloud Shell, jest w rzeczywistości kontenerem Dockera. Aby korzystać z Cloud Shell, wystarczy zalogować się do konsoli Google Cloud i kliknąć ikonę terminala, która uruchamia instancję Cloud Shell.


W czym tkwi problem?

Naukowcy podkreślają fakt, iż pomimo efemeryczności (nietrwałości) wirtualnej maszyny istnieje możliwość utworzenia backdoora, ponieważ katalog domowy użytkownika (/home) może pomieścić do 5 GB danych i jest trwały. Odkryli, że Google Cloud Shell ma unikalną zdolność podczas uruchamiania do odczytu z pliku w folderze domowym o nazwie „.customize_environment”. Plik nie jest tworzony domyślnie, ale po dodaniu będzie otwierany przy każdym uruchomieniu Cloud Shell.

Z administracyjnego punktu widzenia jest to duże ułatwienie. Jeśli istnieją narzędzia, których administrator często używa, ale nie są instalowane domyślnie, może on napisać skrypt w pliku „.customize_environment”, aby zainstalować dowolne oprogramowanie, zmienić konfigurację systemu i nie tylko.

Powyższą metodę mogą również wykorzystać atakujący, na co zwracają uwagę badacze z IBM: „Jeśli jednak jesteś hakerem, ta funkcja może przyciągnąć Twoją uwagę z innych powodów. Źli aktorzy, testerzy penetracji i czerwone zespoły zazwyczaj mają podobny cel po początkowym wtargnięciu do środowiska. Celem jest pozostanie w zaatakowanej sieci, co oznacza, że muszą mieć co najmniej jedną metodę utrzymania dostępu. W cyberbezpieczeństwie nazywamy to trwałością”.


Jak utworzyć backdoor w GCP?

Jak opisują badacze z IBM, w pierwszej kolejności należy przeanalizować otwarte porty TCP, z którymi moglibyśmy się połączyć, oraz sprawdzić, czy żaden nie został zablokowany.

Źródło: IBM Security

Otwarty dostęp wychodzący oznacza, że możliwe jest uruchomienie odwrotnej powłoki, np. za pomocą narzędzia Netcat, używając poniższego kodu w pliku .customize_environment. Zapewnia nam to zdalny dostęp do zhakowanego Cloud Shell.

Przy następnym uruchomieniu Cloud Shell otrzymamy odwróconą powłokę.

Źródło: IBM Security

Na liście procesów widać, że .customize_environment jest automatycznie wywoływany z Bash podczas uruchamiania i nadal działa odwrotna powłoka.

Źródło: IBM Security

Jak sobie radzić z problemem?

Opisywana metoda trwałości posiada dwie wady:

  • Jej skuteczność zależy od tego, czy ofiara korzysta z Cloud Shell. Jeśli nie, nie będzie to niezawodna ani nawet skuteczna metoda utrwalania.

  •Przy pierwszym wykonaniu w Cloud Shell czynności wymagającej uwierzytelnienia, w przeglądarce użytkownika pojawia się okno autoryzacji, które należy zaakceptować przed uruchomieniem polecenia. Jeśli pojawi się nieoczekiwane wyskakujące okienko, cel może nabrać podejrzeń i wykryć metodę utrwalania.

IBM twierdzi, że obejściem ograniczającym wykrywanie byłoby monitorowanie aktywności użytkownika i czekanie, aż wykona wywołanie interfejsu API przed próbą wykonania działania wymagającego uwierzytelnienia. Wreszcie, jeśli użytkownik nie korzysta regularnie z Cloud Shell, katalog domowy zostanie usunięty po 120 dniach braku aktywności.

Jedynym sposobem na skuteczne zablokowanie tej metody utrwalania jest wyłączenie Cloud Shell dla wszystkich użytkowników z poziomu konsoli administracyjnej Google Admin (https://admin.google.com/), wybierając opcję „Additional Google Services”, następnie „Google Cloud Platform” i ustawienia „Cloud Shell Settings”. W ustawieniach tych należy odznaczyć pole wyboru „Allow access to Cloud Shell”:


Podsumowanie

Plik „.customize_environment” to solidna opcja trwałości po uzyskaniu początkowego dostępu do GCP. Metoda ta daje wiele możliwości. Implant dowodzenia i kontroli można pobrać i uruchomić przy każdym otwarciu Cloud Shell lub włączyć skrypt, który kradnie tokeny i publikuje je na serwerze atakującego i tak dalej.

W sieci można znaleźć wcześniejsze badania pokazujące, jak używać pliku „.bashrc” do utrwalania w Cloud Shell. Przykład w poście Juana Bernera z 2018 roku.

Popularne

Atak bez hasła na Microsoft 365. Przestępcy przejmowali sesje i obchodzili MFA

Atak bez hasła na Microsoft 365. Przestępcy przejmowali sesje i obchodzili MFA

Kampania wykorzystująca kradzież i powtórne użycie tokenów uwierzytelniających doprowadziła do przejęcia 97 kont w 79 organizacjach. Cyberprzestępcy nie musieli łamać haseł ani ponownie przechodzić uwierzytelni...
Jedna luka może pozwolić na przejęcie kontroli nad całą domeną. Microsoft łata krytyczną podatność Active Directory

Jedna luka może pozwolić na przejęcie kontroli nad całą domeną. Microsoft łata krytyczną podatność Active Directory

Active Directory od lat stanowi fundament zarządzania tożsamością i dostępem w środowiskach korporacyjnych. To właśnie za jego pośrednictwem organizacje kontrolują konta użytkowników, uprawnienia, dostęp do s...
Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Posiadasz urządzenie od UPC lub inne, które łączy się po Wifi? Chciałbyś poznać jego hasło do sieci? W tym artykule opiszemy sposób, dzięki któremu będziemy mogli poznać aktualne hasło do WiFi przech...
Badacz uzyskał uprawnienia roota w najnowszym Samsung Smart TV i odkrył zaskakujące fakty

Badacz uzyskał uprawnienia roota w najnowszym Samsung Smart TV i odkrył zaskakujące fakty

Współczesne Smart TV korzystają z systemów operacyjnych, łączą się z Internetem, analizują sposób korzystania z aplikacji i mogą wspierać personalizację reklam. Pojawia się jednak pytanie, gdzie kończy...
Jak hakerzy wykorzystują PHP2Shell do uzyskania uprawnień administratora (root) na Firewallach

Jak hakerzy wykorzystują PHP2Shell do uzyskania uprawnień administratora (root) na Firewallach

Nie tak dawno obszernie analizowaliśmy dwie krytyczne luki dotyczące silnika PHP wykorzystywanego przez miliony stron internetowych. W artykule dostępnym tutaj opisywaliśmy, jak mogą być eksploatowane te po...