From 97978853eb4e398e84f51e27dff96816dfab6a04 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 18 Aug 2025 14:22:05 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-services/aws-cognito- --- .../cognito-identity-pools.md | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-cognito-enum/cognito-identity-pools.md b/src/pentesting-cloud/aws-security/aws-services/aws-cognito-enum/cognito-identity-pools.md index dc6c540b0..74e968b4f 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-cognito-enum/cognito-identity-pools.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-cognito-enum/cognito-identity-pools.md @@ -2,9 +2,9 @@ {{#include ../../../../banners/hacktricks-training.md}} -## Basic Information +## Informações Básicas -Os pools de identidade desempenham um papel crucial ao permitir que seus usuários **adquiram credenciais temporárias**. Essas credenciais são essenciais para acessar vários serviços da AWS, incluindo, mas não se limitando a, Amazon S3 e DynamoDB. Um recurso notável dos pools de identidade é seu suporte tanto para usuários convidados anônimos quanto para uma variedade de provedores de identidade para autenticação de usuários. Os provedores de identidade suportados incluem: +Os pools de identidade desempenham um papel crucial ao permitir que seus usuários **adquiram credenciais temporárias**. Essas credenciais são essenciais para acessar vários serviços da AWS, incluindo, mas não se limitando a, Amazon S3 e DynamoDB. Um recurso notável dos pools de identidade é seu suporte tanto para usuários anônimos quanto para uma variedade de provedores de identidade para autenticação de usuários. Os provedores de identidade suportados incluem: - Amazon Cognito user pools - Opções de login social, como Facebook, Google, Login com Amazon e Sign in with Apple @@ -43,7 +43,7 @@ Além disso, o serviço **cognito-sync** é o serviço que permite **gerenciar e ### Tools for pentesting -- [Pacu](https://github.com/RhinoSecurityLabs/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 a MFA) e escalonamento de privilégios com base em atributos personalizados modificáveis, credenciais de pool de identidade utilizáveis, funções assumíveis em tokens de id, etc. +- [Pacu](https://github.com/RhinoSecurityLabs/pacu), o framework de exploração AWS, agora inclui os módulos "cognito\_\_enum" e "cognito\_\_attack" que automatizam a enumeração de todos os ativos 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 a MFA) e escalonamento de privilégios com base em atributos personalizados modificáveis, credenciais de pool de identidade utilizáveis, funções assumíveis em tokens de id, etc. Para uma descrição das funções dos módulos, veja a parte 2 do [blog post](https://rhinosecuritylabs.com/aws/attacking-aws-cognito-with-pacu-p2). Para instruções de instalação, veja a página principal do [Pacu](https://github.com/RhinoSecurityLabs/pacu). @@ -112,13 +112,13 @@ aws cognito-identity get-id --identity-pool-id --no-sign aws cognito-identity get-credentials-for-identity --identity-id --no-sign ``` > [!WARNING] -> Note que, por padrão, um usuário cognito **não autenticado NÃO PODE ter nenhuma permissão, mesmo que tenha sido atribuída via uma política**. Verifique a seção a seguir. +> Note que, por padrão, um **usuário não autenticado do cognito NÃO PODE ter nenhuma permissão, mesmo que tenha sido atribuída via uma política**. Verifique a seção a seguir. ### Fluxo de Autenticação Aprimorado vs Básico A seção anterior seguiu o **fluxo de autenticação aprimorado padrão**. Este fluxo define uma **política de sessão** [**restritiva**](../../aws-basic-information/index.html#session-policies) para a sessão do papel IAM gerado. Esta política permitirá apenas que a sessão [**use os serviços desta lista**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services) (mesmo que o papel tenha acesso a outros serviços). -No entanto, há uma maneira de contornar isso; se o **pool de Identidade tiver "Fluxo Básico (Clássico)" habilitado**, o usuário poderá obter uma sessão usando esse fluxo que **não terá essa política de sessão restritiva**. +No entanto, há uma maneira de contornar isso; se o **pool de Identidade tiver o "Fluxo Básico (Clássico)" habilitado**, o usuário poderá obter uma sessão usando esse fluxo que **não terá essa política de sessão restritiva**. ```bash # Get auth ID aws cognito-identity get-id --identity-pool-id --no-sign @@ -142,34 +142,48 @@ Tendo um conjunto de credenciais IAM, você deve verificar [quais acessos você > [!NOTE] > Lembre-se de que **usuários autenticados** provavelmente terão **permissões diferentes**, então se você puder **se inscrever dentro do aplicativo**, tente fazer isso e obtenha as novas credenciais. -Também pode haver **papéis** disponíveis para **usuários autenticados acessando o Identity Pool**. +Também pode haver **funções** disponíveis para **usuários autenticados acessando o Pool de Identidade**. Para isso, você pode precisar ter acesso ao **provedor de identidade**. Se for um **Cognito User Pool**, talvez você possa abusar do comportamento padrão e **criar um novo usuário você mesmo**. > [!TIP] -> O **papel autenticado do IAM Cognito criado via** é chamado por padrão `Cognito_Auth_Role` +> A **função IAM Cognito autenticada criada via** é chamada por padrão `Cognito_Auth_Role` -De qualquer forma, o **exemplo a seguir** espera que você já tenha feito login em um **Cognito User Pool** usado para acessar o Identity Pool (não se esqueça de que outros tipos de provedores de identidade também podem ser configurados). +De qualquer forma, o **exemplo a seguir** espera que você já tenha feito login em um **Cognito User Pool** usado para acessar o Pool de Identidade (não se esqueça de que outros tipos de provedores de identidade também podem ser configurados). -
aws cognito-identity get-id \
+

+# Updated format
+aws cognito-identity get-id \
 --identity-pool-id  \
---logins cognito-idp..amazonaws.com/=
+--logins '{"cognito-idp..amazonaws.com/": ""}'
 
-# Obtenha o identity_id da resposta do comando anterior
 aws cognito-identity get-credentials-for-identity \
 --identity-id  \
---logins cognito-idp..amazonaws.com/=
+--logins '{"cognito-idp..amazonaws.com/": ""}'
 
-
-# No IdToken você pode encontrar os papéis que um usuário tem acesso devido aos Grupos do User Pool
-# Use o --custom-role-arn para obter credenciais para um papel específico
 aws cognito-identity get-credentials-for-identity \
 --identity-id  \
-    --custom-role-arn  \
-    --logins cognito-idp..amazonaws.com/=
+--custom-role-arn  \
+--logins '{"cognito-idp..amazonaws.com/": ""}'
+
+ +> **Formato obsoleto** — estes podem não funcionar mais com o AWS CLI atual: +

+aws cognito-identity get-id \
+--identity-pool-id  \
+--logins cognito-idp..amazonaws.com/=
+
+aws cognito-identity get-credentials-for-identity \
+--identity-id  \
+--logins cognito-idp..amazonaws.com/=
+
+aws cognito-identity get-credentials-for-identity \
+--identity-id  \
+--custom-role-arn  \
+--logins cognito-idp..amazonaws.com/=
 
> [!WARNING] -> É possível **configurar diferentes papéis IAM dependendo do provedor de identidade** que o usuário está logado ou até mesmo apenas dependendo **do usuário** (usando claims). Portanto, se você tiver acesso a diferentes usuários através do mesmo ou de diferentes provedores, pode ser **vale a pena fazer login e acessar os papéis IAM de todos eles**. +> É possível **configurar diferentes funções IAM dependendo do provedor de identidade** que o usuário está logado ou até mesmo apenas dependendo **do usuário** (usando claims). Portanto, se você tiver acesso a diferentes usuários através do mesmo ou de diferentes provedores, pode valer a pena **fazer login e acessar as funções IAM de todos eles**. {{#include ../../../../banners/hacktricks-training.md}}