AWS - Cognito Enum

Impara l'hacking AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Cognito

Amazon Cognito è utilizzato per autenticazione, autorizzazione e gestione degli utenti in applicazioni web e mobili. Consente agli utenti la flessibilità di accedere direttamente utilizzando un nome utente e password o indirettamente attraverso un terzo soggetto, tra cui Facebook, Amazon, Google o Apple.

Centrali in Amazon Cognito sono due componenti principali:

  1. User Pools: Questi sono directory progettate per gli utenti dell'app, offrendo funzionalità di registrazione e accesso.

  2. Identity Pools: Questi pool sono strumentali nell'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 post-autenticazione.

User pools

Per apprendere cos'è un Cognito User Pool controlla:

pageCognito User Pools

Identity pools

Per apprendere cos'è un Cognito Identity Pool controlla:

pageCognito Identity Pools

Enumerazione

# 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-poo

## 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, forzare 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

pageAWS - Cognito Privesc

Accesso non autenticato

pageAWS - Cognito Unauthenticated Enum

Persistenza

pageAWS - Cognito Persistence
Impara l'hacking su AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated