Sudo Su


Detector de intrusos WiFi en Raspberry

Fecha: 18 mayo, 2020

Hace unos meses programé un pequeño script que me permitía convertir mi Raspberry Pi en un detector de intrusos para la red de mi casa. Este script se activa cada cierto tiempo y cuando detecta un dispositivo desconocido nos envía una notificación vía Telegram. Si todavía no sabes crear un bot en Telegram haz clic aquí donde te explico cómo crearlo en menos de 5 minutos.

Instalación de NMAP

Nuestro detector de intrusos funciona gracias a la herramienta NMAP, por lo cual la tendremos que instalar en nuestro Raspbian.

Antes de instalar NMAP actualizaremos los paquetes de Linux:

sudo apt-get update

 

Seguido de esto instalaremos NMAP mediante el siguiente comando:

sudo apt-get install nmap -y

 

Aquí os dejo una imagen de como se vería el proceso de instalación.

Instalación de NMAP

 

Descarga del IDS

Una vez hayamos instalado esta herramienta, crearemos una carpeta para nuestros scripts (si no la tenemos todavía).

mkdir scripts

 

Iremos a nuestra carpeta llamada scripts y descargaremos el programa de la siguiente forma:

cd scripts
git clone https://github.com/CarlosPCL98/IDS.git

 

Todo este proceso se debería ver en tu terminal tal que así:

Descargando IDS detector de intrusos

 

Esto nos ha debido crear una carpeta llamada IDS , entraremos en ella mediante el siguiente comando:

cd IDS

 

Configuración del script

Ahora debemos modificar algunos parámetros de los archivos que contiene el directorio IDS, primero modificaremos el archivo llamado ids.sh.

Lo abriremos de la siguiente forma:

nano ids.sh

 

En las líneas 12 y 13 añadiremos el Token de nuestro bot de Telegram y nuestro ID de usuario:
# Declare Telegram variables
TOKEN=»token_de_tu_bot»
ID=»tu_id_de_usuario«

 

Y en la línea 16 escribiremos nuestra IP de red:
# Write the IP of your network // Escribe la IP de tu red
RED=»192.168.0.0/24«

 

Estas 3 variables deberían quedar rellenadas de la siguiente forma:
token y id de telegram en script

 

En la línea 19, modificaremos la ruta del archivo white_list.txt (sí hemos descargado nuestro script en un directorio diferente).
ruta de lista blanca en ids.sh
Finalmente guardaremos los cambios pulsando Ctrl+O.

 

Añadir direcciones MAC conocidas

El siguiente paso es añadir las direcciones MAC de los dispositivos que queremos que nuestro detector de intrusos conozca, las direcciones MAC conocidas se almacenan en el archivo white_list.txt. Abrimos dicho archivo mediante el siguiente comando:
nano white_list.txt

 

El archivo white_list.txt contiene el siguiente ejemplo:
MAC_Address 00:00:00:00:00:00:00 = TV_LIVING_ROOM
MAC_Address AA:11:BB:22:CC:33 = MY_PHONE

 

Ahora deberemos apuntar las direcciones MAC de los equipos de nuestra red y escribirlas en este archivo con el mismo formato que se muestra en el ejemplo. Para realizar nuestras primeras pruebas te recomiendo que dejes algún equipo sin poner en este documento, para poder verificar que nuestras alertas se envían correctamente.
Una vez tengamos nuestras direcciones MAC plasmadas en este archivo guardamos pulsando Ctrl+O.

 

Verificación de que el script funciona

Ahora vamos a ejecutar nuestro script y verificaremos si funciona:
bash ids.sh

 

El script va a tardar unos segundos ya que el comando nmap se demora un poco a la hora de mapear toda nuestra red. Cuando termine tendremos una vista similar a esta:
script ids funcionando

 

Si comprobamos nuestro Telegram debemos haber recibido un mensaje similar a este:
advertencia intruso en red en telegram

 

Crear tarea programada

Con esta prueba ya sabremos que nuestro programa funciona, pero lo interesante de esto es que este script se ejecute automáticamente cada cierto tiempo.
Para ello vamos a crear una tarea programada que ejecute en segundo plano este script.

 

Para crear la tarea programada editaremos el archivo crontab (es el archivo que usa Linux para manejar las tareas programadas), abriremos el archivo mediante el siguiente comando:
crontab -e

Bajamos hasta el final del archivo y pegamos las siguientes líneas:

#Cada 30 minutos revisará si hay un intruso en nuestra red
*/30 * * * * bash /home/pi/scripts/IDS/ids.sh

 

Nos aseguramos que la ruta al programa esta bien y guardamos los cambios con Ctrl+O. Esto hará que nuestro detector de intruso se ejecute automáticamente cada 30 minutos.

 

Con esta ya estaría finalizada toda mi explicación para que vuestra Raspberry os pueda detectar intrusos y os lo notifique vía Telegram. Espero que te haya servido de ayuda, y siéntete libre de hacer cualquier tipo de pregunta sugerencia en lo comentarios. Gracias!

 


Autor: Carlos Categorias: Raspberry / Seguridad



Comentarios ...Deja el primer comentario!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *