Huy Kha | Arquitecto Senior de Identidad y Seguridad

La escalada de privilegios en Active Directory (AD) permite a los ciberatacantes aumentar el acceso dentro del entorno y comprometer potencialmente redes enteras, sin ser detectados. Enterprise CA Security Configuration (ESC1) es un método de ataque que ha ganado popularidad porque permite a los malos actores obtener acceso privilegiado a través de una herramienta que en realidad está diseñada para facilitar la vida de los administradores: las plantillas de certificados.

¿Qué es un ataque ESC1?

Las plantillas de certificados ayudan a simplificar la administración de las autoridades de certificación (CA) de Active Directory Certificate Services (AD CS) al proporcionar un conjunto preconfigurado de reglas y ajustes que se aplican a las solicitudes de certificados entrantes. Proporcionan a los administradores una forma de agilizar la gestión de certificados y garantizar la coherencia en la aplicación de políticas de certificados.

Sin embargo, las plantillas de certificados pueden ser vulnerables a un uso indebido.

En un ataque ESC1, un atacante aprovecha una plantilla de certificado de CA empresarial mal configurada en AD CS para solicitar un certificado para una cuenta con privilegios elevados, por ejemplo, Administrador de dominio. A continuación, utiliza ese certificado para actuar como esa cuenta, obteniendo un control no autorizado.

¿Cómo funciona un ataque ESC1?

Para realizar un ataque ESC1, un actor malicioso necesita que AD CS esté en ejecución y debe tener permiso para inscribirse en una plantilla de certificado mal configurada.

El atacante busca una configuración de plantilla de certificado vulnerable(Figura 1) con:

  • Suministro en solicitud, lo que permite al atacante solicitar un certificado para cualquier cuenta.
  • Uso ampliado de claves (EKU) extensiones como Client Authentication, PKINIT Client Authentication, Smart Card Logon, Any Purpose-o sin EKU (como SubCA)
Figura 1. Plantilla de certificado vulnerable Plantilla de certificado vulnerable, que permite a un atacante suplantar a todos los usuarios del dominio

Cuando se dan estas condiciones, el atacante puede solicitar un certificado para cualquier cuenta del dominio(Figura 2) y luego utilizarlo para suplantar esa cuenta.

Figura 2. Solicitud de un certificado en nombre de cualquier cuenta especificada

¿Cómo defenderse de un ataque ESC1?

Si su organización dispone de plantillas de certificados que permiten Subject Alternative Names (SAN) y admiten Client Authentication EKUs, podrían ser vulnerables a un ataque ESC1.

Para evitarlo, sigue estos pasos prácticos:

  • Compruebe las plantillas de certificados: Revise todas sus plantillas de certificados e identifique las que permiten SAN y tienen extensiones EKU como:
    • Client Authentication (1.3.6.1.5.5.7.3.2)
    • PKINIT Client Authentication (1.3.6.1.5.2.3.4)
    • Smart Card Logon (OID 1.3.6.1.4.1.311.20.2.2)
    • Any Purpose (OID 2.5.29.37.0)
    • O plantillas sin EKU (como SubCA)
  • Limite quién puede inscribirse: Asegúrese de que sólo los usuarios o grupos que realmente necesiten acceso puedan inscribirse para obtener certificados con estas plantillas. Limitar el acceso ayuda a minimizar quién puede aprovecharse de las plantillas.
  • Requiere la aprobación del director de la AC: Para cualquier plantilla de certificado que permita SAN y admita Client Authenticationactive la aprobación del administrador de certificados de la CA. Esto significa que alguien tiene que aprobar cada solicitud antes de que se emita un certificado.
  • Desactive las plantillas no utilizadas: Si no se utilizan determinadas plantillas de certificados, desactívelas o modifíquelas para eliminar las configuraciones de riesgo. Por ejemplo, desactive el ajuste Suministro en solicitud para que los usuarios no puedan solicitar certificados para otras cuentas.

Los defensores pueden utilizar el Purple Knight para identificar plantillas de certificados inseguras y tomar medidas para remediarlas(Figura 3).

Figura 3. Herramienta Purple Knight que muestra plantillas de certificados vulnerables

Los defensores también pueden utilizar Invoke-Locksmith1 (Figura 4) para identificar rápidamente plantillas de certificados inseguras y tomar medidas para solucionarlas. El script Locksmith PowerShell incluye una opción para la corrección automática, pero es importante probar y revisar todo a fondo antes de implementar cualquier paso de corrección.

Una gran característica de Invoke-Locksmith es que también incluye Invoke-RevertLocksmithlo que permite a una organización revertir fácilmente cualquier cambio si observa algún impacto negativo. Esto proporciona una capa adicional de seguridad al ajustar las plantillas de certificados.

Figura 4. Eliminación de plantillas de certificados vulnerables con Invoke-Locksmith

Cómo detectar los ataques ESC1

En un entorno empresarial de gran tamaño, detectar solicitudes maliciosas a plantillas de certificados vulnerables puede resultar complicado. Aunque los ID de evento 4886 y 4887 pueden mostrar qué usuario solicitó un certificado, no revelan el valor que un atacante ha especificado en el campo subjectAltName para suplantar una cuenta específica.

Desde un punto de vista forense, todas las solicitudes de certificados se registran (Gráfico 5) y pueden verse en la interfaz de usuario de la entidad emisora de certificados en Certificados emitidos. Esta sección muestra cuándo una solicitud de certificado incluye valores como los de la sección subjectAltNamejunto con otros detalles importantes como quién realizó la solicitud, qué plantilla de certificado se utilizó, el EKU y las marcas de tiempo relevantes. Estos registros son útiles para investigar y rastrear cualquier solicitud de certificado sospechosa.

Figura 5. Certificados emitidos por el servidor CA

Perfiles de los actores de amenazas

Los siguientes actores de amenazas han estado ejecutando ataques ESC1 in the wild:

  • UNC53302
  • APT293

Herramientas ESC1

Las siguientes herramientas públicas de abuso de certificados de Active Directory pueden utilizarse para realizar un ataque ESC1:

  • Certificar
  • Certipy

Panorama de las amenazas

Táctica ATT&CK: Escalada de privilegios

El 4 de abril de 2024, Google Cloud publicó un informe en el que se describía cómo el actor de amenazas UNC5330 explotó las vulnerabilidades CVE-2024-21893 y CVE-2024-21887 en Ivanti Connect Secure para infiltrarse en la red de una víctima. Utilizaron una cuenta LDAP bind para explotar una plantilla de certificado de Windows vulnerable, creando un objeto informático y haciéndose pasar por un administrador de dominio.4

El 28 de abril de 2022, Mandiant informó de que APT29 explotó plantillas de certificados mal configuradas para hacerse pasar por usuarios administradores. Al abusar de estas configuraciones erróneas en AD CS, el atacante pudo solicitar certificados como usuarios con privilegios bajos y especificar cuentas con privilegios altos en el campo Subject Alternative Name (SAN). Esto les permitió autenticarse como esos usuarios con privilegios elevados.5

Instantánea de Semperis

AD CS debe tratarse como un activo de nivel 0 porque tiene control directo sobre la seguridad de todo el entorno de Active Directory. Comprometer AD CS podría permitir a los atacantes emitir certificados que les permitan hacerse pasar por cuentas con privilegios elevados, eludir los controles de seguridad y obtener acceso completo a sistemas sensibles.

Más información sobre la elevación de privilegios en AD

Notas finales

  1. https://github.com/jakehildreth/Locksmith/tree/main
  2. https://malpedia.caad.fkie.fraunhofer.de/actor/unc5330
  3. https://malpedia.caad.fkie.fraunhofer.de/actor/apt29
  4. https://cloud.google.com/blog/topics/threat-intelligence/ivanti-post-exploitation-lateral-movement
  5. https://cloud.google.com/blog/topics/threat-intelligence/tracking-apt29-phishing-campaigns