AWS - Cognito Unauthenticated Enum

Reading time: 6 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

Unauthenticated Cognito

Cognitoは、開発者がアプリユーザーにAWSサービスへのアクセスを付与することを可能にするAWSサービスです。開発者は、アプリ内の認証されたユーザーIAMロールを付与し(潜在的に誰でもサインアップできる可能性があります)、認証されていないユーザーにもIAMロールを付与することができます。

Cognitoに関する基本情報は以下を確認してください:

AWS - Cognito Enum

Identity Pool ID

Identity Poolは、Identity Pool IDを知っているだけの認証されていないユーザーIAMロールを付与することができ(これは比較的一般的に見つけることができます)、この情報を持つ攻撃者はそのIAMロールにアクセスし、悪用しようとする可能性があります。
さらに、IAMロールは、Identity Poolにアクセスする認証されたユーザーにも割り当てられる可能性があります。攻撃者がユーザーを登録できるか、すでにIdentity Poolで使用されているアイデンティティプロバイダーにアクセスできる場合、認証されたユーザーに付与されるIAMロールにアクセスし、その特権を悪用することができます。

ここでその方法を確認してください

User Pool ID

デフォルトでは、Cognitoは新しいユーザーを登録することを許可します。ユーザーを登録できることは、基盤となるアプリケーションや、Cognito User Poolをアイデンティティプロバイダーとして受け入れているIdentity Poolの認証されたIAMアクセスロールへのアクセスを提供する可能性があります。ここでその方法を確認してください

Pacu modules for pentesting and enumeration

Pacu、AWSの悪用フレームワークは、アカウント内のすべてのCognito資産の列挙を自動化し、脆弱な構成、アクセス制御に使用されるユーザー属性などをフラグ付けする「cognito__enum」と「cognito__attack」モジュールを含むようになりました。また、ユーザー作成(MFAサポートを含む)や、変更可能なカスタム属性、使用可能なアイデンティティプールの資格情報、IDトークン内の引き受け可能なロールに基づく特権昇格も自動化します。

モジュールの機能の説明については、ブログ投稿のパート2を参照してください。インストール手順については、メインのPacuページを参照してください。

Usage

特定のアイデンティティプールとユーザープールクライアントに対してユーザー作成とすべての特権昇格ベクターを試みるためのサンプルcognito__attackの使用法:

bash
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

サンプル cognito__enum の使用法は、現在の AWS アカウントで表示されるすべてのユーザープール、ユーザープールクライアント、アイデンティティプール、ユーザーなどを収集することです:

bash
Pacu (new:test) > run cognito__enum

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする