AWS - Cognito Unauthenticated Enum
Reading time: 4 minutes
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Unauthenticated Cognito
Cognito è un servizio AWS che permette agli sviluppatori di concedere agli utenti della loro app l'accesso ai servizi AWS. Gli sviluppatori assegneranno IAM roles agli utenti autenticati nella loro app (potenzialmente chiunque potrà semplicemente registrarsi) e possono anche concedere un IAM role to unauthenticated users.
Per informazioni di base su Cognito consulta:
Identity Pool ID
Identity Pools possono concedere IAM roles to unauthenticated users a chi semplicemente know the Identity Pool ID (che è piuttosto comune da find), e un attaccante con queste informazioni potrebbe provare a access that IAM role e sfruttarlo.
Inoltre, IAM roles potrebbero anche essere assegnati a authenticated users che accedono all'Identity Pool. Se un attaccante può register a user o ha già access to the identity provider usato nell'identity pool, potrebbe ottenere accesso al IAM role being given to authenticated users e abusarne i privilegi.
User Pool ID
Per impostazione predefinita Cognito permette di register new user. Essere in grado di registrare un utente potrebbe darti access all'underlaying application o al authenticated IAM access role of an Identity Pool che accetta come identity provider il Cognito User Pool. Check how to do that here.
Pacu modules for pentesting and enumeration
Pacu, il framework di exploitation per AWS, ora include i moduli "cognito__enum" e "cognito__attack" che automatizzano l'enumeration di tutti gli asset Cognito in un account e segnalano configurazioni deboli, attributi utente usati per il controllo accessi, ecc., e automatizzano anche la creazione di utenti (incluso il supporto MFA) e il privilege escalation basato su attributi personalizzati modificabili, credenziali utilizzabili dell'identity pool, ruoli assumibili nei token id, ecc.
Per una descrizione delle funzioni dei moduli vedi la parte 2 del blog post. Per le istruzioni di installazione vedi la pagina principale di Pacu.
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
Esempio di utilizzo di cognito__enum per raccogliere tutti i user pools, user pool clients, identity pools, users, ecc. visibili nell'account AWS corrente:
Pacu (new:test) > run cognito__enum
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
 HackTricks Cloud
HackTricks Cloud