AWS - Cognito Enum

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Cognito

Amazon Cognito jest wykorzystywany do uwierzytelniania, autoryzacji i zarządzania użytkownikami w aplikacjach internetowych i mobilnych. Umożliwia użytkownikom elastyczne logowanie się bezpośrednio za pomocą nazwy użytkownika i hasła lub pośrednio za pośrednictwem strony trzeciej, w tym Facebooka, Amazona, Google'a lub Apple'a.

Centralne dla Amazon Cognito są dwie podstawowe komponenty:

  1. Pule użytkowników: Są to katalogi przeznaczone dla użytkowników aplikacji, oferujące funkcje rejestracji i logowania.

  2. Pule tożsamości: Te pule są istotne w autoryzowaniu użytkowników do dostępu do różnych usług AWS. Nie biorą bezpośrednio udziału w procesie logowania się ani rejestracji, ale są kluczowe dla dostępu do zasobów po uwierzytelnieniu.

Pule użytkowników

Aby dowiedzieć się, co to jest Pula użytkowników Cognito, sprawdź:

pageCognito User Pools

Pule tożsamości

Aby dowiedzieć się, co to jest Pula tożsamości Cognito, sprawdź:

pageCognito Identity Pools

Enumeracja

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

Pule tożsamości - Niestandardowa enumeracja

Tylko znając ID puli tożsamości możesz być w stanie uzyskać poświadczenia roli przypisanej do nieuwierzytelnionych użytkowników (jeśli istnieją). Sprawdź tutaj, jak to zrobić.

Pule użytkowników - Niestandardowa enumeracja

Nawet jeśli nie znasz poprawnej nazwy użytkownika w Cognito, możesz być w stanie wyliczyć poprawne nazwy użytkowników, BF hasła lub nawet zarejestrować nowego użytkownika, znając tylko ID klienta aplikacji (które zazwyczaj znajduje się w kodzie źródłowym). Sprawdź tutaj, jak to zrobić.

Eskalacja uprawnień

pageAWS - Cognito Privesc

Niestandardowy dostęp

pageAWS - Cognito Unauthenticated Enum

Trwałość

pageAWS - Cognito Persistence
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated