AWS - Identity Center & SSO Unauthenticated Enum
Phishing de Código de Dispositivo de AWS
Inicialmente propuesto en esta publicación de blog, es posible enviar un enlace a un usuario utilizando AWS SSO que, si el usuario acepta, el atacante podrá obtener un token para suplantar al usuario y acceder a todos los roles a los que el usuario puede acceder en el Centro de Identidad.
Para llevar a cabo este ataque, los requisitos son:
La víctima necesita usar el Centro de Identidad
El atacante debe conocer el subdominio utilizado por la víctima
<subdominiovictima>.awsapps.com/start
Solo con esta información previa, el atacante podrá enviar un enlace al usuario que, si es aceptado, otorgará al atacante acceso a la cuenta de usuario de AWS.
Ataque
Encontrar el subdominio
El primer paso del atacante es descubrir el subdominio que la empresa víctima está utilizando en su Centro de Identidad. Esto se puede hacer a través de OSINT o adivinando + BF ya que la mayoría de las empresas estarán utilizando su nombre o una variación de su nombre aquí.
Con esta información, es posible obtener la región donde se configuró el Centro de Identidad:
Generar el enlace para la víctima y enviarlo
Ejecuta el siguiente código para generar un enlace de inicio de sesión de AWS SSO para que la víctima pueda autenticarse. Para la demostración, ejecuta este código en una consola de Python y no la cierres, ya que más adelante necesitarás algunos objetos para obtener el token:
Espera a que la víctima lo acepte
Si la víctima ya estaba logueada en AWS, solo necesitará aceptar otorgar los permisos, si no lo estaba, necesitará iniciar sesión y luego aceptar otorgar los permisos. Así es como se ve el mensaje en la actualidad:
Obtener el token de acceso SSO
Si la víctima aceptó el mensaje, ejecuta este código para generar un token SSO suplantando al usuario:
El token de acceso SSO es válido por 8 horas.
Suplantar al usuario
Suplantación de identidad en el MFA inquebrantable
Es interesante saber que el ataque anterior funciona incluso si se está utilizando un "MFA inquebrantable" (webAuth). Esto se debe a que el flujo de trabajo anterior nunca abandona el dominio OAuth utilizado. A diferencia de otros ataques de phishing donde el usuario necesita suplantar el dominio de inicio de sesión, en este caso el flujo de trabajo del código de dispositivo está preparado para que un código sea conocido por un dispositivo y el usuario pueda iniciar sesión incluso en una máquina diferente. Si se acepta la solicitud, el dispositivo, solo con conocer el código inicial, podrá recuperar las credenciales del usuario.
Para obtener más información sobre esto, consulte esta publicación.
Herramientas Automáticas
Referencias
Última actualización