AWS - Cognito Unauthenticated Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Cognito - це сервіс AWS, який дозволяє розробникам надавати своїм користувачам доступ до сервісів AWS. Розробники надають IAM ролі аутентифікованим користувачам у своїй програмі (можливо, люди зможуть просто зареєструватися) і вони також можуть надати IAM роль неаутентифікованим користувачам.
Для основної інформації про Cognito перегляньте:
AWS - Cognito EnumIdentity Pools можуть надавати IAM ролі неаутентифікованим користувачам, які просто знають ID Identity Pool (що досить поширено знайти), і зловмисник з цією інформацією може спробувати отримати доступ до цієї IAM ролі і експлуатувати її. Більше того, IAM ролі також можуть бути призначені аутентифікованим користувачам, які отримують доступ до Identity Pool. Якщо зловмисник може зареєструвати користувача або вже має доступ до постачальника ідентичності, що використовується в Identity Pool, він може отримати доступ до IAM ролі, що надається аутентифікованим користувачам і зловживати її привілеями.
За замовчуванням Cognito дозволяє реєструвати нових користувачів. Можливість зареєструвати користувача може надати вам доступ до основного застосунку або до аутентифікованої IAM ролі доступу Identity Pool, який приймає як постачальника ідентичності Cognito User Pool. Перевірте, як це зробити тут.
Pacu, фреймворк експлуатації AWS, тепер включає модулі "cognito__enum" і "cognito__attack", які автоматизують перерахування всіх активів Cognito в обліковому записі та виявляють слабкі конфігурації, атрибути користувачів, що використовуються для контролю доступу тощо, а також автоматизують створення користувачів (включаючи підтримку MFA) і ескалацію привілеїв на основі змінних атрибутів, що підлягають модифікації, використовуваних облікових даних Identity Pool, ролей, що можуть бути прийняті в токенах ідентичності тощо.
Для опису функцій модулів дивіться частину 2 блог-посту. Для інструкцій з установки дивіться основну сторінку Pacu.
Приклад використання cognito__attack
для спроби створення користувача та всіх векторів ескалації привілеїв проти даного Identity Pool і клієнта User Pool:
Приклад використання cognito__enum для збору всіх пулів користувачів, клієнтів пулів користувачів, пулів ідентичності, користувачів тощо, видимих у поточному обліковому записі AWS:
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)