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 de usuários

Cognito é um serviço que permite atribuir roles 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:

  • Adding a User Pool controlled by the user to an Identity Pool
  • Give an IAM role to an unauthenticated Identity Pool and allow Basic auth flow
  • Or to an authenticated Identity Pool if the attacker can login
  • Or improve the permissions of the given roles
  • Create, verify & privesc via attributes controlled users or new users in a User Pool
  • Allowing external Identity Providers to login in a User Pool or in an Identity Pool

Confira 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 conseguir logar como um Cognito user sem que alarmes sejam acionados. Check out the cli para ver 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