Comprendiendo ADCS 101

Comprendiendo ADCS 101

Celia Catalán


En esta publicación estaremos comentando los aspectos básicos sobre ADCS, así como la técnica de explotación ESC1.

Introducción a ADCS

Active Directory Certificate Services (ADCS) es un rol del servidor de Windows que proporciona servicios personalizables para la emisión y gestión de certificados de infraestructura de clave pública (PKI) utilizados en sistemas de seguridad de software. Permite a las organizaciones asegurar la comunicación de red, autenticar usuarios y dispositivos, y garantizar la integridad de los datos mediante servicios criptográficos. ADCS soporta varios tipos de certificados, como certificados SSL/TLS, certificados de firma de código y certificados de inicio de sesión con tarjeta inteligente, entre otros.

El uso de ADCS es muy útil para las organizaciones, ya que pueden desplegar plantillas de certificados, de manera que los usuarios del dominio pueden solicitar enrolarse a dicha plantilla y obtener certificados, obteniendo así acceso o privilegios sobre diferentes elementos del dominio. 

Una mala configuración del rol Active Directory Certificate Services y de sus componentes como las plantillas de certificados, puede derivar en diferentes vulnerabilidades que pueden llegar a permitir una elevación de privilegios en el dominio

Enumeración de vulnerabilidades

Para revisar los servicios de ADCS durante un ejercicio de auditoría, se suelen utilizar herramientas como Certify.exe o Certipy.

Estas dos herramientas permiten enumerar y solicitar certificados desde ADCS, facilitando la tarea de identificar plantillas cuya configuración no es correcta y permite algún tipo de abuso. 

Enumeración de entidad certificadora (CA) en un entorno de Directorio Activo con certify.exe.

Durante la enumeración de vulnerabilidades relativas a ADCS se pueden identificar diferentes técnicas de abuso en función de la situación del entorno auditado. A este tipo de situaciones o entornos mal configurados se les asocian unas técnicas de escalada (ESC) siendo que en la actualidad hay un total de 13 (ESC1 – ESC13) los cuales pueden llegar a permitir una elevación de privilegios en el dominio.

Explotación ESC1

ESC1 se refiere a una vulnerabilidad común en las configuraciones de ADCS donde los permisos de inscripción están configurados incorrectamente. Esta mala configuración puede permitir usuarios de dominio soliciten certificados en nombre de cualquier otra cuenta de la organización, permitiendo así impersonar a cualquiera de estas con las escaladas de privilegios que esto conlleva. 
Con Certify.exe es posible enumerar que plantillas permiten solicitar certificados en nombre de otro usuario de la siguiente manera: 


Terminal

                Certify.exe find /enrolleeSuppliesSubject. 

      


Enumeración Plantilla vulnerable a ESC1.

Una vez detectada una plantilla que permite autoenrolarse a cualquier cuenta de dominio autenticada y que permite especificar el nombre de la cuenta para la obtención del certificado, es posible obtener dicho certificado de la siguiente manera: 

Terminal

              Certify.exe request /ca:'dominio'\'entidad certificadora (CA)' /template:"'nombre de la plantilla vulnerable'" /altname:'cuenta de dominio a impersonar'

      
Solicitud de certificado en nombre de la cuenta “administrator”.

Tras la ejecución del comando anterior, se puede obtener un certificado a nombre de cualquier cuenta de dominio, siendo en este caso la cuenta “administrator”. Posteriormente, utilizando herramientas como openssl es posible transformar este tipo de certificados .pem en certificados .pfx, los cuales pueden ser interpretados por Rubeus para obtener un ticket en nombre de la cuenta asociada al certificado expedido.

ticket de administrador de dominio obtenido.

Como podemos observar se ha obtenido el ticket de administrador de dominio con el certificado obtenido.
En próximas entregas continuaremos hablando sobre diferentes ESCs y sus métodos de explotación.


Ignacio Sánchez, colaborador con Grupo Zerolynx.
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.