AWS - Cognito Unauthenticated Enum

Sostieni HackTricks

Cognito non autenticato

Cognito è un servizio AWS che consente agli sviluppatori di concedere agli utenti dell'app l'accesso ai servizi AWS. Gli sviluppatori concederanno ruoli IAM agli utenti autenticati nella loro app (potenzialmente le persone potranno semplicemente registrarsi) e possono anche concedere un ruolo IAM agli utenti non autenticati.

Per informazioni di base su Cognito, controlla:

AWS - Cognito Enum

Moduli Pacu per pentesting e enumerazione

Pacu, il framework di sfruttamento AWS, include ora i moduli "cognito__enum" e "cognito__attack" che automatizzano l'enumerazione di tutti gli asset di Cognito in un account e segnalano configurazioni deboli, attributi utente utilizzati per il controllo degli accessi, ecc., e automatizzano anche la creazione di utenti (incluso il supporto MFA) e l'escalation dei privilegi basata su attributi personalizzabili modificabili, credenziali di pool di identità utilizzabili, ruoli assumibili nei token di identità, ecc.

Per una descrizione delle funzioni dei moduli, consulta la parte 2 del post sul blog. Per le istruzioni di installazione, consulta la pagina principale di Pacu.

Utilizzo

Esempio di utilizzo di cognito__attack per tentare la creazione di utenti e tutti i vettori di escalation dei privilegi contro un determinato pool di identità e client pool di utenti:

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

Campione di utilizzo di cognito__enum per raccogliere tutti i pool di utenti, client pool di utenti, pool di identità, utenti, ecc. visibili nell'account AWS corrente:

Pacu (new:test) > run cognito__enum

ID Pool di identità

Gli Identity Pool possono concedere ruoli IAM agli utenti non autenticati che conoscono semplicemente l'ID del Pool di identità (che è abbastanza comune da trovare), e un attaccante con queste informazioni potrebbe cercare di accedere a quel ruolo IAM ed sfruttarlo. Inoltre, i ruoli IAM potrebbero anche essere assegnati agli utenti autenticati che accedono all'Identity Pool. Se un attaccante può registrare un utente o ha già accesso al provider di identità utilizzato nel pool di identità, potrebbe accedere al ruolo IAM assegnato agli utenti autenticati e abusarne dei privilegi.

Verifica come fare ciò qui.

ID Pool utente

Per impostazione predefinita, Cognito consente di registrare nuovi utenti. Essere in grado di registrare un utente potrebbe darti accesso all'applicazione sottostante o al ruolo di accesso IAM autenticato di un Pool di identità che accetta come provider di identità il Pool utente Cognito. Verifica come fare ciò qui.

Last updated