AWS - Cognito Unauthenticated Enum
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Cognito ist ein AWS-Dienst, der Entwicklern ermöglicht, ihren App-Nutzern Zugang zu AWS-Diensten zu gewähren. Entwickler gewähren IAM-Rollen für authentifizierte Benutzer in ihrer App (potenziell können sich Personen einfach anmelden) und sie können auch eine IAM-Rolle für nicht authentifizierte Benutzer gewähren.
Für grundlegende Informationen über Cognito siehe:
AWS - Cognito EnumIdentity Pools können IAM-Rollen für nicht authentifizierte Benutzer gewähren, die nur die Identity Pool ID kennen (was ziemlich häufig zu finden ist), und ein Angreifer mit diesen Informationen könnte versuchen, auf diese IAM-Rolle zuzugreifen und sie auszunutzen. Darüber hinaus könnten IAM-Rollen auch authentifizierten Benutzern zugewiesen werden, die auf den Identity Pool zugreifen. Wenn ein Angreifer einen Benutzer registrieren kann oder bereits Zugriff auf den Identitätsanbieter hat, der im Identity Pool verwendet wird, könnte er auf die IAM-Rolle zugreifen, die authentifizierten Benutzern zugewiesen ist und deren Berechtigungen missbrauchen.
Überprüfe, wie man das hier macht.
Standardmäßig erlaubt Cognito, neue Benutzer zu registrieren. Die Möglichkeit, einen Benutzer zu registrieren, könnte dir Zugriff auf die unterliegende Anwendung oder auf die authentifizierte IAM-Zugriffsrolle eines Identity Pools geben, der den Cognito User Pool als Identitätsanbieter akzeptiert. Überprüfe, wie man das hier macht.
Pacu, das AWS-Exploitation-Framework, umfasst jetzt die Module "cognito__enum" und "cognito__attack", die die Enumeration aller Cognito-Ressourcen in einem Konto automatisieren und schwache Konfigurationen, Benutzerattribute, die für die Zugriffskontrolle verwendet werden, usw. kennzeichnen, sowie die Benutzererstellung (einschließlich MFA-Unterstützung) und Privilegieneskalation basierend auf modifizierbaren benutzerdefinierten Attributen, verwendbaren Identitätspool-Anmeldeinformationen, übernehmbaren Rollen in ID-Token usw. automatisieren.
Für eine Beschreibung der Funktionen der Module siehe Teil 2 des Blogbeitrags. Für Installationsanweisungen siehe die Hauptseite von Pacu.
Beispiel für die Nutzung von cognito__attack
, um die Benutzererstellung und alle Privilegieneskalationsvektoren gegen einen bestimmten Identity Pool und Benutzerpool-Client zu versuchen:
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:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)