AWS - Cognito Enum
Reading time: 4 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Cognito
Amazon Cognito è utilizzato per autenticazione, autorizzazione e gestione degli utenti nelle applicazioni web e mobili. Consente agli utenti la flessibilità di accedere direttamente utilizzando un nome utente e una password o indirettamente tramite un terzo, inclusi Facebook, Amazon, Google o Apple.
Al centro di Amazon Cognito ci sono due componenti principali:
- User Pools: Questi sono directory progettate per gli utenti della tua app, offrendo funzionalità di registrazione e accesso.
- Identity Pools: Questi pool sono strumentali per autorizzare gli utenti ad accedere a diversi servizi AWS. Non sono direttamente coinvolti nel processo di accesso o registrazione, ma sono cruciali per l'accesso alle risorse dopo l'autenticazione.
User pools
Per sapere cos'è un Cognito User Pool check:
Identity pools
Per sapere cos'è un Cognito Identity Pool check:
Enumeration
# List Identity Pools
aws cognito-identity list-identity-pools --max-results 60
aws cognito-identity describe-identity-pool --identity-pool-id "eu-west-2:38b294756-2578-8246-9074-5367fc9f5367"
aws cognito-identity list-identities --identity-pool-id <ident-pool-id> --max-results 60
aws cognito-identity get-identity-pool-roles --identity-pool-id <ident-pool-id>
# Identities Datasets
## Get dataset of identity id (inside identity pool)
aws cognito-sync list-datasets --identity-pool-id <ident-pool-id> --identity-id <ident-id>
## Get info of the dataset
aws cognito-sync describe-dataset --identity-pool-id <value> --identity-id <value> --dataset-name <value>
## Get dataset records
aws cognito-sync list-records --identity-pool-id <value> --identity-id <value> --dataset-name <value>
# User Pools
## Get pools
aws cognito-idp list-user-pools --max-results 60
## Get users
aws cognito-idp list-users --user-pool-id <user-pool-id>
## Get groups
aws cognito-idp list-groups --user-pool-id <user-pool-id>
## Get users in a group
aws cognito-idp list-users-in-group --user-pool-id <user-pool-id> --group-name <group-name>
## List App IDs of a user pool
aws cognito-idp list-user-pool-clients --user-pool-id <user-pool-id>
## List configured identity providers for a user pool
aws cognito-idp list-identity-providers --user-pool-id <user-pool-id>
## List user import jobs
aws cognito-idp list-user-import-jobs --user-pool-id <user-pool-id> --max-results 60
## Get MFA config of a user pool
aws cognito-idp get-user-pool-mfa-config --user-pool-id <user-pool-id>
## Get risk configuration
aws cognito-idp describe-risk-configuration --user-pool-id <user-pool-id>
Identity Pools - Enumerazione non autenticata
Solo conoscendo l'ID del Pool di Identità potresti essere in grado di ottenere le credenziali del ruolo associato agli utenti non autenticati (se presenti). Controlla come qui.
User Pools - Enumerazione non autenticata
Anche se non conosci un nome utente valido all'interno di Cognito, potresti essere in grado di enumerare nomi utente validi, BF le password o addirittura registrare un nuovo utente solo conoscendo l'ID del client dell'app (che di solito si trova nel codice sorgente). Controlla come qui.
Privesc
Accesso non autenticato
AWS - Cognito Unauthenticated Enum
Persistenza
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.