ConsentFix: nowa technika przejęcia kont Microsoft przez nadużycie OAuth w aplikacji Azure CLI

securitybeztabu.pl 1 tydzień temu

Wprowadzenie do problemu / definicja luki

Badacze z Push Security opisali nową technikę phishingu „ConsentFix”, która łączy wzorce ClickFix z nadużyciem OAuth consent i aplikacji Azure CLI. Atak pozwala przejąć dostęp do kont Microsoft (Entra/Microsoft 365) bez phishingu haseł i z ominięciem MFA, jeżeli ofiara jest już zalogowana w przeglądarce. najważniejszy trik to wyłudzenie kodu autoryzacyjnego OAuth i skojarzenie konta ofiary z instancją Azure CLI napastnika.

W skrócie

  • Wektor: złośliwe/zhakowane strony z wysokim rankingiem w Google, fałszywy „Cloudflare Turnstile”, następnie instrukcje w stylu ClickFix.
  • Cel: uzyskać URL do localhost zawierający authorization code dla aplikacji Azure CLI i kazać ofierze wkleić go w stronę atakującego.
  • Efekt: napastnik wymienia kod na token(y) i zyskuje dostęp do danych/operacji w ramach uprawnień Azure CLI – bez hasła i bez dodatkowej weryfikacji MFA.
  • Dlaczego działa: Azure CLI jest aplikacją pierwszej strony Microsoft, zwykle domyślnie ufaną w Entra ID i niepodlegającą typowym ograniczeniom nakładanym na aplikacje zewnętrzne.
  • Mitigacje: zaostrzenie zasad User Consent, workflow Admin Consent, monitoring logowań Azure CLI i szybkie unieważnianie przyznań/zgód.

Kontekst / historia / powiązania

ConsentFix wpisuje się w ewolucję ataków na OAuth consent i ClickFix – zamiast kraść hasła, przestępcy polują na granty i tokeny. Wcześniej obserwowaliśmy m.in. AiTM i nowszy CoPhish, który nadużywał agentów Microsoft Copilot Studio do prezentowania legalnie wyglądających próśb o zgodę. Wspólny mianownik: legitymizacja przez domeny i aplikacje Microsoft oraz socjotechnika wokół przepływów OAuth.

Analiza techniczna / szczegóły luki

  1. Dostarczenie przynęty: ofiara trafia z wyszukiwarki na przejętą stronę; skrypt weryfikuje domenę e-mail (tylko „pożądane” organizacje idą dalej). Widać fałszywy widget Cloudflare Turnstile.
  2. Scena ClickFix: strona instruuje, aby kliknąć „Sign in”, co otwiera prawdziwy adres logowania Microsoft dla przepływu OAuth aplikacji Azure CLI.
  3. Authorization Code: po wybraniu konta (lub zalogowaniu) przeglądarka przekierowuje na http://localhost/... z parametrem code= (authorization code) – to standard w przepływach OAuth (authorization code / device flows).
  4. Exfiltracja: instrukcje nakazują skopiować cały URL i wkleić go w oknie na złośliwej stronie; skrypt po stronie atakującego wymienia code→token w kontekście aplikacji Azure CLI.
  5. Dlaczego bez sekretu? W tym scenariuszu kod wystarcza do pozyskania tokenu (aplikacje klienckie nie przechowują tajemnicy), więc mechanizm MFA/hasła nie chroni – sesja przeglądarki już uwierzytelnia użytkownika.
  6. Utrudnienia analizy: jednorazowość na IP, warunkowe ładowanie skryptów, selekcja celów, co znacznie utrudnia IOC-based detekcję.

Uwaga: Microsoftowa dokumentacja potwierdza, iż device/authorization flows mogą kończyć się tokenem po poprawnym zalogowaniu i konsencie – to cecha protokołu, nie błąd implementacji. Problemem jest socjotechnika i nadużycie zaufanej aplikacji.

Praktyczne konsekwencje / ryzyko

  • ATO bez hasła i bez MFA: wystarczy aktywna sesja w przeglądarce i kilka kliknięć/kopiuj-wklej.
  • Zaufana aplikacja: Azure CLI jako first-party bywa wyłączony z restrykcji wobec app consent, co zwiększa powierzchnię nadużyć.
  • Dostęp szerokiego zakresu: w zależności od przyznanych/wykorzystanych uprawnień – potencjał na odczyt maili, plików, automatyzację operacji i pivot w M365/Azure. (Kierunek zgodny z wcześniejszymi kampaniami na tokeny OAuth).
  • Detekcja logowań wymaga patrzenia na zdarzenia sign-in specyficzne dla Azure CLI i nietypowe zakresy/stare Graph scopes.

Rekomendacje operacyjne / co zrobić teraz

1) Zaostrz politykę User Consent i włącz Admin Consent workflow

  • Ogranicz lub wyłącz zgody użytkowników; dopuszczaj wyłącznie zweryfikowanych wydawców i/lub niskiego ryzyka. Włącz Admin Consent workflow do obsługi próśb.

2) Monitoruj i reaguj

  • Ustal detektory na logowania Azure CLI z nowych lokalizacji/agentów oraz na przyznania zgody/zakresy nietypowe dla Twojej organizacji. Rekomendacje Push: poluj na sygnały związane z Azure CLI i „legacy Graph scopes”.
  • W razie incydentu: cofnij zgody/połączenia (Enterprise Apps), unieważnij refresh tokeny i wymuś ponowną autoryzację. (Patrz sekcja przeglądu i cofania zgód w Entra).

3) Twarde zasady wokół aplikacji i portali

  • Minimalizuj powierzchnię ataku: klastryzacja uprawnień, ograniczenia dostępu do portali, minimalizacja ról z prawem do przyznawania zgód. (Wytyczne dot. consent policies).

4) Edukacja użytkowników (anty-ClickFix)

  • Szkolenia ukierunkowane na „kopiuj-wklej z instrukcji wideo/strony” i fałszywe widgety weryfikacyjne. Podkreślaj: nigdy nie wklejać URL-i z kodami w obce formularze. (Wzorce opisane przez Push).

5) Testy kontroli i purple teaming

  • Przećwicz scenariusz: wyszukiwarka → „weryfikacja Cloudflare” → „Sign in” → localhost z code= → exfil. Sprawdź, które alerty zadziałały i gdzie brakuje telemetrii.

Różnice / porównania z innymi przypadkami (jeśli dotyczy)

  • AiTM: kradnie sesje przez proxy logowania; ConsentFix poluje na granty OAuth i działa w kontekście przeglądarki bez pośredniczącej bramki.
  • CoPhish (Copilot Studio): także nadużywa zaufania do domen Microsoft i flow OAuth, ale przynętą są agenci Copilot z wbudowanymi przyciskami zgody. ConsentFix zamiast tego wyłudza kod z przepływu Azure CLI.

Podsumowanie / najważniejsze wnioski

ConsentFix pokazuje, iż obronność oparta wyłącznie na MFA i filtracji e-maili nie wystarczy wobec browser-native nadużyć OAuth i aplikacji pierwszej strony. Trzonem obrony musi być governance zgód, dojrzały threat hunting w logach Entra/Defender oraz ukierunkowana edukacja anty-ClickFix.

Źródła / bibliografia

  • Push Security: „ConsentFix – browser-native ClickFix hijacks OAuth grants” (11.12.2025). (Push Security)
  • BleepingComputer: „New ConsentFix attack hijacks Microsoft accounts via Azure CLI” (11.12.2025). (BleepingComputer)
  • Microsoft Learn: „Configure how users consent to applications” (aktualizacja 24.06.2025). (Microsoft Learn)
  • Microsoft Learn: „OAuth 2.0 device authorization grant flow” (aktualizacja 04.01.2025) – tło protokołu. (Microsoft Learn)
  • TechRadar: „CoPhish… steals OAuth tokens via Copilot Studio” (10.2025) – kontekst trendu. (TechRadar)
Idź do oryginalnego materiału