AWS - Cognito Enum

Підтримайте HackTricks

Cognito

Amazon Cognito використовується для аутентифікації, авторизації та управління користувачами у веб та мобільних додатках. Це дозволяє користувачам гнучко входити безпосередньо за допомогою імені користувача та пароля або опосередковано через третю сторону, включаючи Facebook, Amazon, Google або Apple.

Основними компонентами Amazon Cognito є:

  1. User Pools: Це каталоги, призначені для користувачів вашого додатку, що пропонують функціонал реєстрації та входу.

  2. Identity Pools: Ці пули є важливими для авторизації користувачів для доступу до різних AWS сервісів. Вони не беруть безпосередньої участі у процесі входу або реєстрації, але є важливими для доступу до ресурсів після аутентифікації.

User pools

Щоб дізнатися, що таке Cognito User Pool, перевірте:

Cognito User Pools

Identity pools

Щоб дізнатися, що таке Cognito Identity Pool, перевірте:

Cognito Identity Pools

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-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 - Unauthenticated Enumeration

Просто знаючи Identity Pool ID ви можете отримати облікові дані ролі, пов'язаної з неавтентифікованими користувачами (якщо такі є). Перевірте як тут.

User Pools - Unauthenticated Enumeration

Навіть якщо ви не знаєте дійсного імені користувача в Cognito, ви можете перерахувати дійсні імена користувачів, BF паролі або навіть зареєструвати нового користувача, просто знаючи App client ID (який зазвичай знаходиться в вихідному коді). Перевірте як тут.

Privesc

AWS - Cognito Privesc

Unauthenticated Access

AWS - Cognito Unauthenticated Enum

Persistence

AWS - Cognito Persistence
Підтримайте HackTricks

Last updated