Luka w Google Cloud Platform (GCP) pozwala atakującym na zmianę aplikacji OAuth i ukrycie jej w celu stworzenia backdoora do dowolnego konta Google. O podobnych problemach pisaliśmy już w 2022 roku tutaj. Wtedy do tworzenia backdoorów wykorzystywano Google Cloud Shell.
Błąd zyskał już przydomek – GhostToken. Pozwala atakującym na całkowite ukrycie szkodliwej aplikacji przed użytkownikiem Google i wykorzystanie jej do odzyskania tokenów konta w celu uzyskania dostępu do danych ofiary.
Problem związany był z usuwaniem klientów OAuth, będących zasadniczo projektami GCP, wyjaśnia Astrix, firma zajmująca się bezpieczeństwem app-to-app, która zidentyfikowała lukę w czerwcu ubiegłego roku.
Gdy projekt GCP zostaje usunięty – przez właściciela lub dowolną osobę posiadającą niezbędne uprawnienia do zarządzania – przechodzi w stan „oczekujący na usunięcie” na 30 dni, co umożliwia deweloperowi przywrócenie go w razie potrzeby.
Jednak po takim usunięciu nie jest już wyświetlany na stronie zarządzania aplikacją konta Google, choćby jeżeli przez cały czas ma dostęp do konta.
To samo dotyczy projektów GCP, które są klientami OAuth. Podczas gdy użytkownik otrzymuje komunikat informujący go, iż klient został usunięty, aplikacja przez cały czas ma dostęp do konta, aż do skutecznego usunięcia.
Astrix odkrył również, iż po przywróceniu takiego klienta OAuth ze stanu „oczekiwania na usunięcie”, token odświeżania utworzony przez użytkownika podczas pierwszej autoryzacji aplikacji zostaje ponownie włączony.
Token odświeżania, jak wyjaśnia firma zajmująca się bezpieczeństwem, może być następnie wykorzystany do uzyskania tokena dostępu do konta ofiary, a w rezultacie do jej danych.
Aby wykorzystać tę lukę, osoba atakująca może utworzyć lub przejąć aplikację OAuth, uzyskując w ten sposób dostęp do tokena odświeżania. Atakujący może potem usunąć projekt powiązany z aplikacją, aby uniemożliwić ofierze usunięcie go z konta.
Za każdym razem, gdy atakujący chciał uzyskać dostęp do danych ofiary, przywracał projekt, używał tokena odświeżania, aby uzyskać token dostępu, a następnie ponownie usuwał projekt, by ukryć aplikację i uniemożliwić jej usunięcie.
„Wykorzystując lukę w zabezpieczeniach GhostToken, osoby atakujące mogą ukryć swoją złośliwą aplikację na stronie zarządzania aplikacjami konta Google ofiary. Ponieważ jest to jedyne miejsce, w którym użytkownicy Google mogą przeglądać swoje aplikacje i cofać dostęp, exploit uniemożliwia usunięcie złośliwej aplikacji z konta Google” – zauważa Astrix.
W tym scenariuszu token dostępu pozwoliłby atakującemu czytać wiadomości e-mail ofiary, uzyskiwać dostęp do jej plików na Dysku Google i w Zdjęciach, przeglądać kalendarz, śledzić lokalizację i „udzielać dostępu do usług Google Cloud Platform”, wyjaśnia firma zajmująca się bezpieczeństwem.
W tym miesiącu Google zajęło się luką, udostępniając aplikacje, które są w stanie „oczekujących na usunięcie”, widoczne na koncie Google, aby użytkownicy mogli je trwale usunąć.