Az - Conditional Access Policies / MFA Bypass
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Azure-Bedingte Zugriffsrichtlinien sind Regeln, die in Microsoft Azure eingerichtet sind, um den Zugriff auf Azure-Dienste und -Anwendungen basierend auf bestimmten Bedingungen durchzusetzen. Diese Richtlinien helfen Organisationen, ihre Ressourcen zu sichern, indem sie die richtigen Zugriffskontrollen unter den richtigen Umständen anwenden. Bedingte Zugriffsrichtlinien definieren im Wesentlichen Wer auf Was von Wo und Wie zugreifen kann.
Hier sind ein paar Beispiele:
Anmelderisiko-Richtlinie: Diese Richtlinie könnte so eingestellt werden, dass sie eine Multi-Faktor-Authentifizierung (MFA) erfordert, wenn ein Anmelderisiko erkannt wird. Wenn das Anmeldeverhalten eines Benutzers beispielsweise im Vergleich zu seinem regulären Muster ungewöhnlich ist, wie z. B. das Anmelden aus einem anderen Land, kann das System zusätzliche Authentifizierung anfordern.
Geräte-Compliance-Richtlinie: Diese Richtlinie kann den Zugriff auf Azure-Dienste nur auf Geräte beschränken, die den Sicherheitsstandards der Organisation entsprechen. Beispielsweise könnte der Zugriff nur von Geräten erlaubt werden, die über aktuelle Antivirensoftware verfügen oder eine bestimmte Version des Betriebssystems ausführen.
Es ist möglich, dass eine bedingte Zugriffsrichtlinie einige Informationen überprüft, die leicht manipuliert werden können, was eine Umgehung der Richtlinie ermöglicht. Und wenn beispielsweise die Richtlinie MFA konfiguriert hat, kann der Angreifer sie umgehen.
Es ist möglich, eine Bedingung basierend auf der Geräteplattform (Android, iOS, Windows, macOS) festzulegen, jedoch basiert dies auf dem User-Agent, sodass es ziemlich einfach ist, dies zu umgehen. Selbst wenn alle Optionen MFA erzwingen, können Sie mit einem User-Agent, den es nicht erkennt, die MFA umgehen.
Natürlich, wenn dies in der bedingten Richtlinie festgelegt ist, könnte ein Angreifer einfach ein VPN im erlaubten Land verwenden oder versuchen, einen Weg zu finden, um von einer erlaubten IP-Adresse aus auf diese Bedingungen zuzugreifen.
Sie könnten angeben, dass, wenn Clients auf Office 365-Apps über den Browser zugreifen, sie MFA benötigen:
Um dies zu umgehen, ist es möglich, vorzutäuschen, dass Sie sich über eine Desktop-Anwendung (wie Microsoft Teams im folgenden Beispiel) in eine App einloggen, was den Schutz umgeht:
Da die Microsoft Teams-App viele Berechtigungen hat, können Sie diesen Zugriff nutzen.
Sie können die ID von weiteren öffentlichen Anwendungen mit vordefinierten Office365-Berechtigungen in der Datenbank von roadtools finden:
Dieser Angriff ist besonders interessant, da standardmäßig öffentliche Office365-Anwendungen Berechtigungen zum Zugriff auf einige Daten haben.
Standardmäßig haben andere von Benutzern erstellte Apps keine Berechtigungen und könnten privat sein. Benutzer könnten jedoch auch öffentliche Apps erstellen, die ihnen einige Berechtigungen gewähren.
Ein potenzielles Szenario, in dem eine Richtlinie MFA für den Zugriff auf eine Anwendung erfordert, wenn der Benutzer einen Browser verwendet (vielleicht, weil es sich um eine Webanwendung handelt und dies daher der einzige Weg sein wird), könnte sein, dass es eine Proxy-Anwendung gibt - eine Anwendung, die im Auftrag von Benutzern mit anderen Apps interagieren darf. Der Benutzer könnte sich in der Proxy-Anwendung anmelden und dann über diese Proxy-Anwendung in die ursprünglich MFA-geschützte App einloggen.
Überprüfen Sie die Invoke-MFASweep und die donkeytoken Techniken.
Eine Azure MFA-Option besteht darin, einen Anruf an die konfigurierte Telefonnummer zu erhalten, bei dem der Benutzer gebeten wird, das Zeichen #
zu senden.
Da Zeichen nur Töne sind, könnte ein Angreifer die Voicemail-Nachricht der Telefonnummer kompromittieren, die Nachricht so konfigurieren, dass der Ton von #
wiedergegeben wird, und dann, wenn die MFA angefordert wird, sicherstellen, dass das Telefon des Opfers besetzt ist (indem er anruft), sodass der Azure-Anruf an die Voicemail umgeleitet wird.
Richtlinien verlangen oft ein konformes Gerät oder MFA, sodass ein Angreifer ein konformes Gerät registrieren und ein PRT-Token erhalten könnte, um auf diese Weise die MFA zu umgehen.
Beginnen Sie mit der Registrierung eines konformen Geräts in Intune, und holen Sie dann den PRT mit:
Finden Sie weitere Informationen zu dieser Art von Angriff auf der folgenden Seite:
Az - Pass the PRTHolen Sie sich alle Richtlinien
MFASweep ist ein PowerShell-Skript, das versucht, sich mit einem bereitgestellten Satz von Anmeldeinformationen bei verschiedenen Microsoft-Diensten anzumelden und zu identifizieren, ob MFA aktiviert ist. Je nachdem, wie die bedingten Zugriffsrichtlinien und andere Einstellungen zur Multi-Faktor-Authentifizierung konfiguriert sind, können einige Protokolle als Einzel-Faktor verbleiben. Es gibt auch eine zusätzliche Überprüfung der ADFS-Konfigurationen und kann versuchen, sich beim lokalen ADFS-Server anzumelden, wenn dieser erkannt wird.
Donkey token ist eine Reihe von Funktionen, die darauf abzielen, Sicherheitsberatern zu helfen, die Conditional Access Policies validieren, Tests für 2FA-aktivierte Microsoft-Portale usw. durchführen müssen.
Testen Sie jedes Portal, ob es möglich ist, sich ohne MFA anzumelden:
Weil das Azure Portal nicht eingeschränkt ist, ist es möglich, ein Token vom Portal-Endpunkt zu sammeln, um auf jeden Dienst zuzugreifen, der durch die vorherige Ausführung erkannt wurde. In diesem Fall wurde Sharepoint identifiziert, und ein Token zum Zugriff darauf wird angefordert:
Angenommen, das Token hat die Berechtigung Sites.Read.All (von Sharepoint), selbst wenn Sie aufgrund von MFA nicht auf Sharepoint über das Web zugreifen können, ist es möglich, das Token zu verwenden, um auf die Dateien mit dem generierten Token zuzugreifen:
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)