AWS - Cognito Unauthenticated Enum
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の使用例:
以下は、現在のAWSアカウントで表示されるすべてのユーザープール、ユーザープールクライアント、アイデンティティプール、ユーザーなどを収集するための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アクセスロールにアクセスできるかもしれません。ここでその方法を確認.
最終更新