AWS - Cognito Unauthenticated Enum
Reading time: 3 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Unauthenticated Cognito
Cognito - це сервіс AWS, який дозволяє розробникам надавати своїм користувачам доступ до сервісів AWS. Розробники надають IAM ролі автентифікованим користувачам у своїй програмі (можливо, люди зможуть просто зареєструватися) і вони також можуть надати IAM роль неавтентифікованим користувачам.
Для основної інформації про Cognito дивіться:
Identity Pool ID
Identity Pools можуть надавати IAM ролі неавтентифікованим користувачам, які просто знають Identity Pool ID (що досить поширено знайти), і зловмисник з цією інформацією може спробувати отримати доступ до цієї IAM ролі та експлуатувати її.
Більше того, IAM ролі також можуть бути призначені автентифікованим користувачам, які отримують доступ до Identity Pool. Якщо зловмисник може зареєструвати користувача або вже має доступ до постачальника ідентичності, що використовується в identity pool, він може отримати доступ до IAM ролі, що надається автентифікованим користувачам і зловживати її привілеями.
User Pool ID
За замовчуванням Cognito дозволяє реєструвати нових користувачів. Можливість зареєструвати користувача може надати вам доступ до основного застосунку або до автентифікованої IAM ролі доступу Identity Pool, яка приймає як постачальника ідентичності Cognito User Pool. Перевірте, як це зробити тут.
Pacu modules for pentesting and enumeration
Pacu, фреймворк експлуатації AWS, тепер включає модулі "cognito__enum" та "cognito__attack", які автоматизують перерахування всіх активів Cognito в обліковому записі та виявляють слабкі конфігурації, атрибути користувачів, що використовуються для контролю доступу тощо, а також автоматизують створення користувачів (включаючи підтримку MFA) та ескалацію привілеїв на основі змінних користувацьких атрибутів, використовуваних облікових даних identity pool, ролей, що можуть бути прийняті в id токенах тощо.
Для опису функцій модулів дивіться частину 2 блог-посту. Для інструкцій з установки дивіться основну сторінку Pacu.
Usage
Приклад використання cognito__attack
для спроби створення користувача та всіх векторів привілеїв проти даного identity pool та клієнта user pool:
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:
Pacu (new:test) > run cognito__enum
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.