AWS - Cognito Unauthenticated Enum
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 EnumPacu-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:
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:
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.
Last updated