Volver a actualizaciones
ActualizadaAug 1, 2026

CVE-2026-54121 — Actualizado!

Certighost POC

Compartir

CVE-2026-54121 (Certighost)

Esta es una herramienta de prueba de concepto para demostrar CVE-2026-54121, también conocido como Certighost. Lea aquí https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26 para el análisis detallado.

Instalar dependencias

La prueba de concepto es un script de Python autocontenido. Requiere impacket, cryptography, pyasn1, asn1crypto y dnspython.

sudo pip install --break-system-packages git+https://github.com/fortra/impacket.git cryptography pyasn1 asn1crypto pycryptodome dnspython

Uso

Ejecute como root porque los servicios LDAP y SMB falsos escuchan en los puertos privilegiados 389 y 445.

sudo python3 certighost.py -d playground.local -u lowpriv -p 'Password1234' --dc-ip 192.168.1.10

Una ejecución exitosa escribe el certificado objetivo (.pfx) y la caché de Kerberos (.ccache) en el directorio actual.

Qué hace este script

  1. Crear una nueva cuenta de equipo (p. ej. GHOSTABCDEFGH$) o reutilizar una proporcionada mediante --computer-name.
  2. Iniciar dos listeners falsos: un servidor SMB/LSA en el puerto 445 y un servidor LDAP en el puerto 389.
  3. Enviar una solicitud de certificado como esa cuenta de equipo, incrustando un atributo cdc personalizado que apunte a una IP controlada (mediante --listener; opcional, se auto-detecta si se omite) además de un atributo rmd que contenga el nombre DNS del DC objetivo.
  4. La CA se conecta de vuelta a los listeners LSA/LDAP falsos. Estos se autentican como la cuenta creada (validada a través del DC real mediante Netlogon) y responden a las consultas de la CA con la identidad del DC objetivo (sAMAccountName, SID, dNSHostName) en su lugar.
  5. La CA emite un certificado válido perteneciente al DC.
  6. Los scripts también realizan PKINIT con el pfx del DC para solicitar .ccache y el hash NT

Cronología

  • 28 de julio de 2026 — Créditos a @GregDurys por el PR que corrige el problema STATUS_NOLOGON_SERVER_TRUST_ACCOUNT. certighost ahora incluye un hotpatch adecuado dentro del script para la ruta NetLogon SMB falsa (estableciendo el bit E 0x20 junto con el bit K 0x800 en ParameterControl, según MS-NRPC 2.2.1.4.15), por lo que el exploit funciona contra una CA alojada en un Controlador de Dominio sin preocuparse por instalar una versión diferente o bifurcada de Impacket.
  • 28 de julio de 2026 — Créditos a @Hack0ura por mencionar la corrección del SAN de la solicitud. En una CA que respeta los SAN proporcionados en la solicitud (EDITF_ATTRIBUTESUBJECTALTNAME2 / ESC6), la solicitud de certificado ahora establece la identidad SAN:dns al nombre DNS del DC objetivo (rmd_value) en lugar del del equipo falso, evitando KDC_ERR_CLIENT_NAME_MISMATCH en el paso PKINIT. En las plantillas construidas desde AD, el SAN de la solicitud se ignora, por lo que el cambio es un no-op seguro.

Referencias

Categorías