AWS - Identity Center & SSO Unauthenticated Enum
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)
Ursprünglich vorgeschlagen in diesem Blogbeitrag, ist es möglich, einen Link an einen Benutzer zu senden, der AWS SSO verwendet, der, wenn der Benutzer akzeptiert, dem Angreifer einen Token zur Verfügung stellt, um den Benutzer zu impersonieren und auf alle Rollen zuzugreifen, auf die der Benutzer im Identity Center zugreifen kann.
Um diesen Angriff durchzuführen, sind die Voraussetzungen:
Das Opfer muss Identity Center verwenden
Der Angreifer muss die Subdomain kennen, die vom Opfer verwendet wird <victimsub>.awsapps.com/start
Nur mit den vorherigen Informationen wird der Angreifer in der Lage sein, dem Benutzer einen Link zu senden, der, wenn er akzeptiert wird, dem Angreifer Zugriff auf das AWS-Benutzerkonto gewährt.
Finden der Subdomain
Der erste Schritt des Angreifers besteht darin, die Subdomain herauszufinden, die das Opferunternehmen in ihrem Identity Center verwendet. Dies kann über OSINT oder Raten + BF erfolgen, da die meisten Unternehmen hier ihren Namen oder eine Variation ihres Namens verwenden werden.
Mit diesen Informationen ist es möglich, die Region zu ermitteln, in der das Identity Center konfiguriert wurde:
Generiere den Link für das Opfer & sende ihn
Führe den folgenden Code aus, um einen AWS SSO-Login-Link zu generieren, damit das Opfer sich authentifizieren kann. Für die Demo führe diesen Code in einer Python-Konsole aus und verlasse sie nicht, da du später einige Objekte benötigst, um das Token zu erhalten:
Send den generierten Link an das Opfer unter Verwendung deiner großartigen Social Engineering Fähigkeiten!
Warte, bis das Opfer es akzeptiert
Wenn das Opfer bereits bei AWS angemeldet war, muss es nur die Berechtigungen akzeptieren. Wenn nicht, muss es sich anmelden und dann die Berechtigungen akzeptieren. So sieht das Prompt heutzutage aus:
Erhalte SSO-Zugriffstoken
Wenn das Opfer das Prompt akzeptiert hat, führe diesen Code aus, um ein SSO-Token zu generieren, das den Benutzer impersoniert:
Der SSO-Zugriffstoken ist 8 Stunden gültig.
Benutzer impersonifizieren
Es ist interessant zu wissen, dass der vorherige Angriff auch funktioniert, wenn ein "unphishbares MFA" (webAuth) verwendet wird. Dies liegt daran, dass der vorherige Workflow niemals die verwendete OAuth-Domain verlässt. Anders als bei anderen Phishing-Angriffen, bei denen der Benutzer die Anmeldedomain ersetzen muss, ist im Fall des Gerätecode-Workflows vorgesehen, dass ein Code von einem Gerät bekannt ist und der Benutzer sich sogar auf einem anderen Gerät anmelden kann. Wenn die Eingabeaufforderung akzeptiert wird, kann das Gerät, nur durch Kenntnis des ursprünglichen Codes, Anmeldeinformationen für den Benutzer abrufen.
Für weitere Informationen dazu prüfen Sie diesen Beitrag.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)