Seguridad

Certiception: un honeypot para ADCS

Recientemente en la conferencia Troopers24SRLabs ha liberado una interesante herramienta para hunters, concretamente un honeypot para ADCS (Active Directory Certificate Services) junto con una guía de estrategia para «trolearnos» a los red teamers.

Se trata de Certiception, realmente un template de certificado de aspecto vulnerable que se puede insertar en el entorno ADCS, establece restricciones para evitar la explotación y ayuda a configurar alertas efectivas.

¿Y por qué ADCS es una ubicación ideal para un honeypot?:

  • Fácil acceso: Accesible para todos los usuarios del dominio, ADCS es fácil de descubrir para los atacantes.
  • Hay mucho en juego: las vulnerabilidades pueden comprometer todo el dominio, lo que hace que la explotación sea muy atractiva.
  • Conocimiento común: las vulnerabilidades y las herramientas de explotación son ampliamente conocidas.
  • Autenticidad: Las plantillas ADCS vulnerables son comunes y generan poca desconfianza.
  • Poco monitorizado: muchas redes apenas monitorizan ADCS, lo que alienta incluso a los atacantes más cuidadosos a atreverse a explotarlas.

¿Cómo funciona?

Certiception configura una nueva CA en el entorno y configura un honeypot ESC1.

Se implementa como un playbook de Ansible que llama a múltiples roles. En general, se ejecutan los siguientes pasos:

  • Configura una nueva CA, agrega una plantilla ESC1 «vulnerable» y la habilita solo en la nueva CA
  • Instala y configura el módulo de políticas TameMyCerts para evitar la emisión si las solicitudes de firma de certificados contienen una SAN
  • Habilita el registro de auditoría extendido para incluir nombres de plantillas en los registros de eventos
  • Imprime una regla SIGMA para configurar alertas en el SIEM
  • Configura comprobaciones continuas con Certify para detectar cualquier otra CA que habilite la plantilla vulnerable (aún no publicada, se agregará al repositorio en los próximos días)

Parámetros como la CA o el nombre de la plantilla se pueden personalizar para ocultar el honeypot.

Así es como funciona Certiception:

Para el futuro se planea añadir otros tipos de vulnerabilidades ESC y la capacidad de agregar plantillas Honey a las CA existentes

Alertas

Certiception utiliza eventos de Windows integrados de la CA y eventos generados por el módulo de política TameMyCerts. Para obtener los eventos de CA integrados con la información requerida, Certiception habilita el registro de auditoría extendido en el servidor de CA Honey.

Sugieren alertar sobre eventos críticos y medianos:

Event source Event ID Alert
TameMyCerts 6 – CSR denied due to policy violation CRITICAL – attempted exploitation via SAN
Windows Security Log 4886 – Certificate enrollment requested MEDIUM – Honey template was used
Windows Security Log 4887 – Certificate issued Not used, 4886 has more coverage
Windows Security Log 4888 – Certificate request denied Not used, TameMyCerts 6 is more precise when issuance fails non-malicious

Certiception genera reglas SIGMA listas para usar para las dos diferentes alertas. Solo necesita asegurarse de que los ID de eventos respectivos estén incorporados en el SIEM y luego configurar las alertas con las reglas SIGMA.

Las versiones futuras podrían introducir reglas SIGMA nuevas o adicionales.

Requisitos previos

  • Servidor Windows unido a un dominio para instalar la CA
  • Máquina con conectividad Ansible y WinRM al servidor para clonar este repositorio y ejecutar Certiception
  • Privilegios de administrador local en el servidor para instalar la CA y las protecciones contra la explotación
  • Cuenta de administrador empresarial para registrar la nueva CA
  • Cuenta de dominio básica sin privilegios para ejecutar comprobaciones de certificación continuas

Instalación de Certiception

Nota: todavía están mejorando la estabilidad en diferentes configuraciones de laboratorio de pruebas con respecto a qué cuentas se utilizan para las tareas de configuración. Si quieres probarlo, probablemente sea mejor esperar una semana más 🙂

  1. Configura el dominio general y los parámetros de conexión de Ansible en el inventario
  2. Personaliza los parámetros de tu honeypot en host_vars/honeypotCA.yml
  3. Crea una excepción de EDR para la futura ubicación de Certify (se utiliza para monitorizar si alguna CA que no sea de honey habilita la plantilla vulnerable, aún no es necesaria ya que la monitorización basada en Certify aún no se ha publicado)
  4. Ejecuta el manual de estrategias de Certiception Ansible
    1. ansible-playbook -i inventory playbooks/certiception.yml
  5. Incorpora los logs de eventos del servidor al SIEM y configura alertas con las reglas SIGMA mostradas
  6. Verifica y prueba manualmente la configuración

Más info y actualizaciones en la web del proyecto: https://github.com/srlabs/Certiception

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.