Az - Pass the Certificate
Pass the Certificate (Azure)
En máquinas unidas a Azure, es posible autenticarse de una máquina a otra utilizando certificados que deben ser emitidos por Azure AD CA para el usuario requerido (como sujeto) cuando ambas máquinas soportan el mecanismo de autenticación NegoEx.
En términos super simplificados:
La máquina (cliente) que inicia la conexión necesita un certificado de Azure AD para un usuario.
El cliente crea un encabezado de JSON Web Token (JWT) que contiene PRT y otros detalles, lo firma utilizando la clave derivada (usando la clave de sesión y el contexto de seguridad) y lo envía a Azure AD.
Azure AD verifica la firma del JWT utilizando la clave de sesión del cliente y el contexto de seguridad, comprueba la validez del PRT y responde con el certificado.
En este escenario y después de obtener toda la información necesaria para un ataque de Pass the PRT:
Nombre de usuario
ID de inquilino
PRT
Contexto de seguridad
Clave derivada
Es posible solicitar un certificado P2P para el usuario con la herramienta PrtToCert:
Los certificados durarán lo mismo que el PRT. Para usar el certificado, puedes utilizar la herramienta de python AzureADJoinedMachinePTC que autenticará en la máquina remota, ejecutará PSEXEC y abrirá un CMD en la máquina víctima. Esto nos permitirá usar Mimikatz nuevamente para obtener el PRT de otro usuario.
Referencias
Para más detalles sobre cómo funciona Pass the Certificate, consulta la publicación original https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
Last updated