AWS - Cognito Unauthenticated Enum

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

Unauthenticated Cognito

Cognitoは、開発者がアプリユーザーにAWSサービスへのアクセス権を付与できるようにするAWSサービスです。開発者は、アプリ内の認証済みユーザーにIAMロールを付与し(おそらく人々は単にサインアップすることができるかもしれません)、未認証ユーザーにIAMロールを付与することもできます。

Cognitoの基本情報については、以下をチェックしてください:

pageAWS - Cognito Enum

ペンテストと列挙のためのPacuモジュール

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

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

使用方法

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

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

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

Pacu (new:test) > run cognito__enum

Identity Pool ID

Identity Poolsは、単にIdentity Pool IDを知っている未認証ユーザーにIAMロールを付与することができます(見つけやすい)。この情報を持つ攻撃者は、そのIAMロールにアクセスを試み、悪用することができます。さらに、IAMロールは、Identity Poolにアクセスする認証済みユーザーにも割り当てることができます。攻撃者がユーザーを登録することができるか、またはIdentity Poolで使用されているIDプロバイダーにアクセスできる場合、認証されたユーザーに与えられているIAMロールにアクセスし、その権限を悪用することができます。

ここでその方法を確認.

User Pool ID

デフォルトでは、Cognitoは新しいユーザーを登録することを許可します。ユーザーを登録できるようになると、基礎となるアプリケーションや、CognitoユーザープールをIDプロバイダーとして受け入れているIdentity Poolの認証済みIAMアクセスロールにアクセスできるかもしれません。ここでその方法を確認.

**htARTE (HackTricks AWS Red Team Expert)**でAWSハッキングをゼロからヒーローまで学ぶ こちら!

HackTricksをサポートする他の方法:

最終更新