AWS - Cognito Unauthenticated Enum

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Cognito Não Autenticado

Cognito é um serviço da AWS que permite aos desenvolvedores conceder acesso de seus usuários de aplicativos aos serviços da AWS. Os desenvolvedores concederão funções IAM a usuários autenticados em seu aplicativo (potencialmente as pessoas poderão apenas se inscrever) e também podem conceder uma função IAM a usuários não autenticados.

Para informações básicas sobre o Cognito, consulte:

pageAWS - Cognito Enum

Módulos Pacu para pentesting e enumeração

O Pacu, o framework de exploração da AWS, agora inclui os módulos "cognito__enum" e "cognito__attack" que automatizam a enumeração de todos os ativos do Cognito em uma conta e sinalizam configurações fracas, atributos de usuário usados para controle de acesso, etc., e também automatizam a criação de usuários (incluindo suporte para MFA) e escalonamento de privilégios com base em atributos personalizáveis modificáveis, credenciais utilizáveis do pool de identidade, funções assumíveis em tokens de ID, etc.

Para uma descrição das funções dos módulos, consulte a parte 2 do post do blog. Para instruções de instalação, consulte a página principal do Pacu.

Uso

Exemplo de uso do cognito__attack para tentar a criação de usuário e todos os vetores de escalonamento de privilégios contra um determinado pool de identidade e cliente de pool de usuários:

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

Exemplo de uso do cognito__enum para reunir todos os grupos de usuários, clientes de grupos de usuários, pools de identidade, usuários, etc. visíveis na conta AWS atual:

Pacu (new:test) > run cognito__enum

ID da Pool de Identidade

As Pools de Identidade podem conceder funções IAM a usuários não autenticados que apenas conhecem o ID da Pool de Identidade (o que é bastante comum de encontrar), e um atacante com essas informações poderia tentar acessar essa função IAM e explorá-la. Além disso, funções IAM também podem ser atribuídas a usuários autenticados que acessam a Pool de Identidade. Se um atacante pode registrar um usuário ou já tem acesso ao provedor de identidade usado na pool de identidade, ele poderia acessar a função IAM sendo concedida a usuários autenticados e abusar de seus privilégios.

Verifique como fazer isso aqui.

ID da Pool de Usuários

Por padrão, o Cognito permite registrar novos usuários. Ser capaz de registrar um usuário pode lhe dar acesso à aplicação subjacente ou à função de acesso IAM autenticada de uma Pool de Identidade que está aceitando como provedor de identidade a Pool de Usuários do Cognito. Verifique como fazer isso aqui.

Última actualización