Creando un WIDS casero (III)

Tras el fracaso con el viejo router D-Link he decidido no darme por derrotado e intentarlo con la Raspberry Pi. Ya comente en otra parte que tengo una Raspberry Pi Model B con una instalación fresca de Raspbian que utilizo, fundamentalmente, para jugar con sensores. Bien, ahora voy a emplearla como sensor de tramas de 802.11.

El viejo router lo voy a emplear para que haga de punto de acceso falso y para otras pruebas de penetración que tengo en mente.

La única duda que me surge es si la tarjeta WiFi USB que tengo es de las soportadas por Kismet. Si no lo fuera, ya veríamos que rumbo tomamos a futuro pero lo que tengo claro es que se me ha metido en la cabeza construir el maldito WIDS.

Lo primero que voy a hacer es actualizar el Raspbian:

Imagen14

Después de un buen rato tengo mi dispositivo actualizado.

El siguiente paso es comprobar si la interfaz WiFi que tengo está soportada por Kismet. Fundamentalmente, lo que importa es ver si se puede poner en modo monitor.

El dispositivo WiFi que tengo en mi Rasp es un dispositivo USB como éste:

Imagen16

Le echo un ojo, en primer lugar, a la configuración de las interfaces de red (comando ifconfig):

Imagen15

La interfaz wireless, como no podía ser de otra forma, es la wlan0. Voy a mirar ahora en los dispositivos USB (comando lsusb):

Imagen17

El dispositivo es el número 004 y es del fabricante Ralink Technology y se trata de un adaptador inalámbrico modelo RT5370. Si quisiéramos obtener información más detallada podríamos usar el comando:

lsusb –D /dev/bus/usb/001/004

Miramos los parámetros del dispositivo inalámbrico con iwconfig:

Imagen18

Por último, comprobamos si el adaptador puede ponerse en modo monitor lo que permite capturar los paquetes:

Imagen19

Todo parece OK así que voy a instalar Kismet. La instalación de Kismet voy a hacerla por el camino largo, esto es, tal y como se describe en la documentación de Kismet: me voy a descargar el código fuente, realizar la configuración previa, compilarlo y, por último, instalar el producto.

Para empezar instalo algunas dependencias:

Imagen20

Ahora me voy a descargar, desde la web de Kismet la última versión estable de código fuente que, en el momento de escribir esto, es la 2016-07-R1. Una vez descargada, voy a usar WinSCP para copiarla a la Raspberry.

Imagen21

Extraemos y configuramos:

Imagen22

Imagen23

Todo parece correcto así que puedo lanzar el make y esperar (la compilación se tomará su tiempo).

Imagen24

A continuación lanzo la instalación. Kismet debe estar instalado en /usr/local/bin

Imagen25

Imagen26

Por último, para completar la instalación, voy a añadir el usuario pi al grupo kismet.

sudo usermod -a -G kismet pi

Rearranco la pi y me meto con la configuración.

Anuncios

Instalando Raspbian

El proyecto con el servidor va avanzando poco a poco así que he decidido hacer un cambio y voy a ponerme a jugar con la Raspberry Pi. El modelo que yo tengo es el Raspberry Pi Model 2 B.

Pi2ModB1GB_-comp

Recientemente he adquirido un juego de sensores para la Rasp en Sunfounder. El juego de sensores proporciona unos programas básicos en C y Python para manejarlos a través de la interfaz GPIO.

Como, por otra parte, estoy aprendiendo Node.js, qué mejor forma para conjugar ambos mundos que programar los sensores en JavaScript usando Node.

Voy a empezar por el principio, desde cero. Me descargo, en primer lugar, la última versión de Raspbian y la “tuesto” en una tarjeta micro USB nueva de  16 GB empleando el programa Win32 Disk Imager. Esta es la parte sencilla, ahora viene la hora de configurar el sistema operativo.

En el primer arranque, el sistema reconoce tanto el teclado como el ratón como la tarjeta WiFi lo cual es estupendo. El sistema arranca la interfaz gráfica y aprovecho para realizar las configuraciones habituales: idioma, teclado, wifi, actualización de paquetes, etc. Ya tengo mi sistema en el punto de inicio.

A partir de ahora, voy a acceder a la Rasp mediante SSH desde mi PC de sobremesa. Lo primero que voy a hacer es instalar la biblioteca WiringPi para con la interfaz GPIO. Voy a seguir los pasos para la instalación descritos en la web. Una vez instalado compruebo que funciona:

Imagen1

Imagen2

Ahora toca instalar Node.js. Voy a ir por el camino largo, me voy a descargar el código fuente y voy a compilarlo en la Rasp. En principio me voy a bajar la versión 4.4.7. Voy a usar WinSCP para copiar el tarball desde el PC a la Rasp.

Imagen3

Imagen4

Imagen5

Toca esperar un ratito que espero que se haga corto con los cuatro cores de la Rasp y una birra. Al final le lleva una hora larga la compilación y ahora a por la instalación.

Imagen6

Imagen7

Finalmente, tanto node como npm quedan instalados.