
PoC para Zerologon - todos los créditos de la investigación van a Tom Tervoort de Secura
Requiere la última versión de impacket desde GitHub con las estructuras netlogon añadidas.
Ten en cuenta que, por defecto, esto cambia la contraseña de la cuenta del controlador de dominio. Sí, esto te permite hacer DCSync, pero también rompe la comunicación con otros controladores de dominio, ¡así que ten cuidado con esto!
Más información e investigación original aquí
¡Solo funciona en Python 3.6 y superior! Si tu sistema operativo viene con impacket instalado (como Kali), asegúrate de eliminar primero todas las instalaciones existentes. Si aún así obtienes errores de importación después de esto, ejecútalo desde un virtualenv o pipenv.
cve-2020-1472-exploit.py con la IP y el nombre netbios del DC-just-dc y -no-pass o hashes vacíos y la cuenta DCHOSTNAME$Si instalas una versión de impacket desde GitHub que se haya actualizado el 15 de septiembre de 2020 o después, secretsdump volcará automáticamente la contraseña de máquina en texto plano (codificada en hex) al volcar los secretos del registro local. Ten en cuenta que esto es diferente del DCSync, ya que DCSync usa la cuenta de máquina, mientras que volcar el registro requiere ejecutar secretsdump contra el controlador de dominio como un Administrador de Dominio (como la cuenta de Administrador integrada).
Alternativamente, en versiones ligeramente más antiguas de secretsdump puedes volcar esta misma contraseña extrayendo primero las colmenas del registro y luego ejecutando secretsdump sin conexión (entonces siempre imprimirá la clave en texto plano porque no puede calcular los hashes de Kerberos).
Con esta contraseña en texto plano puedes ejecutar restorepassword.py con el parámetro -hexpass. Esto primero se autenticará con la contraseña vacía en el mismo DC y luego establecerá la contraseña de nuevo a la original. Asegúrate de proporcionar nuevamente el nombre netbios y la IP como objetivo, por ejemplo:
python restorepassword.py testsegment/s2016dc@s2016dc -target-ip 192.168.222.113 -hexpass e6ad4c4f64e71cf8c8020aa44bbd70ee711b8dce2adecd7e0d7fd1d76d70a848c987450c5be97b230bd144f3c3...etc