SniperlCat, un guardian de red
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
-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]