Az - Conditional Access Policies / MFA Bypass
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Polityki dostępu warunkowego Azure to zasady ustalone w Microsoft Azure, aby egzekwować kontrole dostępu do usług i aplikacji Azure na podstawie określonych warunków. Polityki te pomagają organizacjom zabezpieczyć swoje zasoby, stosując odpowiednie kontrole dostępu w odpowiednich okolicznościach. Polityki dostępu warunkowego zasadniczo określają, Kto może uzyskać dostęp do Czego z Gdzie i Jak.
Oto kilka przykładów:
Polityka ryzyka logowania: Ta polityka może być ustawiona na wymaganie uwierzytelnienia wieloskładnikowego (MFA), gdy wykryte zostanie ryzyko logowania. Na przykład, jeśli zachowanie logowania użytkownika jest nietypowe w porównaniu do jego regularnego wzorca, na przykład logując się z innego kraju, system może poprosić o dodatkowe uwierzytelnienie.
Polityka zgodności urządzeń: Ta polityka może ograniczyć dostęp do usług Azure tylko do urządzeń, które są zgodne z normami bezpieczeństwa organizacji. Na przykład, dostęp może być dozwolony tylko z urządzeń, które mają aktualne oprogramowanie antywirusowe lub działają na określonej wersji systemu operacyjnego.
Możliwe jest, że polityka dostępu warunkowego sprawdza pewne informacje, które można łatwo zmanipulować, co pozwala na ominięcie polityki. A jeśli na przykład polityka konfigurowała MFA, atakujący będzie mógł ją obejść.
Możliwe jest ustawienie warunku na podstawie platformy urządzenia (Android, iOS, Windows, macOS), jednak opiera się to na user-agent, więc jest to dość łatwe do ominięcia. Nawet ustawiając wszystkie opcje na wymuszenie MFA, jeśli użyjesz user-agent, którego nie rozpoznaje, będziesz mógł obejść MFA.
Oczywiście, jeśli to jest ustawione w polityce warunkowej, atakujący może po prostu użyć VPN w dozwolonym kraju lub spróbować znaleźć sposób na dostęp z dozwolonego adresu IP, aby obejść te warunki.
Możesz wskazać, że jeśli klienci uzyskują dostęp do aplikacji Office 365 z przeglądarki, potrzebują MFA:
Aby to obejść, możliwe jest udawanie, że logujesz się do aplikacji z aplikacji desktopowej (jak w przypadku Microsoft Teams w poniższym przykładzie), co obejdzie ochronę:
Jako że aplikacja Microsoft Teams ma wiele uprawnień, będziesz mógł wykorzystać ten dostęp.
Możesz znaleźć ID bardziej publicznych aplikacji z predefiniowanymi uprawnieniami Office365 w bazie danych roadtools:
Ten atak jest szczególnie interesujący, ponieważ domyślnie publiczne aplikacje Office365 będą miały uprawnienia do dostępu do niektórych danych.
Domyślnie inne aplikacje tworzone przez użytkowników nie będą miały uprawnień i mogą być prywatne. Jednak użytkownicy mogą również tworzyć publiczne aplikacje, przyznając im pewne uprawnienia.
Potencjalny scenariusz, w którym polityka jest ustawiona na wymaganie MFA do uzyskania dostępu do aplikacji, gdy użytkownik korzysta z przeglądarki (może dlatego, że jest to aplikacja internetowa i dlatego będzie to jedyny sposób), jeśli istnieje aplikacja proxy - aplikacja dozwolona do interakcji z innymi aplikacjami w imieniu użytkowników - użytkownik mógłby zalogować się do aplikacji proxy, a następnie przez tę aplikację proxy zalogować się do początkowo chronionej aplikacji MFA.
Sprawdź techniki Invoke-MFASweep i donkeytoken.
Jedną z opcji Azure MFA jest otrzymanie połączenia na skonfigurowany numer telefonu, gdzie użytkownik zostanie poproszony o wysłanie znaku #
.
Ponieważ znaki to tylko tony, atakujący mógłby skomprymować wiadomość poczty głosowej na numerze telefonu, skonfigurować jako wiadomość ton #
i następnie, gdy będzie żądane MFA, upewnić się, że telefon ofiary jest zajęty (dzwoniąc do niego), aby połączenie Azure zostało przekierowane do poczty głosowej.
Polityki często wymagają zgodnego urządzenia lub MFA, więc atakujący mógłby zarejestrować zgodne urządzenie, uzyskać token PRT i w ten sposób obejść MFA.
Zacznij od zarejestrowania zgodnego urządzenia w Intune, a następnie uzyskaj PRT za pomocą:
Znajdź więcej informacji na temat tego rodzaju ataku na następującej stronie:
Az - Pass the PRTPobierz wszystkie polityki
MFASweep to skrypt PowerShell, który próbuje zalogować się do różnych usług Microsoftu, używając podanego zestawu poświadczeń i spróbuje zidentyfikować, czy MFA jest włączone. W zależności od tego, jak skonfigurowane są zasady dostępu warunkowego i inne ustawienia uwierzytelniania wieloskładnikowego, niektóre protokoły mogą pozostać jako jednoskładnikowe. Posiada również dodatkowe sprawdzenie konfiguracji ADFS i może próbować zalogować się do lokalnego serwera ADFS, jeśli zostanie wykryty.
Donkey token to zestaw funkcji, które mają na celu pomoc konsultantom ds. bezpieczeństwa, którzy muszą weryfikować Polityki Dostępu Warunkowego, testy dla portali Microsoft z włączonym 2FA itp.
Przetestuj każdy portal, czy możliwe jest zalogowanie się bez MFA:
Ponieważ portal Azure nie jest ograniczony, możliwe jest zbieranie tokena z punktu końcowego portalu, aby uzyskać dostęp do dowolnej usługi wykrytej przez wcześniejsze wykonanie. W tym przypadku zidentyfikowano Sharepoint, a token do uzyskania dostępu do niego jest żądany:
Zakładając, że token ma uprawnienia Sites.Read.All (z Sharepoint), nawet jeśli nie możesz uzyskać dostępu do Sharepoint z sieci z powodu MFA, możliwe jest użycie tokena do uzyskania dostępu do plików za pomocą wygenerowanego tokena:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)