AWS - Cognito 未認証列挙
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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
未認証の Cognito
Cognito は、開発者が アプリのユーザーに AWS サービスへのアクセスを付与 できる AWS のサービスです。開発者はアプリ内で 認証済みユーザーに IAM ロールを付与 します(場合によってはユーザーが単にサインアップできることもあります)。また、未認証ユーザーに IAM ロールを付与 することも可能です。
For basic info about Cognito check:
Identity Pool ID
Identity Pools は、Identity Pool ID をただ知っているだけの 未認証ユーザーに IAM ロールを付与 することがあり(Identity Pool ID は比較的見つけやすいことが多い)、攻撃者はこの情報を使って当該 IAM ロールにアクセス したり悪用したりする可能性があります。さらに、IAM ロールは Identity Pool にアクセスする 認証済みユーザー にも割り当てられることがあります。攻撃者が ユーザーを登録できる、あるいは既にその Identity Pool で使われている identity provider へのアクセス を持っている場合、認証済みユーザーに与えられる IAM ロール にアクセスして権限を乱用できる可能性があります。
User Pool ID
デフォルトで Cognito は 新しいユーザーの登録を許可 します。ユーザーを登録できることにより、基盤となるアプリケーションへのアクセス や、Cognito User Pool を identity provider として受け入れている Identity Pool の 認証済み IAM アクセスロール に対するアクセスを得られる可能性があります。 詳しい方法はここを参照してください.
Pacu modules for pentesting and enumeration
Pacu (https://github.com/RhinoSecurityLabs/pacu)、AWS の攻撃フレームワークは現在 “cognito__enum” と “cognito__attack” モジュールを含んでおり、アカウント内のすべての Cognito アセットの列挙を自動化し、弱い設定、アクセス制御に使われるユーザー属性などを検出します。また、ユーザー作成(MFA サポートを含む)や、変更可能なカスタム属性、利用可能な identity pool の資格情報、id トークンでアサイン可能なロールなどに基づく権限昇格を自動化します。
モジュールの機能の説明は blog post のパート2を参照してください。インストール手順はメインの Pacu ページを参照してください。
使用方法
指定した identity pool と user pool client に対してユーザー作成と全ての privesc ベクトルを試行するサンプル 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
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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
HackTricks Cloud

