Az - Seamless SSO
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Basic Information
From the docs: Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO) firma automáticamente a los usuarios cuando están en sus dispositivos corporativos conectados a su red corporativa. Cuando está habilitado, los usuarios no necesitan escribir sus contraseñas para iniciar sesión en Azure AD, y generalmente, ni siquiera escribir sus nombres de usuario. Esta función proporciona a sus usuarios un acceso fácil a sus aplicaciones basadas en la nube sin necesidad de componentes adicionales en las instalaciones.
Básicamente, Azure AD Seamless SSO firma a los usuarios cuando están en un PC unido a un dominio local.
Es compatible tanto con PHS (Sincronización de Hash de Contraseña) como con PTA (Autenticación Passthrough).
El SSO de escritorio utiliza Kerberos para la autenticación. Cuando se configura, Azure AD Connect crea una cuenta de computadora llamada AZUREADSSOACC$
en AD local. La contraseña de la cuenta AZUREADSSOACC$
es enviada como texto plano a Azure AD durante la configuración.
Los tickets de Kerberos son encriptados usando el NTHash (MD4) de la contraseña y Azure AD utiliza la contraseña enviada para desencriptar los tickets.
Azure AD expone un endpoint (https://autologon.microsoftazuread-sso.com) que acepta tickets de Kerberos. El navegador de la máquina unida al dominio reenvía los tickets a este endpoint para SSO.
On-prem -> cloud
La contraseña del usuario AZUREADSSOACC$
nunca cambia. Por lo tanto, un administrador de dominio podría comprometer el hash de esta cuenta, y luego usarlo para crear tickets de plata para conectarse a Azure con cualquier usuario local sincronizado:
Con el hash ahora puedes generar tickets plateados:
Para utilizar el ticket plateado, se deben ejecutar los siguientes pasos:
Iniciar el Navegador: Se debe lanzar Mozilla Firefox.
Configurar el Navegador:
Navegar a
about:config
.Establecer la preferencia para network.negotiate-auth.trusted-uris a los valores especificados:
https://aadg.windows.net.nsatc.net
https://autologon.microsoftazuread-sso.com
Acceder a la Aplicación Web:
Visitar una aplicación web que esté integrada con el dominio AAD de la organización. Un ejemplo común es Office 365.
Proceso de Autenticación:
En la pantalla de inicio de sesión, se debe ingresar el nombre de usuario, dejando el campo de contraseña en blanco.
Para continuar, presionar TAB o ENTER.
Esto no elude MFA si está habilitado
Opción 2 sin dcsync - SeamlessPass
También es posible realizar este ataque sin un ataque dcsync para ser más sigiloso, como se explica en esta publicación de blog. Para eso solo necesitas uno de los siguientes:
Golden Ticket: Si tienes la clave KRBTGT, puedes crear el TGT que necesitas para el usuario atacado.
Un hash NTLM o clave AES de un usuario comprometido: SeamlessPass se comunicará con el controlador de dominio con esta información para generar el TGT.
Hash NTLM o clave AES de la cuenta AZUREADSSOACC$: Con esta información y el Identificador de Seguridad (SID) del usuario a atacar, es posible crear un ticket de servicio y autenticarte con la nube (como se realizó en el método anterior).
Finalmente, con el TGT es posible usar la herramienta SeamlessPass con:
Más información para configurar Firefox para trabajar con SSO sin problemas se puede encontrar en esta publicación de blog.
Creando tickets de Kerberos para usuarios solo en la nube
Si los administradores de Active Directory tienen acceso a Azure AD Connect, pueden configurar SID para cualquier usuario en la nube. De esta manera, los tickets de Kerberos también se pueden crear para usuarios solo en la nube. El único requisito es que el SID sea un SID adecuado.
Cambiar el SID de los usuarios administradores solo en la nube ahora está bloqueado por Microsoft. Para más información, consulte https://aadinternals.com/post/on-prem_admin/
On-prem -> Nube a través de Delegación Constrainada Basada en Recursos
Cualquiera que pueda gestionar cuentas de computadora (AZUREADSSOACC$
) en el contenedor u OU en el que se encuentra esta cuenta, puede configurar una delegación constrainada basada en recursos sobre la cuenta y acceder a ella.
Referencias
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Last updated