
PoC pour Zerologon (CVE-2020-1472) - Exploit

Cette exploitation nécessite d'utiliser la dernière version d'impacket depuis GitHub.
Assurez-vous que l'installation d'impacket est effectuée avec les structures netlogon ajoutées.
Remarque :
Par défaut, une exploitation réussie change le mot de passe du compte du contrôleur de domaine (DC).
Permet DCSync
Interrompt la communication avec les autres contrôleurs de domaine (Soyez prudent !)
Recherche et informations originales ici
Nécessite Python 3.7 ou supérieur et Pip. Installez les dépendances comme suit :
pip install -r requirements.txt

Impossible de vider les secrets !


Secrets NTDS.dit vidés avec succès !
python3 zero-logon-exploit.py avec l'adresse IP et le nom NetBIOS du DC-just-dc et -no-pass ou des hashes vides et le compte DCHOSTNAME$Si vous faites en sorte que cette ligne dans secretsdump soit validée (par exemple en la modifiant en if True:), secretsdump videra également le mot de passe en clair (encodé en hexadécimal) du compte machine depuis le registre. Vous pouvez y parvenir en l'exécutant contre le même DC et en utilisant un compte DA.
Alternativement, vous pouvez vider ce même mot de passe en extrayant d'abord les ruches du registre puis en exécutant secretsdump hors ligne (il affichera alors toujours la clé en clair car il ne peut pas calculer les hashs Kerberos, ce qui vous évite de modifier la bibliothèque).
Avec ce mot de passe, vous pouvez exécuter restorepassword.py avec le paramètre -hexpass. Cela s'authentifiera d'abord avec le mot de passe vide auprès du même DC, puis rétablira le mot de passe d'origine. Assurez-vous de fournir à nouveau le nom NetBIOS et l'adresse IP comme cible, par exemple :
python restorepassword.py testsegment/s2016dc@s2016dc -target-ip 192.168.222.113 -hexpass e6ad4c4f64e71cf8c8020aa44bbd70ee711b8dce2adecd7e0d7fd1d76d70a848c987450c5be97b230bd144f3c3...etc
Crédits pour la fourniture de l'exploit : dirkjanm