AWS - Cognito Unauthenticated Enum

Wesprzyj HackTricks

Nieuwierzytelniony Cognito

Cognito to usługa AWS umożliwiająca programistom udzielanie użytkownikom aplikacji dostępu do usług AWS. Programiści przyznają role IAM uwierzytelnionym użytkownikom w swojej aplikacji (potencjalnie ludzie będą mogli po prostu się zarejestrować) i mogą również przyznać rolę IAM nieuwierzytelnionym użytkownikom.

Aby uzyskać podstawowe informacje na temat Cognito, sprawdź:

AWS - Cognito Enum

Moduły Pacu do testów penetracyjnych i wyliczania

Pacu, framework eksploatacji AWS, teraz zawiera moduły "cognito__enum" i "cognito__attack", które automatyzują wyliczanie wszystkich zasobów Cognito w koncie i oznaczają słabe konfiguracje, atrybuty użytkownika używane do kontroli dostępu, itp., a także automatyzują tworzenie użytkownika (w tym obsługę MFA) i eskalację uprawnień na podstawie modyfikowalnych niestandardowych atrybutów, użytecznych poświadczeń puli tożsamości, ról do przyjęcia w tokenach id, itp.

Aby uzyskać opis funkcji modułów, zobacz część 2 postu na blogu. Instrukcje instalacji znajdziesz na stronie głównej Pacu.

Użycie

Przykładowe użycie cognito__attack do próby utworzenia użytkownika i wszystkich wektorów eskalacji uprawnień przeciwko określonej puli tożsamości i klientowi puli użytkowników:

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 pul użytkowników, klientów pul użytkowników, pul tożsamości, użytkowników itp. widocznych w bieżącym koncie AWS:

Pacu (new:test) > run cognito__enum

Identity Pool ID

Identity Pools mogą przyznawać role IAM nieuwierzytelnionym użytkownikom, którzy po prostu znają ID basenu tożsamości (co jest dość powszechne do znalezienia), a atakujący posiadający te informacje mógłby próbować uzyskać dostęp do tej roli IAM i ją wykorzystać. Ponadto role IAM mogą być przypisane również do uwierzytelnionych użytkowników, którzy uzyskują dostęp do Identity Pool. Jeśli atakujący może zarejestrować użytkownika lub już ma dostęp do dostawcy tożsamości używanego w basenie tożsamości, mógłby uzyskać dostęp do roli IAM przypisanej do uwierzytelnionych użytkowników i nadużyć jej uprawnień.

Sprawdź, jak to zrobić tutaj.

User Pool ID

Domyślnie Cognito pozwala na rejestrację nowego użytkownika. Możliwość zarejestrowania użytkownika może dać ci dostęp do aplikacji podstawowej lub do roli dostępu IAM uwierzytelnionego użytkownika z Identity Pool, który akceptuje jako dostawcę tożsamości Cognito User Pool. Sprawdź, jak to zrobić tutaj.

Last updated