¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!
CVE-2020-1472-ZeroLogon-Demo-Detection-Mitigation — Demo educativa de detección de CVE-2020-1472 (ZeroLogon) usando registros de eventos de Windows y Suricata IDS, además de mitigación mediante actualizaciones de Windows. Incluye script de prueba de vulnerabilidad y reglas personalizadas de Suricata. | Kitploit
Demo educativa de detección de CVE-2020-1472 (ZeroLogon) usando registros de eventos de Windows y Suricata IDS, además de mitigación mediante actualizaciones de Windows. Incluye script de prueba de vulnerabilidad y reglas personalizadas de Suricata.
Demostración de detección y mitigación de CVE-2020-1472 (ZeroLogon)
Este proyecto demuestra la detección y mitigación de la vulnerabilidad crítica de Windows CVE-2020-1472, también conocida como ZeroLogon. Esta vulnerabilidad permite a los atacantes obtener acceso administrativo no autenticado. Fue desarrollado como parte de un proyecto escolar de ciberseguridad. El crédito del código PoC corresponde a Tom Tervoort (Secura) y el crédito del conjunto de reglas de Suricata corresponde a Proofpoint Emerging Threats.
Componentes clave:
Probar la vulnerabilidad de un controlador de dominio mediante un script PoC
Monitorear los indicadores mediante Registros de eventos de Windows
Implementar Suricata IDS con reglas personalizadas
Aplicar actualizaciones de Windows
Técnicas de detección demostradas
1. Script de prueba de vulnerabilidad
Script en Python de Tom Tervoort (Secura)
Utiliza la librería impacket para probar la vulnerabilidad de un controlador de dominio mediante el bypass de autenticación de Netlogon
2. Análisis de los registros de eventos de Windows
Busque estos eventos clave:
4624: Inicio de sesión exitoso con credenciales del DC
4672: Privilegios especiales asignados al atacante (p. ej., administrador)
5805: Eventos de error de Netlogon (indicador de explotación)
3. Detección de intrusiones con Suricata
Usa Suricata para analizar el tráfico de red en el controlador de dominio
Implementa reglas personalizadas del conjunto de reglas Proofpoint Emerging Threats
Detecta secuencias de bytes cero comúnmente utilizadas en el exploit de ZeroLogon
Requisitos
Para replicar esta demostración, se requiere la siguiente configuración:
Máquina atacante
Virtual - VirtualBox (usando NATNetwork para la red de la VM)
Nota de configuración:
La configuración de Suricata se modificó usando Notepad++:
HOME_NET se estableció en la dirección IP de la máquina objetivo
La sección rule-files se actualizó para usar el archivo emerging-all.rules
Demostración de los enfoques de detección
Paso 1: Averiguar el nombre del equipo y la dirección IP de la máquina objetivo
Abra el Administrador del servidor.
Navegue hasta Servidor local. Anote el nombre del equipo y la dirección IP que se encuentran en Ethernet. En esta demostración, el nombre del equipo es FTB4-Victim-Win y la dirección IP es 10.0.2.4
Paso 2: Ejecutar el script de prueba de vulnerabilidad
En la máquina atacante, abra la Terminal
Ejecute el script de prueba en Python con el nombre del equipo y la IP de la máquina objetivo:
El script concluirá con el mensaje que indica que el controlador de dominio puede verse completamente comprometido por un ataque ZeroLogon.
Paso 3: Análisis de los registros de eventos de Windows
Ahora, en la máquina objetivo, abra el Visor de eventos. El icono está en la barra de tareas.
Navegue hasta Registros de Windows y, a continuación, hasta Seguridad.
Como se muestra a continuación, hay dos eventos de Seguridad relacionados con el bypass de ZeroLogon: Evento 4672 y Evento 4624.
Vaya a Sistema, también dentro de Registros de Windows. Desplácese hacia abajo hasta ver el evento con Nivel Error y Origen NETLOGON. Selecciónelo. Este es otro evento relacionado con el bypass de ZeroLogon.
Puede cerrar el Visor de eventos de Windows.
Paso 4: Detección de intrusiones con Suricata
En la máquina objetivo, abra el Símbolo del sistema como Administrador.
Ejecute el siguiente comando para iniciar Suricata:
root@kitploit:~
cd C:\Program Files\Suricata\
Ejecute el siguiente comando con la dirección IP apropiada:
root@kitploit:~
suricata -c suricata.yaml -i <target IP> -l log
Abra el Explorador de archivos desde el icono de la barra de tareas. Navegue hasta C:\Program Files\Suricata\log
Escriba powershell en la barra de navegación y presione Enter. Se iniciará Windows PowerShell.
En Windows PowerShell, escriba get-content .\fast.log -wait y presione Enter. Ignore todos los registros anteriores, ya que provienen de pruebas previas, y desplácese hacia abajo hasta el espacio vacío.
En la máquina atacante, ejecute nuevamente el script de prueba en Python.
Ahora regrese a la máquina objetivo y anote las nuevas alertas generadas. Estas alertas indican un intento o la explotación de ZeroLogon.
Puede cerrar las ventanas de Windows PowerShell y del Símbolo del sistema.
Abra fast.txt. Los registros se guardan en este archivo.
Demostración del enfoque de mitigación
La mitigación más eficaz para CVE-2020-1472 (ZeroLogon) es instalar las últimas actualizaciones de seguridad de Windows.
Pasos:
En la máquina objetivo, abra la aplicación Configuración.
Navegue hasta Actualización y seguridad → Windows Update
Haga clic en "Buscar actualizaciones" y permita que el sistema descargue e instale las últimas actualizaciones.
Reinicie la máquina si es necesario.
Estas actualizaciones aplican la corrección de Microsoft para la vulnerabilidad ZeroLogon al imponer el uso del protocolo remoto seguro y habilitan el modo de cumplimiento de forma predeterminada en los controladores de dominio.
Nota sobre las limitaciones
Los enfoques de detección y mitigación demostrados en este proyecto están diseñados con fines educativos dentro de un entorno de laboratorio controlado. Si bien son eficaces para ilustrar los conceptos detrás de CVE-2020-1472 (ZeroLogon), tienen limitaciones y no son del todo prácticos para su implementación en entornos empresariales reales. Al ser un proyecto escolar, el enfoque está en aprender y comprender técnicas de ciberseguridad en lugar de implementar soluciones de nivel de producción.
Proofpoint Emerging Threats por sus reglas de Suricata utilizadas para detectar intentos de explotación de ZeroLogon https://rules.emergingthreats.net/open/
Este repositorio se creó únicamente con fines educativos.
Todas las herramientas, scripts y técnicas demostrados están destinados a ayudar a comprender las vulnerabilidades de ciberseguridad en un entorno de laboratorio controlado. No intente utilizar ninguno de los materiales proporcionados en sistemas o redes que no sean de su propiedad o para los que no tenga permiso explícito de prueba.
El autor no es responsable del mal uso de la información proporcionada.