AWS - Cognito Unauthenticated Enum
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Unauthenticated Cognito
Cognito is an AWS service that enable developers to przyznać użytkownikom aplikacji dostęp do usług AWS. Deweloperzy zwykle przyznają role IAM uwierzytelnionym użytkownikom w swojej aplikacji (potencjalnie ludzie będą mogli po prostu się zarejestrować) i mogą także przyznać rolę IAM nieuwierzytelnionym użytkownikom.
For basic info about Cognito check:
Identity Pool ID
Identity Pools mogą przyznawać role IAM nieuwierzytelnionym użytkownikom, jeśli ktoś tylko zna Identity Pool ID (co jest dość powszechne do znaleźć), a atakujący z tą informacją może spróbować uzyskać dostęp do tej roli IAM i to wykorzystać.
Ponadto role IAM mogą być też przypisane do uwierzytelnionych użytkowników, którzy korzystają z Identity Pool. Jeśli atakujący może zarejestrować użytkownika lub już ma dostęp do dostawcy tożsamości używanego w Identity Pool, może uzyskać dostęp do roli IAM przyznawanej uwierzytelnionym użytkownikom i nadużyć jej uprawnień.
User Pool ID
Domyślnie Cognito pozwala zarejestrować nowego użytkownika. Możliwość zarejestrowania użytkownika może dać Ci dostęp do podstawowej aplikacji lub do uwierzytelnionej roli dostępu IAM Identity Pool, która akceptuje jako dostawcę tożsamości Cognito User Pool. Check how to do that here.
Pacu modules for pentesting and enumeration
Pacu, the AWS exploitation framework, teraz zawiera moduły “cognito__enum” i “cognito__attack”, które automatyzują enumerację wszystkich zasobów Cognito w koncie oraz oznaczają słabe konfiguracje, atrybuty użytkowników wykorzystywane do kontroli dostępu itp., a także automatyzują tworzenie użytkowników (w tym obsługę MFA) oraz eskalację uprawnień bazującą na modyfikowalnych atrybutach niestandardowych, użytecznych poświadczeniach identity pool, możliwych do przyjęcia rolach w id tokens itp.
For a description of the modules’ functions see part 2 of the blog post. For installation instructions see the main Pacu page.
Usage
Sample cognito__attack usage to attempt user creation and all privesc vectors against a given identity pool and user pool client:
Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gmail.com --identity_pools
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX
Przykładowe użycie cognito__enum do zebrania wszystkich user pools, user pool clients, identity pools, users itd. widocznych na bieżącym koncie AWS:
Pacu (new:test) > run cognito__enum
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

