AWS - Cognito Enum
Cognito
Amazon Cognito se utiliza para autenticación, autorización y gestión de usuarios en aplicaciones web y móviles. Permite a los usuarios la flexibilidad de iniciar sesión directamente usando un nombre de usuario y contraseña o indirectamente a través de un tercero, incluyendo Facebook, Amazon, Google o Apple.
Los componentes principales de Amazon Cognito son:
User Pools: Estos son directorios diseñados para los usuarios de tu aplicación, ofreciendo funcionalidades de registro e inicio de sesión.
Identity Pools: Estos pools son fundamentales para autorizar a los usuarios a acceder a diferentes servicios de AWS. No están directamente involucrados en el proceso de inicio de sesión o registro, pero son cruciales para el acceso a recursos después de la autenticación.
User pools
Para aprender qué es un Cognito User Pool revisa:
Cognito User PoolsIdentity pools
Para aprender qué es un Cognito Identity Pool revisa:
Cognito Identity PoolsEnumeración
Identity Pools - Enumeración No Autenticada
Solo sabiendo el ID del Identity Pool podrías ser capaz de obtener credenciales del rol asociado a usuarios no autenticados (si los hay). Revisa cómo aquí.
User Pools - Enumeración No Autenticada
Incluso si no conoces un nombre de usuario válido dentro de Cognito, podrías ser capaz de enumerar nombres de usuario válidos, BF las contraseñas o incluso registrar un nuevo usuario solo sabiendo el ID del cliente de la App (que usualmente se encuentra en el código fuente). Revisa cómo aquí.
Privesc
AWS - Cognito PrivescAcceso No Autenticado
AWS - Cognito Unauthenticated EnumPersistencia
AWS - Cognito PersistenceLast updated