AWS - Cognito Unauthenticated Enum

Підтримайте HackTricks

Невідомий Cognito

Cognito - це сервіс AWS, який дозволяє розробникам надавати користувачам своїх додатків доступ до сервісів AWS. Розробники надають IAM-ролі аутентифікованим користувачам у своєму додатку (потенційно люди можуть просто зареєструватися), а також можуть надати IAM-роль невідомим користувачам.

Для базової інформації про Cognito перегляньте:

AWS - Cognito Enum

Модулі Pacu для пентесту та переліку

Pacu, фреймворк експлуатації AWS, тепер включає модулі "cognito__enum" та "cognito__attack", які автоматизують перелік всіх активів Cognito в обліковому записі та позначають слабкі конфігурації, атрибути користувачів, використані для контролю доступу тощо, а також автоматизують створення користувачів (включаючи підтримку MFA) та підвищення привілеїв на основі змінних користувацьких атрибутів, використовуваних облікових даних пулу, ролей, які можна припустити в ідентифікаційних токенах тощо.

Для опису функцій модулів див. частину 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

Приклад використання cognito__enum для збору всіх пулів користувачів, клієнтів пулів користувачів, пулів ідентичності, користувачів тощо, які видимі в поточному обліковому записі AWS:

Pacu (new:test) > run cognito__enum

Ідентифікатор пулу ідентифікації

Пули ідентифікації можуть надавати IAM-ролі неавтентифікованим користувачам, які просто знають ідентифікатор пулу ідентифікації (що досить часто знаходиться), і зловмисник з цією інформацією може спробувати отримати доступ до цієї IAM-ролі та зловживати нею. Крім того, IAM-ролі також можуть бути призначені аутентифікованим користувачам, які отримують доступ до пулу ідентифікації. Якщо зловмисник може зареєструвати користувача або вже має доступ до постачальника ідентифікації, використованого в пулі ідентифікації, ви можете отримати доступ до IAM-ролі, яка надається аутентифікованим користувачам та зловживати її привілеями.

Перевірте, як це зробити тут.

Ідентифікатор пулу користувачів

За замовчуванням Cognito дозволяє реєструвати нового користувача. Можливість реєстрації користувача може дати вам доступ до підлеглої програми або до аутентифікованої IAM-ролі доступу до пулу ідентифікації, який приймає в якості постачальника ідентифікації пул користувачів Cognito. Перевірте, як це зробити тут.

Last updated