En mi afán por obligarme a compartir con todos vosotros todas esos gadgets, investigaciones y experimentos que pasan por mis manos, hoy os quiero contar como con un desembolso mínimo de dinero podemos crear todo un WiFi "Jammer".
Todo empezó hace unos meses gracias a una genial entrada del amigo @Dormidera que siempre me pica con todo lo que publica en su blog (os lo recomiendo!!) y en esta ocasión me descubría un nuevo "gadget", un nuevo concepto (el de Jammer) y sobre todo un plan entretenido para el puente de Semana Santa!
¿Un Jammer?
Los jammer son "maquinitas" que bloquean o interfieren las señales fundamentalmente inalámbricas de teléfonos móviles, Bluetooth, WiFi y GPS entre otras. Yo desde mi ignorancia me atrevería a catalogarlos como una especie de inhibidores.Existen dos tipos de ataques de interferencia o jamming que pueden ser utilizados para dificultar la comunicación de datos desde un receptor. El primer tipo es el denominado spot, el cual va direccionado a interferir una frecuencia específica, mientras que cuando se trata de afectar varios canales simultáneamente estamos frente a una interferencia del tipo barrage.
Además hay que resaltar que quienes son víctimas de estos ataques son los clientes que no se pueden conectar a la red, en cualquier caso el AP seguirá operando normalmente y solamente podrán conectarse con algo de suerte aquellos que estén lo suficientemente cerca del dispositivo emisor.
Lo que vamos a usar aquí se asemeja al segundo tipo mencionado barrage, aunque en el párrafo introductorio lo he entrecomillado porque nosotros vamos a simular un "jammeo" valiéndonos de un ataque de de-autenticación WiFi para desconectar (e impedir su reconexión) a uno, varios o todos los clientes de punto de acceso WiFi pero no es un jammer físico en formato hardware como tal.
El gadget de 5€
Para este proyecto necesitaremos aprovisionarnos de un NodeMCU ESP8266, que se trata de un kit de desarrollo de código abierto, basado en el chip ESP8266 modelo ESP-12 para proyectos que necesiten conectividad Wifi. Si queréis mas información sobre ello y sus posibilidades os dejo este enlace, tiene muchas posibilidades el cacharrito!
En lo que a especificaciones técnicas se refiere, nos encontramos con las siguientes
- CPU RISC de 32-bit: Tensilica Xtensa LX106 a un reloj de 80 MHz
- RAM de instrucción de 64 KB, RAM de datos de 96 KB
- Capacidad de memoria externa flash QSPI - 512 KB a 4 MB (puede soportar hasta 16 MB)
- IEEE 802.11 b/g/n Wi-Fi
- Tiene integrados: TR switch, balun, LNA, amplificador de potencia de RF y una red de adaptación de impedancias
- Soporte de autenticación WEP y WPA/WPA2
- 16 pines GPIO (Entradas/Salidas de propósito general)
- Interfaz I²S con DMA (comparte pines con GPIO)
- Pines dedicados a UART, mas una UART únicamente para transmisión que puede habilitarse a través del pin GPIO2
- 1 conversor ADC de 10-bit
Podemos encontrarlo desde 5 a 8 euros aproximadamente dependiendo de donde queramos comprarlo y sobretodo de la prisa que tengamos en recibirlo (Amazon o eBay) e incluso a precios mas bajos en webs de china si tenemos aun menos prisa en recibirlo.
Flasheando el Firmware del NodeMCU en Linux!
En primer lugar necesitamos descargarnos el firmware más actualizado desde aquí, y más concretamente necesitaremos descargar el de 1MB que es el que se ajusta a nuestro modelo de NodeMCU concreto (no descarguemos el de 4MB que la liamos!!)
En segundo lugar necesitamos hacernos con algún software que nos permita realizar el flasheo desde nuestro entorno Linux, en mi caso he decidido utilizar esptool que es una herramienta sencilla que permite flashear cualquier firmware en ESP8266 (no solo el NodeMCU). Podéis descargarlo desde su repositorio en GitHub y debéis tener en cuenta que necesitaréis Python 2.7 o Python 3.4 o superior instalado en el sistema.
Una vez descargado y todo listo abrimos una terminal y nos movemos hasta la carpeta donde hemos descargado/clonado esptool y procedemos a utilizar la sentencia adecuada para flashear del firmware una vez situados en la ruta en la que hayamos descomprimido la herramienta
sudo python esptool.py --port /dev/ttyUSB0 write_flash 0x00000 /la_ruta_completa/_donde_está_el/_firmware_descargado.bin
Si todo va bien observaremos como va trabajando y progresando en el porcentaje de escritura hasta completar el 100 para finalmente verificar los datos y reiniciar el dispositivo
Jugando con nuestro Jammer ya operativo
Una vez ya flasheado el firmware deberemos de alimentar nuestro NodeCMU conectándolo a cualquier transformador, powerbank, puerto USB, smarthpone, etc... en unos segundo estará operativo y podemos empezar a jugar con ello.
Desde nuestro ordenador/smartphone/tablet realizaremos un escaneo de redes WiFi dentro del alcance y observaremos que aparece una nueva llamada pwned, ese es nuestro jammer!!
Nos conectamos a él utilizando la contraseña "deauther"
Una vez establecida la conexión abrimos el navegador web y vamos a la dirección 192.168.4.1. Lo primero que nos encontraremos es un mensaje de bienvenida donde se nos advierte de lo que este software puede llegar a hacer y de que solo debemos usarlo con nuestra red y nuestros dispositivos; como ya todos sabemos pero nunca esta de más dejarlo claro: la utilización de este software contra otras redes y dispositivos si no tenemos permiso explicito incurriría en la ilegalidad.
Pinchamos en el botón inferior confirmando la lectura y comprensión del escrito y accedemos al interface principal del proyecto.
Pinchamos en el botón inferior confirmando la lectura y comprensión del escrito y accedemos al interface principal del proyecto.
Una vez dentro observamos que la interface es muy limpia e intuitiva, con unas secciones superiores muy claras que podemos ir recorriendo y ver en mas detalle:
APs
Usando el botón SCAN nos permite escanear el espectro de radio en busca de Punto De Acceso WiFi dentro de nuestro alcance mostrándonos el canal de emisión, el SSiD, el nivel de potencia/intensidad, el tipo de encriptación.
Observaremos que la última columna nos permite "Seleccionar" una de esas redes para trabajar sobre ella mas adelante cuando avancemos a la siguiente pestaña...
STATIONS
En esta pestaña podremos examinar los clientes que tiene conectados a él el punto de acceso que hayamos seleccionado previamente en la pestaña APs que acabamos de ver en el punto anterior.
Ajustamos el tiempo en segundos que queremos que dure el escaneo (por defecto ya viene aocnfigurado a 15 segundos) y pinchamos sobre el botón START
Ajustamos el tiempo en segundos que queremos que dure el escaneo (por defecto ya viene aocnfigurado a 15 segundos) y pinchamos sobre el botón START
Después de esperar el tiempo ajustado (en el que veremos que nos hemos desconectado y reconectado a la red WiFi de nuestro jammer) deberemos recargar la página y en la mitad de la pantalla vermeos un listado de cleintes que estan conectados y asociados al AP seleccionado.
Al igual que hicimos en la primera pestaña, en esta ocasión podremos seleccionar aquellos clientes concretos (o todos) que deseemos someter a los ataques disponibles en la siguiente pestaña...
ATTACKS
En esta pestaña veremos todas las opciones que nos ofrece nuestro proyecto para el ataque una vez fijado el AP objetivos y los clientes conectados objetivo:
Podremos clonar y suplantar el AP para "secuestrar" los clientes, o bien realizar ataques dirigidos a los clientes pudiendo elegir entre ataques de desautenticacion, ataques Beacon Frame (spamea con paquetes Beacon el SSID de la red) y ataque Probe-Request
Podremos clonar y suplantar el AP para "secuestrar" los clientes, o bien realizar ataques dirigidos a los clientes pudiendo elegir entre ataques de desautenticacion, ataques Beacon Frame (spamea con paquetes Beacon el SSID de la red) y ataque Probe-Request
En la columna derecha podremos poner en marcha los ataques y pararlos cuando consideremos oportuno, igualmente si hacemos scroll hacia abajo nos puede mostrar, por ejemplo, los paquetes beacon aleatorios que genera por si mismo para realizar el Beacon Frame Attack.
A partir de este momento ya solo es cuestión de enfocar nuestro ataque e ir investigando como nuestra red y nuestros clientes se van viendo afectados
A partir de este momento ya solo es cuestión de enfocar nuestro ataque e ir investigando como nuestra red y nuestros clientes se van viendo afectados
SETTINGS
Es un sencillo apartado de configuración del proyecto, dentro podemos cambiar el nombre del SSiD que levanta el proyecto, asi como la clave de acceso e incluso el canal en el que queremos levantarlo.
Espero que la entrada nos se os haya hecho demasiado pesada y sobre todo que haya sido de vuestro interés. A mi me pareció un proyecto sencillo y muy fácil pero no por ello menos interesante!! Desde que lo tengo me acompaña a todas partes con el resto de gadgets que llevo en la mochila!!
Saludos!!!!!!!!
Proyecto muy interesante!!!
ResponderEliminarAnímate!! 5€ y 30 minutines tienen la culpa!! jajajajajaj
EliminarGracias por la visita y el comentario!!
Este es un mundo impresionante. He seguido todos los pasos y ¡¡¡FUNCIONA A LA PERFECCIÓN!!!
ResponderEliminarY ahora me pregunto.......¿Se podría hacer algo similar para bloquear la señal Bluetooth?
¿Cómo?
Por favor seguid publicando este tipo de cosas. Son super interesantes.
Muchas gracias y saludos
trabajando con la frecuencia normalizada para Bluetooth
EliminarHola, cada vez que entro a station para saber quien esta conectado al punto seleccionado y aprieto start todo se jode y sale esto: error loading ClientScan.json?time=15
ResponderEliminarAlguna ayuda lo agradeceria
jejeje bastante brutal perro. tengo el NODEMCU pero solo lo usaba para otras cosas, viendo esto pues, es interesante.
ResponderEliminarHola! tengo un problema al conectarme a la ip me da este error: esta página no funciona
ResponderEliminarHay forma de hacerlo en vez de tumbar wifi tumbar bocinas Bluetooth?
ResponderEliminarSupongo que habría que buscar un código adecuado para ello... Yo también lo busco para eso, a ver si hay suerte
Eliminar