Hoy traigo un script en perl que vigila la red en busca de nuevos hosts o de ataques de ARP spoofing (buscando cambios en la tabla arp). El nombre, Sniperlcat es (obviamente) una mezcla entre snipercat y perl, lenguaje en el que esta programado. El script se puede descargar aquí [sniperlcat.pl]

Simplemente hay que ejecutarlo y avisa de los cambios usando el libnotify de GTK2 (puede que sea necesario instalar las librerias Gtk para perl, libdesktop- notify-perl, o libgtk2-notify-perl ). Por ejemplo, para un nuevo host en la red:

Si el nuevo host está spoofeado desde otro (si coinciden sus MAC):

Si cambia una MAC:

O si cambia la MAC de uno a través de un ARP spoof:

Hay que tener en cuenta algunas cosas:

* El script no hace nada para evitar los ataques ARP spoof, solo los
detecta

* Si no se lanza con una configuración, utilizará como tal la tabla ARP
en ese momento, si hay entonces un ARP spoof en marcha, lo tomará como
el estado base.
*

Los parámetros aceptados son:

===============================================================================

./sniperlcat [-h]|[-d | -v ] [-nf] [-c] [-n ] [-f ] [-s ]

-h  (--help): Muestra este mensaje

-d  (--daemonize): Se ejecuta de fondo

-nf (--no-fill): No llena la tabla de hosts (con nmap) antes de leerla

-c  (--cansino): Repite los avisos, aun los ya emitidos, en cada iteración

-v  (--verbose): Muestra más información por pantalla

-n  (--network): Especifica la red donde se ejecuta, por defecto 192.168.1.0/24

-f  (--file): Especifica el archivo de red inicial (se obtiene con arp -an)

-s  (--sleep): Especifica el tiempo en segundos de "descanso" entre iteraciones (por defeto 60)

===============================================================================

Creo que solo necesitan explicación un par de cosas:

* Antes de leer la tabla ARP, para llenarla con todos los host de la red se
hace un nmap $red -sP , si consideras que no es necesario, usa -nf

* Si la red es distinta de 192.168.1.0/24 (o 192.168.1.*), la puedes
cambiar con -n red, como solo lo usa nmap, la sintaxis es la misma que
este.
*

Hasta otra.

El script [sniperlcat.pl]