AWS - Cognito Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks:

Cognito

Amazon Cognito est utilisé pour l'authentification, l'autorisation et la gestion des utilisateurs dans les applications web et mobiles. Il permet aux utilisateurs de se connecter soit directement en utilisant un nom d'utilisateur et un mot de passe, soit indirectement via un tiers, y compris Facebook, Amazon, Google ou Apple.

Au cœur d'Amazon Cognito se trouvent deux composants principaux :

  1. Pools d'utilisateurs : Ce sont des répertoires conçus pour les utilisateurs de votre application, offrant des fonctionnalités d'inscription et de connexion.

  2. Pools d'identités : Ces pools sont essentiels pour autoriser les utilisateurs à accéder à différents services AWS. Ils ne sont pas directement impliqués dans le processus de connexion ou d'inscription, mais sont cruciaux pour l'accès aux ressources après l'authentification.

Pools d'utilisateurs

Pour savoir ce qu'est un Pool d'utilisateurs Cognito, consultez :

pageCognito User Pools

Pools d'identités

Pour savoir ce qu'est un Pool d'identités Cognito, consultez :

pageCognito Identity Pools

Énumération

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

Pools d'identité - Énumération non authentifiée

Juste en connaissant l'ID du pool d'identité, vous pourriez être en mesure d'obtenir les informations d'identification du rôle associé aux utilisateurs non authentifiés (le cas échéant). Consultez comment ici.

Pools d'utilisateurs - Énumération non authentifiée

Même si vous ne connaissez pas un nom d'utilisateur valide dans Cognito, vous pourriez être en mesure d'énumérer des noms d'utilisateur valides, BF les mots de passe ou même enregistrer un nouvel utilisateur juste en connaissant l'ID du client de l'application (qui est généralement trouvé dans le code source). Consultez comment ici.

Privilège d'élévation

pageAWS - Cognito Privesc

Accès non authentifié

pageAWS - Cognito Unauthenticated Enum

Persistance

pageAWS - Cognito Persistence
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks:

Dernière mise à jour