AWS - Cognito Unauthenticated Enum

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Cognito no autenticado

Cognito es un servicio de AWS que permite a los desarrolladores conceder a los usuarios de sus aplicaciones acceso a los servicios de AWS. Los desarrolladores otorgarán roles IAM a los usuarios autenticados en su aplicación (potencialmente las personas podrán simplemente registrarse) y también pueden otorgar un rol IAM a los usuarios no autenticados.

Para obtener información básica sobre Cognito, consulta:

pageAWS - Cognito Enum

Módulos de Pacu para pentesting y enumeración

Pacu, el marco de explotación de AWS, ahora incluye los módulos "cognito__enum" y "cognito__attack" que automatizan la enumeración de todos los activos de Cognito en una cuenta y señalan configuraciones débiles, atributos de usuario utilizados para el control de acceso, etc., y también automatizan la creación de usuarios (incluido el soporte de MFA) y la escalada de privilegios basada en atributos personalizables modificables, credenciales de grupo de identidades utilizables, roles asumibles en tokens de identidad, etc.

Para obtener una descripción de las funciones de los módulos, consulta la parte 2 de la publicación del blog. Para instrucciones de instalación, consulta la página principal de Pacu.

Uso

Uso de muestra de cognito__attack para intentar la creación de usuarios y todos los vectores de escalada de privilegios contra un grupo de identidades y cliente de grupo de usuarios específicos:

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

Ejemplo de uso de cognito__enum para recopilar todos los grupos de usuarios, clientes de grupos de usuarios, grupos de identidades, usuarios, etc. visibles en la cuenta actual de AWS:

Pacu (new:test) > run cognito__enum

ID de grupo de identidad

Los Grupos de Identidad pueden otorgar roles IAM a usuarios no autenticados que solo conozcan el ID del Grupo de Identidad (lo cual es bastante común de encontrar), y un atacante con esta información podría intentar acceder a ese rol IAM y explotarlo. Además, los roles IAM también podrían asignarse a usuarios autenticados que accedan al Grupo de Identidad. Si un atacante puede registrar un usuario o ya tiene acceso al proveedor de identidad utilizado en el grupo de identidad, podría acceder al rol IAM que se otorga a los usuarios autenticados y abusar de sus privilegios.

Ver cómo hacerlo aquí.

ID de grupo de usuarios

Por defecto, Cognito permite registrar nuevos usuarios. Poder registrar un usuario podría darte acceso a la aplicación subyacente o al rol de acceso IAM autenticado de un Grupo de Identidad que acepta como proveedor de identidad el Grupo de Usuarios de Cognito. Ver cómo hacerlo aquí.

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización