jueves, 30 de diciembre de 2010

Detectando intrusos en tu WiFi

Viene siendo habitual desde hace un tiempo que a cualquier propietario de ordenador portátil con WiFi (sobre todo si es joven, varón y tiene demasiado tiempo libre ;) le dé en algún momento por explorar las redes inalámbricas del vecindario, bien para intentar gorronear la conexión a Internet de algún vecino incauto o por el mero hecho de conseguirlo y sentirse todo un "jaker". Unos años atrás era más fácil aún conseguirlo debido a lo novedoso de los puntos de acceso WiFi y a lo mal que se protegían, aunque al mismo tiempo era menos frecuente por lo escaso de estas instalaciones y de los usuarios con los conocimientos necesarios. Eso fue cambiando de forma bastante rápida con la popularidad de las tecnologías inalámbricas y, aunque la seguridad "de fábrica" de los aparatos iba mejorando, también lo hacían las herramientas de hacking y sobre todo, estas iban "democratizándose" en forma de documentación asequible (tutoriales para torpes en foros con lenguaje SMS ;) y scripts o incluso distribuciones de Linux preparadas para "reventar" (la palabra respetable es auditar) de forma fácil este tipo de redes (Airoscript, WiFiSlax, etc.)

La situación actual es que se han hecho tan comunes este tipo de intrusiones que han dado lugar a nuevos problemas, algunos con serias implicaciones legales: ¿qué pasa si un extraño entra en tu red WiFi abierta (o mal protegida) y comete un delito informático usando tu conexión a Internet? Otro problema opuesto más curioso que a veces planteo ante algún "aprendiz de hacker" jactándose de usar la conexión del vecino es el siguiente: cuando estás asociado a un punto de acceso inalámbrico desconocido, estás conectado a esa red con todas sus consecuencias; tu te estás conectando a un host (el router) para poder navegar por Internet, pero desde cualquier host de esa red tu eres visible, lo cual se puede traducir como "espiable" e incluso como "conectable". ¿Y si esa red WiFi estaba abierta o mal protegida adrede para atraer intrusos (el nada novedoso concepto de honeypot) y acabas siendo un "cazador cazado"? Quizá así a priori no lo consideremos como algo muy probable, pero da qué pensar, sobre todo últimamente y leyendo noticias como esta...

Y toda esta cháchara debería haber servido como introducción al tema que me ocupa hoy, que es presentar un sencillo shell script para Linux que puede ayudar al usuario legítimo de una red inalámbrica a estar más tranquilo respecto a "visitantes no invitados". Recientemente estaba mirando las distintas opciones de uso de nmap, el potente escáner de puertos, y se me ocurrió la idea de automatizar su uso desde un script para vigilar la red local y detectar cambios en el número de PCs conectados. Sería una especie de IDS de fabricación casera que, en lugar de analizar el tráfico de la red en busca de patrones que disparen la alarma, simplemente cuenta cada cierto tiempo los PCs conectados a esta (en nuestro caso la red inalámbrica) y si el número no es el esperado lo notifica al usuario con un mensaje en pantalla (para que este sea más visible he usado Zenity.)

El archivo, llamado vigila-wifi deberá copiarse a /usr/local/bin para poder ejecutarlo desde cualquier parte con sudo (le harán falta los privilegios de root para una correcta inspección de la red.) Obviamente se le darán permisos de ejecución y antes de su uso deberá editarse para adaptar su comportamiento a nuestras necesidades. La idea es invocarlo desde un emulador de terminal pasándole como argumento el número de hosts conectados en ese momento. Cada vez que detecte un cambio mostrará una caja de diálogo y volcará en la consola el evento correspondiente. Si no vamos a estar sentados al teclado podríamos adaptarlo para emitir una señal acústica y si ni siquiera vamos a estar en casa hacer que envíe un e-mail para informarnos. Estas opciones las intentaré incluir próximamente en una nueva revisión. Incluso puede que me de por portarlo a Windows en una u otra forma... Con estos buenos propósitos informáticos me dispongo a terminar 2010 y a comenzar el annus horribilis de 2011. Buenas noches y buena suerte.


NOTA: el uso de señales acústicas en Ubuntu y derivadas usando el PC speaker está "capado" de fábrica y no tiene una activación fácil, pero sí he incorporado el envío de alertas por e-mail. La versión para Windows creo que tendrá que esperar indefinidamente...