Poważna luka w systemie Google pozwalała na wykradanie numerów telefonów użytkowników

kapitanhack.pl 1 dzień temu

Odkryto poważną lukę w mechanizmie odzyskiwania konta Google. Umożliwiała ona złośliwym osobom wykradanie pełnych numerów telefonów użytkowników. Błąd dotyczył starszego, zapomnianego formularza odzyskiwania nazwy użytkownika, działającego bez konieczności uruchamiania JavaScriptu. Pomimo tego faktu formularz pozostał aktywny i niewystarczająco zabezpieczony, co umożliwiało przeprowadzenie precyzyjnego i zautomatyzowanego ataku na prywatność milionów użytkowników Google na całym świecie.

Jak działała luka?

Podstawą ataku była możliwość weryfikacji, czy dany numer telefonu jest powiązany z kontem Google o znanej nazwie wyświetlanej. Luka była obecna w formularzu odzyskiwania nazwy użytkownika, który w przeciwieństwie do nowszych wersji nie wymagał włączonego JavaScriptu. Pozwalało to na automatyzację żądań bez konieczności rozwiązywania zabezpieczeń typu CAPTCHA.

Źródło: BruteCat

1. Uzyskanie nazwy wyświetlanej konta

Pierwszym etapem ataku było zdobycie nazwy wyświetlanej użytkownika, co może wydawać się trudnym zadaniem, ale badacz odkrył, iż można to osiągnąć dzięki Google Looker Studio. Poprzez stworzenie raportu i przeniesienie jego własności na ofiarę, atakujący mógł uzyskać dostęp do nazwy wyświetlanej ofiary bez jakiejkolwiek interakcji z jej strony. Ta metoda była niezwykle sprytna, ponieważ wykorzystywała funkcję współdzielenia zasobów Google, nie wywołując żadnych alarmów bezpieczeństwa.

2. Weryfikacja zasłoniętego numeru telefonu

Kolejnym krokiem było rozpoczęcie procesu odzyskiwania hasła. Google częściowo odsłaniało numer telefonu powiązany z kontem, pokazując ostatnie kilka cyfr. Pozwalało to na zawężenie zakresu możliwych numerów do metody brute-force.

3. Automatyczny atak brute-force na numer telefonu

Atakujący używał narzędzia „gpb” (Google Phone Brute), które automatycznie próbowało różnych kombinacji numeru telefonu, porównując odpowiedzi serwera z oczekiwaną nazwą wyświetlaną. W efekcie można było zrekonstruować pełny numer telefonu ofiary w krótkim czasie.

Demo

Autor odkrycia opublikował na YouTube demo:

Techniczne aspekty ataku i obejścia zabezpieczeń

Atak mógł być prowadzony z bardzo dużą prędkością dzięki zaawansowanym technikom omijania zabezpieczeń Google.

Omijanie limitów i mechanizmów ochrony

Google stosuje limitowanie prędkości i zabezpieczenia antybotowe, aby uniemożliwić masowe ataki brute-force. Jednak badacz znalazł sposób na obejście tych mechanizmów poprzez rotację adresów IP w ogromnym zakresie IPv6. Adresy IPv6 są praktycznie nieskończone — dostępnych jest ponad 18 kwadrylionów unikalnych adresów, co pozwoliło na prawie nieograniczoną rotację adresów źródłowych żądań.

Dodatkowo odkryto, iż tokeny „botguard” wygenerowane przy formularzu z włączonym JavaScriptem można było wykorzystywać wielokrotnie w formularzu bez JavaScriptu. Dzięki temu atakujący mogli skutecznie unikać rozwiązywania captcha, które zwykle blokowałyby automatyzację.

Skala i efektywność ataku

Atak był niezwykle szybki i wydajny. Badacz odnotował, iż udało mu się przeprowadzić około 40 000 prób weryfikacji na sekundę na serwerze wynajętym za około 0,30 USD za godzinę. Taka szybkość pozwalała na wykradanie pełnych numerów telefonów w czasie od kilku sekund (np. w Singapurze) do około 20 minut w przypadku większych krajów, takich jak Stany Zjednoczone.

Oznacza to, iż potencjalnie atakujący z odpowiednimi zasobami mógł przeprowadzić masowe wycieki danych na ogromną skalę, narażając prywatność milionów użytkowników.

Reakcja Google i naprawa

Google zostało powiadomione o luce 14 kwietnia 2025 roku. Firma gwałtownie podjęła działania zaradcze i tymczasowo ograniczyła dostęp do podatnego formularza. Ostatecznie 6 czerwca 2025 Google całkowicie wyłączyło podatny formularz odzyskiwania nazwy użytkownika bez JavaScriptu, eliminując możliwość przeprowadzenia ataku.

Nagroda za zgłoszenie i dalsze implikacje

Początkowo Google przyznało badaczowi nagrodę w wysokości 1 337 USD. Po odwołaniu otrzymał podwyższenie do 5 000 USD, co odzwierciedlało powagę problemu i trudność wykrycia ataku.

Wnioski i znaczenie dla bezpieczeństwa

  1. Stare funkcje i legacy systems: choćby nieużywane lub przestarzałe części systemów IT mogą stanowić poważną lukę bezpieczeństwa, jeżeli nie są odpowiednio zabezpieczone lub całkowicie wyłączone.
  2. Automatyzacja i boty: Ataki zautomatyzowane mogą osiągać ogromne prędkości dzięki wykorzystaniu słabych punktów w mechanizmach ochrony takich jak CAPTCHA czy limitowanie prędkości. Kluczowa jest ciągła aktualizacja i wzmacnianie zabezpieczeń.
  3. Wykorzystanie nowych technologii: Użycie adresów IPv6 do rotacji adresów IP pokazuje, iż nowe technologie mogą być wykorzystywane zarówno przez obrońców, jak i napastników.
  4. Edukacja i świadomość: Firmy i użytkownicy muszą być świadomi zagrożeń związanych z ochroną prywatności i danych osobowych oraz wspierać badaczy bezpieczeństwa, którzy zgłaszają luki.

Podsumowanie

Luka w systemie odzyskiwania konta Google to przestroga dla wszystkich firm technologicznych, by nie zaniedbywać żadnego elementu swojego oprogramowania, choćby jeżeli wydaje się on marginalny lub przestarzały. Dla użytkowników to z kolei przypomnienie, jak ważne jest dbanie o bezpieczeństwo swoich danych oraz korzystanie z wielowarstwowych metod ochrony, takich jak dwuskładnikowe uwierzytelnianie.

Dzięki pracy badaczy takich jak BruteCat i szybkim reakcjom firm wiele podobnych zagrożeń może zostać skutecznie zneutralizowanych.

Idź do oryginalnego materiału