REVISTA .SEGURIDAD | 1 251 478, 1 251 477 | REVISTA BIMESTRAL

Instalando un Sistema de Detección de Intrusos Inalámbrico (WIDS) en Raspbian - I

Actualmente se han incrementado de forma considerable los ataques informáticos (phishing, malware, DDOS, accesos no autorizados, entre otros) dirigidos a medianas y pequeñas empresas así como a usuarios finales, según el Informe de Amenazas en Internet 2014 de Symantec. Existen soluciones para proteger la infraestructura tecnológica y la información de una organización contra diversas técnicas utilizadas por los atacantes, pero muy pocas veces podemos encontrar soluciones económicas y que estén orientadas a los usuarios finales.

El objetivo de este artículo es proporcionar una solución de detección de intrusos para redes inalámbricas que permita a un usuario identificar los ataques o intrusiones a dichas redes. Mediante esta publicación describiré todo lo necesario para instalar y configurar OpenWIPS sobre el sistema operativo Raspbian. 

A continuación se listan los elementos técnicos:

  • Raspberry Pi
  • Raspbian 
  • OpenWIPS-ng

Raspberry Pi

Es una computadora de dimensión pequeña, aproximadamente del tamaño de una tarjeta de crédito; tiene 2 puertos USB, una interfaz de red cableada, una interfaz HDMI (High-Definition Multimedia Interfaz), etc. Es utilizada en proyectos de electrónica y para realizar algunas tareas que se pueden hacer con una computadora de escritorio o un servidor dedicado. Una de las características principales es que el almacenamiento se lleva a cabo mediante una tarjeta de memoria flash SDHC (Secure Digital High Capacity). El costo va de los $350 a los $600 pesos mexicanos. La imagen 1 corresponde al diagrama de una Raspberry Pi modelo B. 

                                                                                        
Imagen 1. Raspberry Pi modelo B
 

Raspbian 

Es un sistema operativo (SO) libre basado en Debian (ver imagen 2) optimizado para Raspberry Pi. La imagen (un archivo que contiene la copia completa de un sistema operativo) de este SO se puede obtener desde su sitio oficial http://www.raspbian.org/

 
Imagen 2. Raspbian
 

OpenWIPS-ng

Es un IPS (Intrusion Prevention System) inalámbrico de código abierto. Está compuesto de tres partes principales:
  • Sensor(es): Dispositivo silencioso que captura tráfico inalámbrico y lo envía al servidor para analizarlo. También responde a ataques aunque esta funcionalidad aún no está diseñada en la versión BETA.
  • Servidor: Analiza los datos de todos los sensores y puede responder a ataques. También registra y genera una alerta en caso de detectar un ataque. 
  • Interfaz: Administra el servidor y despliega información acerca de las amenazas de la red inalámbrica detectadas por los sensores.
Actualmente se encuentra en la versión 0.1 beta1:

  • Se pueden conectar varios clientes (sensores), no se realiza reensamblaje de tramas (eliminar tramas duplicadas y poner en orden correcto). Si los sensores se encuentran lejos entre ellos y no ven el mismo tráfico, la probabilidad de tener problemas de redundancia disminuye. Se recomienda para está versión usar un sólo sensor. 
  • Las credenciales predeterminadas para iniciar el sensor y al mismo tiempo conectarse al servidor son sensor1:sensor1.
  • Detecta ataques de desasociación, es un tipo de ataque de denegación de servicio inalámbrico donde un atacante puede provocar la desconexión de uno o varios clientes conectados a un AP, así como de fragmentación.
  • Sólo se necesita una tarjeta inalámbrica que se pueda poner en modo monitor la cual fungirá como sensor.
  • Se lleva un registro de las alertas en tiempo real mediante la interfaz del servidor y además se puede configurar OpenWIPS para almacenar una bitácora de eventos en un archivo del sistema.

Requerimientos de hardware

  • Una tarjeta SDHC de 8 GB o más, de preferencia de clase 10 (bus de datos de alta velocidad).
  • Tarjeta de red inalámbrica, preferentemente con chipset RT8187L (si no se cuenta con una tarjeta con el chipset especificado, debe garantizarse que se pueda poner en modo monitor). 

Requerimientos de software

Implementación

El objetivo del artículo no es explicar cómo se configura Raspbian en la memoria flash SDHC, sin embargo se recomienda el siguiente enlace al lector en donde se explica cómo poder hacerlo en Linux, Windows y Mac OS:

Una vez que esté instalado el SO en la Raspberry Pi, lo siguiente es descargar el código fuente de OpenWIPS:

Imagen 3. Descarga de OpenWIPS

Descomprimir y desempaquetar se puede hacer de la siguiente manera:

Imagen 4. Descompresión del archivo openwips-ng-0.1beta1.tar.gz
 
Ahora es necesario posicionarse en la carpeta que se generó cuando se descomprimió el paquete:
Imagen 5.Cambio al directorio openwips-ng-0.1beta1

Visualizar el contenido del archivo INSTALL con el siguiente comando:

Imagen 6. Visualización del archivo INSTALL

Como se puede observar en el archivo INSTALL, es necesario contar con software y bibliotecas adicionales, por lo tanto se deben instalar esos requerimientos:

 Imagen 7. Instalación de software necesario

Antes de compilar OpenWIPS es necesario que se borre la bandera –Werror debido a que lo toma como un error del archivo openwips-ng-0.1beta1/common.mak y obliga a terminar la compilación cuando se encuentra un warning o alerta, la eliminación se puede hacer mediante un editor de texto:

Imagen 8. Archivo openwips-ng-0.1beta1/common.mak antes de la modificación
 
Imagen 9. Archivo openwips-ng-0.1beta1/common.mak después de la modificación 

Para compilar e instalar OpenWIPS se ejecuta lo siguiente:

Imagen 10. Compilación e instalación de OpenWIPST

Antes de configurar OpenWIPS, se recomienda instalar la suite Aircrack-ng para contar con herramientas complementarias de auditoría en redes inalámbricas. Descargar Aircrack-ng de la siguiente manera:

Imagen 11. Descarga de Aircrack-ng

Para descomprimir y desempaquetar el archivo aircrack-ng-1.2-beta1.tar.gz se utiliza el siguiente comando:

 Imagen 12. Descompresión del archivo aircrack-ng-1.2-beta1.tar.gz

Ubicarse en el directorio generado después del paso anterior:

 Imagen 13. Cambio al directorio openwips-ng-0.1beta1

Para compilar e instalar aircrack-ng se debe ejecutar lo siguiente:

 Imagen 14. Compilación e instalación de aircrack-ng

Para configurar la tarjeta de red en modo monitor se necesita instalar iw (es una utilidad de configuración para dispositivos inalámbricos sucesora de iwconfig):

Imagen 15. Instalación de iw

Para comprobar que todo funcione correctamente se debe conectar una tarjeta de red inalámbrica que pueda configurarse en modo monitor (para el desarrollo de este artículo se usó una tarjeta de la marca ALFA Network). Se puede identificar la tarjeta de red inalámbrica de la siguiente manera:

Imagen 16. Verificar la existencia de la tarjeta de red inalámbrica

Para conocer el chipset de la tarjeta de red inalámbrica se utiliza el comando airmon-ng:

  
Imagen 17. Identificación del chipset de la tarjeta de red inalámbrica

Para poner la tarjeta en modo monitor se debe ejecutar lo siguiente:

 
Imagen 18. Configuración de la tarjeta en modo monitor

Para verificar la existencia de la interfaz mon0 se puede utilizar iwconfig:

Imagen 19. Verificación de la existencia de la tarjeta en modo monitor

Una vez comprobado que se puede configurar en modo monitor la tarjeta de red inalámbrica (se debe tener en cuenta que fungirá como sensor), se configurará OpenWIPS para poder ejecutarlo posteriormente.

 Visualizar el archivo de configuración de OpenWIPS:
 Imagen 20. Visualización del archivo de configuración de OpenWIPS

Como recomendación, se debe revisar detenidamente el archivo para que se comprenda todo lo que se puede configurar. Una de las partes importantes a modificar es agregar en una nueva línea la dirección MAC del punto de acceso inalámbrico (AP) que se quiera proteger (en este caso es f4:55:9c:cc:fb:3c) y comentar las líneas que contienen allow_bssid=group1 y allow_client=group1:

Imagen 21. Configuración del AP que se desea proteger

Asegurarse de que la protección de los dispositivos del grupo 1 esté habilitada:

Imagen 22. Configuración habilitada de protección de clientes del AP

Otra configuración importante es especificar la bitácora que registrará los eventos ocurridos, sobre todo las alertas de seguridad, por defecto se guardan en syslog de Raspbian pero se configurará una ubicación diferente:

 
Imagen 23. Configuración de la ubicación de la bitácora

Se pueden realizar diferentes configuraciones según las necesidades de la red inalámbrica, tales como cambiar la contraseña de acceso de los sensores, agregar clientes que se conectarán al AP, habilitar o deshabilitar complementos, entre otras, pero debido al alcance del artículo, las configuraciones realizadas anteriormente son suficientes para iniciar OpenWIPS. 

Para ejecutar el servidor y comenzar a probar el funcionamiento se debe ejecutar lo siguiente:
 Imagen 24. Ejecución del servidor OpenWIPS

Si la instalación fue correcta, se mostrará una salida como en la siguiente imagen:

Imagen 25. Ejecución correcta de OpenWIPS

Para iniciar un sensor se ejecuta lo siguiente:

Imagen 26. Ejecución del sensor
En donde,
127.0.0.1 es la dirección IP del servidor OpenWIPS,
9477 es el puerto por donde se está ofreciendo el servicio de OpenWIPS,
sensor1:sensor1 son las credenciales para conectarse con el servidor.

La salida de la instrucción anterior se ve de la siguiente manera:

Imagen 27. Ejecución correcta del sensor

Si la ejecución del servidor y el sensor es correcta, entonces ya se tiene instalado y configurado un sistema de detección de intrusos inalámbrico, aunque las siglas de OpenWIPS hacen creer que mitiga ataques, en esta fase del proyecto sólo puede detectar algunos, la parte de contención está planeada para la siguiente versión, sin embargo, la ventaja de que sea un proyecto de código abierto es que se pueden desarrollar varios complementos que permitan crear un IPS inalámbrico. 

Una vez que OpenWIPS está instalado y configurado, el sensor comenzará a monitorizar la red inalámbrica y podrá detectar ataques de desasociación de clientes y fragmentación de paquetes. Para probar el funcionamiento, puedes simular ataques contra el AP protegido y se activarán las alertas de seguridad detectadas.
 
Si quieres saber más consulta:

Mesografía

Imagen 1. Definición de Raspberry Pi. Recuperado el 21 de abril de 2014, de www.raspberrypi.org
Imagen 2. Raspbian. Recuperado el 24 de abril de 2014, de www.raspbian.org
Imagen 3-27. Capturas de pantalla autoría de UNAM-CERT. 2014
 

UNAM

[ CONTACTO ]

Se prohíbe la reproducción total o parcial
de los artículos sin la autorización por escrito de los autores

 

Hecho en México, Universidad Nacional Autónoma de México (UNAM) © Todos los derechos reservados 2017.