From 7b86cff5281814e62abcd998df819b8eaa8c2310 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 18 Aug 2025 14:46:45 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-services/aws-cognito- --- .../cognito-identity-pools.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 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 df8d381b0..63c85a9fa 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 @@ -35,7 +35,7 @@ print(response) ``` ### Cognito Sync -要生成身份池会话,您首先需要**生成身份 ID**。这个身份 ID 是**该用户会话的标识**。这些标识可以有多达 20 个数据集,可以存储多达 1MB 的键值对。 +要生成身份池会话,您首先需要**生成身份 ID**。这个身份 ID 是**该用户会话的标识**。这些标识可以有多达 20 个数据集,最多可以存储 1MB 的键值对。 这对于**保持用户信息**(用户将始终使用相同的身份 ID)是**有用的**。 @@ -55,7 +55,7 @@ Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gma us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients 59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX ``` -示例 cognito\_\_enum 用法,以收集当前 AWS 账户中可见的所有用户池、用户池客户端、身份池、用户等: +示例 cognito__enum 用法以收集当前 AWS 账户中可见的所有用户池、用户池客户端、身份池、用户等: ```bash Pacu (new:test) > run cognito__enum ``` @@ -75,10 +75,10 @@ $ cognito-scanner --help ### 未认证 -攻击者需要知道的唯一信息,以便在 Cognito 应用中作为未认证用户**获取 AWS 凭证**,就是**身份池 ID**,并且此**ID 必须在**web/mobile **应用中硬编码**以供使用。ID 看起来像这样:`eu-west-1:098e5341-8364-038d-16de-1865e435da3b`(无法通过暴力破解获得)。 +攻击者需要知道的唯一信息是 **在 Cognito 应用中获取 AWS 凭证** 的 **身份池 ID**,并且此 **ID 必须硬编码** 在 web/mobile **应用程序** 中以供使用。ID 的格式如下:`eu-west-1:098e5341-8364-038d-16de-1865e435da3b`(无法通过暴力破解获得)。 > [!TIP] -> 通过创建的**IAM Cognito 未认证角色默认称为** `Cognito_Unauth_Role` +> 默认情况下,通过创建的 **IAM Cognito 未认证角色** 被称为 `Cognito_Unauth_Role` 如果您发现一个硬编码的身份池 ID 并且它允许未认证用户,您可以使用以下方法获取 AWS 凭证: ```python @@ -131,25 +131,25 @@ aws cognito-identity get-open-id-token --identity-id --no-sign aws sts assume-role-with-web-identity --role-arn "arn:aws:iam:::role/" --role-session-name sessionname --web-identity-token --no-sign ``` > [!WARNING] -> 如果您收到此 **错误**,则是因为 **基本流程未启用(默认)** +> 如果您收到此**错误**,则是因为**基本流程未启用(默认)** > `发生错误(InvalidParameterException),调用 GetOpenIdToken 操作时:基本(经典)流程未启用,请使用增强流程。` -拥有一组 IAM 凭证后,您应该检查 [您拥有的访问权限](../../index.html#whoami) 并尝试 [提升权限](../../aws-privilege-escalation/index.html)。 +拥有一组 IAM 凭证后,您应该检查[您拥有的访问权限](../../index.html#whoami)并尝试[提升权限](../../aws-privilege-escalation/index.html)。 ### 已认证 > [!NOTE] -> 请记住,**已认证用户**可能会被授予 **不同的权限**,因此如果您可以 **在应用程序内注册**,请尝试这样做并获取新的凭证。 +> 请记住,**已认证用户**可能会被授予**不同的权限**,因此如果您可以**在应用程序内注册**,请尝试这样做并获取新凭证。 -对于 **访问身份池的已认证用户**,可能还有 **角色** 可用。 +对于**访问身份池的已认证用户**,可能还有**角色**可用。 -为此,您可能需要访问 **身份提供者**。如果这是 **Cognito 用户池**,也许您可以利用默认行为 **自己创建一个新用户**。 +为此,您可能需要访问**身份提供者**。如果这是一个**Cognito 用户池**,也许您可以利用默认行为**自己创建一个新用户**。 > [!TIP] -> 通过 **IAM Cognito 认证角色创建的角色** 默认称为 `Cognito_Auth_Role` +> 通过创建的**IAM Cognito 认证角色**默认称为 `Cognito_Auth_Role` -无论如何,**以下示例** 假设您已经登录到用于访问身份池的 **Cognito 用户池**(不要忘记,其他类型的身份提供者也可以被配置)。 +无论如何,**以下示例**假设您已经登录到用于访问身份池的**Cognito 用户池**(不要忘记,其他类型的身份提供者也可以被配置)。

 # 更新格式
@@ -184,6 +184,6 @@ aws cognito-identity get-credentials-for-identity \
 
> [!WARNING] -> 可以 **根据用户登录的身份提供者** 配置不同的 IAM 角色,甚至仅仅根据 **用户**(使用声明)。因此,如果您通过相同或不同的提供者访问不同的用户,可能 **值得登录并访问他们的所有 IAM 角色**。 +> 可以**根据用户登录的身份提供者**或甚至**根据用户**(使用声明)配置不同的 IAM 角色。因此,如果您通过相同或不同的提供者访问不同的用户,**登录并访问他们所有的 IAM 角色可能是值得的**。 {{#include ../../../../banners/hacktricks-training.md}}