
PoC pour Zerologon - tout le crédit de la recherche revient à Tom Tervoort de Secura
Nécessite la dernière version d'impacket depuis GitHub avec les structures netlogon ajoutées.
Notez que par défaut cela modifie le mot de passe du compte du contrôleur de domaine. Oui, cela vous permet de faire un DCSync, mais cela interrompt également la communication avec les autres contrôleurs de domaine, soyez donc prudent !
Plus d'informations et la recherche originale ici
Fonctionne uniquement sur Python 3.6 et plus récent ! Si votre système d'exploitation est livré avec impacket (comme Kali), assurez-vous de supprimer toutes les installations existantes d'abord. Si vous obtenez toujours des erreurs d'importation après cela, exécutez-le depuis un virtualenv ou pipenv.
cve-2020-1472-exploit.py avec l'IP et le nom NetBIOS du DC-just-dc et -no-pass ou des hachages vides et le compte DCHOSTNAME$Si vous installez une version d'impacket depuis GitHub mise à jour le 15 septembre 2020 ou après, secretsdump extraira automatiquement le mot de passe en clair de la machine (codé en hexadécimal) lors de l'extraction des secrets du registre local. Notez que cela est différent du DCSync, car DCSync utilise le compte machine, alors que l'extraction du registre nécessite d'exécuter secretsdump contre le contrôleur de domaine en tant qu'Administrateur de domaine (comme le compte Administrateur intégré).
Alternativement, sur des versions légèrement plus anciennes de secretsdump, vous pouvez extraire 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 hachages Kerberos).
Avec ce mot de passe en clair, vous pouvez exécuter restorepassword.py avec le paramètre -hexpass. Cela s'authentifiera d'abord avec le mot de passe vide sur le même DC, puis remettra le mot de passe d'origine. Assurez-vous de fournir à nouveau le nom NetBIOS et l'IP comme cible, par exemple :
python restorepassword.py testsegment/s2016dc@s2016dc -target-ip 192.168.222.113 -hexpass e6ad4c4f64e71cf8c8020aa44bbd70ee711b8dce2adecd7e0d7fd1d76d70a848c987450c5be97b230bd144f3c3...etc