AWS - Persistência do Cognito

Reading time: 3 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Cognito

Para mais informações, acesse:

AWS - Cognito Enum

Persistência do usuário

Cognito é um serviço que permite atribuir funções a usuários não autenticados e autenticados e controlar um diretório de usuários. Várias configurações diferentes podem ser alteradas para manter alguma persistência, como:

  • Adicionar um User Pool controlado pelo usuário a um Identity Pool
  • Dar uma função IAM a um Identity Pool não autenticado e permitir o fluxo de autenticação básica
  • Ou a um Identity Pool autenticado se o atacante puder fazer login
  • Ou melhorar as permissões das funções dadas
  • Criar, verificar e privesc via atributos controlados por usuários ou novos usuários em um User Pool
  • Permitir provedores de identidade externos para fazer login em um User Pool ou em um Identity Pool

Verifique como realizar essas ações em

AWS - Cognito Privesc

cognito-idp:SetRiskConfiguration

Um atacante com esse privilégio poderia modificar a configuração de risco para poder fazer login como um usuário Cognito sem que alarmes sejam acionados. Confira o cli para verificar todas as opções:

bash
aws cognito-idp set-risk-configuration --user-pool-id <pool-id> --compromised-credentials-risk-configuration EventFilter=SIGN_UP,Actions={EventAction=NO_ACTION}

Por padrão, isso está desativado:

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks