AWS - Cognito Unauthenticated Enum

Lernen Sie AWS-Hacking von Null auf Heldenniveau mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Unauthentifiziertes Cognito

Cognito ist ein AWS-Dienst, der es Entwicklern ermöglicht, ihren App-Benutzern Zugriff auf AWS-Dienste zu gewähren. Entwickler werden IAM-Rollen an authentifizierte Benutzer in ihrer App vergeben (potenziell können sich Benutzer einfach anmelden) und sie können auch einer IAM-Rolle unauthentifizierte Benutzer zuweisen.

Für grundlegende Informationen zu Cognito siehe:

pageAWS - Cognito Enum

Pacu-Module für Pentesting und Enumeration

Pacu, das AWS-Exploitation-Framework, enthält jetzt die Module "cognito__enum" und "cognito__attack", die die Enumeration aller Cognito-Assets in einem Konto automatisieren und schwache Konfigurationen, Benutzerattribute, die für den Zugriffskontrolle verwendet werden, usw. kennzeichnen, und auch die automatisierte Benutzererstellung (einschließlich MFA-Unterstützung) und Privilegieneskalation basierend auf änderbaren benutzerdefinierten Attributen, verwendbaren Identitätspool-Anmeldeinformationen, übernehmbaren Rollen in ID-Token usw.

Für eine Beschreibung der Funktionen der Module siehe Teil 2 des Blog-Beitrags. Für Installationsanweisungen siehe die Hauptseite von Pacu.

Verwendung

Beispielhafte Verwendung von cognito__attack, um die Benutzererstellung zu versuchen und alle Privilegieneskalationsvektoren gegen einen bestimmten Identitätspool und Benutzerpool-Client:

Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gmail.com --identity_pools
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX

Beispiel für die Verwendung von cognito__enum, um alle Benutzerpools, Benutzerpool-Clients, Identitätspools, Benutzer usw. zu sammeln, die im aktuellen AWS-Konto sichtbar sind:

Pacu (new:test) > run cognito__enum

Identitäts-Pool-ID

Identitäts-Pools können IAM-Rollen für nicht authentifizierte Benutzer gewähren, die nur die Identitäts-Pool-ID kennen (die ziemlich einfach zu finden ist), und ein Angreifer mit diesen Informationen könnte versuchen, auf diese IAM-Rolle zuzugreifen und sie auszunutzen. Darüber hinaus können IAM-Rollen auch authentifizierten Benutzern zugewiesen werden, die auf den Identitäts-Pool zugreifen. Wenn ein Angreifer einen Benutzer registrieren kann oder bereits Zugriff auf den Identitätsanbieter hat, der im Identitäts-Pool verwendet wird, könnte er Zugriff auf die IAM-Rolle erhalten, die authentifizierten Benutzern zugewiesen wird, und deren Berechtigungen missbrauchen.

Überprüfen Sie hier, wie Sie das tun können.

Benutzer-Pool-ID

Standardmäßig erlaubt Cognito das Registrieren neuer Benutzer. Die Möglichkeit, einen Benutzer zu registrieren, könnte Ihnen Zugriff auf die zugrunde liegende Anwendung oder auf die authentifizierte IAM-Zugriffsrolle eines Identitäts-Pools geben, der als Identitätsanbieter den Cognito-Benutzer-Pool akzeptiert. Überprüfen Sie hier, wie Sie das tun können.

Erlernen Sie AWS-Hacking von Null auf Heldenniveau mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated