Az - PTA - Pass-through Authentication
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
From the docs: La Autenticación Passthrough de Azure Active Directory (Azure AD) permite a sus usuarios iniciar sesión tanto en aplicaciones locales como en aplicaciones basadas en la nube utilizando las mismas contraseñas. Esta función proporciona a sus usuarios una mejor experiencia: una contraseña menos que recordar, y reduce los costos del servicio de asistencia de TI porque es menos probable que sus usuarios olviden cómo iniciar sesión. Cuando los usuarios inician sesión utilizando Azure AD, esta función valida las contraseñas de los usuarios directamente contra su Active Directory local.
En PTA, las identidades están sincronizadas pero las contraseñas no lo están como en PHS.
La autenticación se valida en el AD local y la comunicación con la nube se realiza mediante un agente de autenticación que se ejecuta en un servidor local (no necesita estar en el DC local).
Para iniciar sesión, el usuario es redirigido a Azure AD, donde envía el nombre de usuario y la contraseña.
Las credenciales son encriptadas y colocadas en una cola en Azure AD.
El agente de autenticación local recoge las credenciales de la cola y las desencripta. Este agente se llama "agente de autenticación passthrough" o agente PTA.
El agente valida las credenciales contra el AD local y envía la respuesta de vuelta a Azure AD que, si la respuesta es positiva, completa el inicio de sesión del usuario.
If an attacker compromises the PTA he can see the all credentials from the queue (in clear-text). He can also validate any credentials to the AzureAD (similar attack to Skeleton key).
Si tiene acceso administrativo al servidor Azure AD Connect con el agente PTA en ejecución, puede usar el módulo AADInternals para insertar una puerta trasera que validará TODAS las contraseñas introducidas (por lo que todas las contraseñas serán válidas para la autenticación):
Si la instalación falla, esto se debe probablemente a la falta de Microsoft Visual C++ 2015 Redistributables.
También es posible ver las contraseñas en texto claro enviadas al agente PTA utilizando el siguiente cmdlet en la máquina donde se instaló el backdoor anterior:
Esta puerta trasera hará:
Crear una carpeta oculta C:\PTASpy
Copiar un PTASpy.dll
a C:\PTASpy
Inyectar PTASpy.dll
al proceso AzureADConnectAuthenticationAgentService
Cuando el servicio AzureADConnectAuthenticationAgent se reinicia, PTASpy es “descargado” y debe ser reinstalado.
Después de obtener privilegios de GA en la nube, es posible registrar un nuevo agente PTA configurándolo en una máquina controlada por el atacante. Una vez que el agente está configurado, podemos repetir los pasos anteriores para autenticar usando cualquier contraseña y también, obtener las contraseñas en texto claro.
Es posible usar SSO Sin Problemas con PTA, que es vulnerable a otros abusos. Revísalo en:
Az - Seamless SSOAprende 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)