
Este script de Python ayuda a detectar la vulnerabilidad Etherleak (CVE-2003-0001) en un host objetivo mediante el análisis de los datos de relleno (padding) en los paquetes de red. El script utiliza Scapy para enviar varios tipos de solicitudes (ICMP, ARP o TCP) y comprueba si las respuestas contienen algún dato de relleno que pudiera filtrar contenidos sensibles de la memoria.
Este script de Python ayuda a detectar la vulnerabilidad Etherleak (CVE-2003-0001) en un host objetivo analizando los datos de relleno (padding) en los paquetes de red. El script utiliza Scapy para enviar varios tipos de solicitudes (ICMP, ARP o TCP) y comprueba si las respuestas contienen datos de relleno que podrían filtrar potencialmente contenido sensible de la memoria.
Etherleak es una vulnerabilidad en la que los controladores de red rellenan incorrectamente las tramas Ethernet con memoria sobrante. Los atacantes pueden aprovechar esto enviando ciertas solicitudes (ICMP, ARP o TCP) y analizando los paquetes de respuesta para ver si filtran datos sensibles de la memoria del sistema.
pip install scapy
El script admite tres protocolos para sondear el objetivo: ARP, ICMP o TCP. Si se usa TCP, puedes especificar un puerto; el valor predeterminado es 445 (usado comúnmente por SMB).
Uso desde la línea de comandos
sudo python etherleak_checker.py <target_ip> <arp|icmp|tcp> <count> [tcp_port]
<target_ip>: La dirección IP del host objetivo.
<arp|icmp|tcp>: El tipo de solicitud a enviar (ARP, ICMP o TCP).
<count>: El número de paquetes a enviar y analizar.
[tcp_port]: (Opcional) El puerto TCP al que apuntar si se usa tcp (predeterminado: 445).
sudo python etherleak_checker.py 192.168.1.1 icmp 10
Esto enviará 10 solicitudes de eco ICMP (pings) a la IP objetivo 192.168.1.1 y analizará los datos de relleno en las respuestas.
sudo python etherleak_checker.py 192.168.1.1 arp 10
Esto enviará 10 solicitudes ARP a la IP objetivo 192.168.1.1 y analizará los datos de relleno en las respuestas ARP.
sudo python etherleak_checker.py 192.168.1.1 tcp 10
Esto enviará 10 paquetes SYN TCP a la IP objetivo 192.168.1.1 en el puerto 445 (SMB) y analizará los datos de relleno en las respuestas TCP.
sudo python etherleak_checker.py 192.168.1.1 tcp 10 80
Esto enviará 10 paquetes SYN TCP al puerto 80 de la IP objetivo 192.168.1.1 y analizará los datos de relleno en las respuestas.
[ Apuntando a 192.168.1.1 usando ICMP durante 10 solicitudes... ]
Padding capturado: 00 00 00 01 02 03 ...
Padding capturado: 00 00 00 01 02 03 ...
...
Variación en los datos de relleno detectada entre paquetes, lo que indica una posible vulnerabilidad Etherleak.
Análisis de relleno completado.
Este script tiene fines educativos y para probar tus propios sistemas en un entorno controlado. El uso no autorizado de este script contra sistemas sin permiso es ilegal y poco ético. Asegúrate siempre de tener la autorización adecuada antes de ejecutar pruebas contra cualquier sistema.