AWS - Cognito Enum

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Cognito

O Amazon Cognito é utilizado para autenticação, autorização e gerenciamento de usuários em aplicativos web e móveis. Ele permite aos usuários a flexibilidade de fazer login diretamente usando um nome de usuário e senha ou indiretamente por meio de um terceiro, incluindo Facebook, Amazon, Google ou Apple.

Central para o Amazon Cognito estão dois componentes principais:

  1. Pools de Usuários: Estes são diretórios projetados para os usuários do seu aplicativo, oferecendo funcionalidades de registro e login.

  2. Pools de Identidade: Essas pools são instrumentais na autorização de usuários para acessar diferentes serviços da AWS. Elas não estão diretamente envolvidas no processo de login ou registro, mas são cruciais para o acesso a recursos pós-autenticação.

Pools de Usuários

Para aprender o que é um Pool de Usuários do Cognito, verifique:

pageCognito User Pools

Pools de Identidade

Para aprender o que é um Pool de Identidade do Cognito, verifique:

pageCognito Identity Pools

Enumeração

# 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 de Identidade - Enumeração não autenticada

Apenas sabendo o ID do Pool de Identidade, você pode ser capaz de obter credenciais do papel associado aos usuários não autenticados (se houver). Verifique como aqui.

Pools de Usuários - Enumeração não autenticada

Mesmo que você não saiba um nome de usuário válido dentro do Cognito, você pode ser capaz de enumerar nomes de usuário válidos, BF as senhas ou até mesmo registrar um novo usuário apenas sabendo o ID do cliente do aplicativo (que geralmente é encontrado no código-fonte). Verifique como aqui.

Privilégios Elevados

pageAWS - Cognito Privesc

Acesso não autenticado

pageAWS - Cognito Unauthenticated Enum

Persistência

pageAWS - Cognito Persistence
Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Última actualización