Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an dieHackTricks und HackTricks Cloud Github-Repositorys einreichen.
Cognito
Amazon Cognito wird für Authentifizierung, Autorisierung und Benutzerverwaltung in Web- und mobilen Anwendungen verwendet. Es ermöglicht Benutzern die Flexibilität, sich entweder direkt mit einem Benutzernamen und Passwort oder indirekt über einen Drittanbieter wie Facebook, Amazon, Google oder Apple anzumelden.
Zentral für Amazon Cognito sind zwei Hauptkomponenten:
Benutzerpools: Dies sind Verzeichnisse für Ihre App-Benutzer, die Anmelde- und Anmeldefunktionen bieten.
Identitätspools: Diese Pools sind entscheidend für die Autorisierung von Benutzern zum Zugriff auf verschiedene AWS-Dienste. Sie sind nicht direkt am Anmelde- oder Registrierungsprozess beteiligt, sind aber nach der Authentifizierung entscheidend für den Ressourcenzugriff.
Benutzerpools
Um zu erfahren, was ein Cognito-Benutzerpool ist, überprüfen Sie:
Identitätspools
Um zu erfahren, was ein Cognito-Identitätspool ist, überprüfen Sie:
Enumeration
# List Identity Poolsawscognito-identitylist-identity-pools--max-results60awscognito-identitydescribe-identity-pool--identity-pool-id"eu-west-2:38b294756-2578-8246-9074-5367fc9f5367"awscognito-identitylist-identities--identity-pool-id<ident-pool-id>--max-results60awscognito-identityget-identity-pool-roles--identity-pool-id<ident-pool-id># Identities Datasets## Get dataset of identity id (inside identity pool)awscognito-synclist-datasets--identity-pool-id<ident-pool-id>--identity-id<ident-id>## Get info of the datasetawscognito-syncdescribe-dataset--identity-pool-id<value>--identity-id<value>--dataset-name<value>## Get dataset recordsawscognito-synclist-records--identity-pool-id<value>--identity-id<value>--dataset-name<value># User Pools## Get poolsawscognito-idplist-user-pools--max-results60## Get usersawscognito-idplist-users--user-pool-id<user-pool-id>## Get groupsawscognito-idplist-groups--user-pool-id<user-pool-id>## Get users in a groupawscognito-idplist-users-in-group--user-pool-id<user-pool-id>--group-name<group-name>## List App IDs of a user poolawscognito-idplist-user-pool-clients--user-pool-id<user-pool-id>## List configured identity providers for a user poolawscognito-idplist-identity-providers--user-pool-id<user-poo## List user import jobsawscognito-idplist-user-import-jobs--user-pool-id<user-pool-id>--max-results60## Get MFA config of a user poolawscognito-idpget-user-pool-mfa-config--user-pool-id<user-pool-id>## Get risk configurationawscognito-idpdescribe-risk-configuration--user-pool-id<user-pool-id>
Identitäts-Pools - Nicht authentifizierte Enumeration
Nur durch Kenntnis der Identitäts-Pool-ID könnten Sie in der Lage sein, Berechtigungen der Rolle zu erhalten, die nicht authentifizierten Benutzern zugeordnet ist (falls vorhanden). Überprüfen Sie hier, wie das geht.
Benutzer-Pools - Nicht authentifizierte Enumeration
Auch wenn Sie keinen gültigen Benutzernamen in Cognito kennen, könnten Sie in der Lage sein, gültige Benutzernamen zu enumerieren, BF die Passwörter oder sogar einen neuen Benutzer registrieren, indem Sie nur die App-Client-ID kennen (die normalerweise im Quellcode gefunden wird). Überprüfen Sie hier, wie das geht.