En este artículo, examinaremos el proceso para desarrollar un WiFi Marauder utilizando la placa de desarrollo ESP32. Posteriormente veremos como utilizarla para realizar ataques como Deauth, Beacon Spam y Evil Portal.
Requisitos
Hardware
- Placa de Desarrollo ESP32: La pieza central de nuestro proyecto.
- Cables Dupont Macho-Hembra (x4): Estos cables serán esenciales para establecer las conexiones necesarias entre la placa ESP32 y el Flipper Zero.
En mi caso compre estas piezas por AliExpress. A continuación proporcionare los enlaces de la tienda en donde adquirí los productos.
Enlaces de Compra:
Otros requerimientos
Instalaremos el controlador CP210x desde aquí para que el dispositivo sea reconocido. Para este caso utilizaremos el de Windows.
Además utilizaremos la aplicación QFlipper para agregar y modificar ficheros.
También debemos tener python instalado en el sistema. En mi caso lo instalé desde la Microsoft Store.
Adicionalmente debemos tener instalado Git en el equipo. El cual descargué desde aquí.
Finalmente es recomendable utilizar el firmware Unleashed el cual contiene los modulos de ataque con el ESP32 para GPIO pre-instalados.
Flashing ESP32 - Marauder
El primer paso será flashear el ESP32, para esto clonaremos el repositorio FZEasyMarauderFlash para poder flashear la placa. Una vez clonado el repositorio debemos instalar las dependencias de este utilizando pip:
pip install -r requirements.txt
Ahora conectamos la placa por USB al equipo. Ya conectada debemos configurarla en modo escritura. Para hacer esto debemos mantener presionado los botones de BOOT y RESET:
Soltando el botón de RESET(1) y manteniendo presionado el botón de BOOT(2) ejecutaremos el script EasyInstall.py. En mi caso lo hare desde Visual Studio Code:
Ya ejecutado el script, sin soltar el botón de BOOT(2) seleccionaremos la opción correspondiente para nuestra placa, en este caso será la opción 5:
A lo largo de la ejecución del script no debemos soltar el botón de BOOT(2) o puede que la placa no se flashee bien. F por nuestro dedo
Ahora solo debemos esperar a que el script finalice y nos muestre el siguiente mensaje:
Con esto ya podremos realizar los ataques de Deuth y Beacon Spam. Pero primero debemos conectar la placa al Flipper Zero.
Esquema de Conexión
Para poder utilizar la placa en el Flipper Zero debemos seguir el siguiente esquema de conexión en el cual utilizaremos los cables dupont:
Una vez conectados al Flipper Zero el led del ESP32 se ilumina lo que significa que se está alimentando correctamente. La conexión se vera de la siguiente forma:
Desde este punto ya podemos realizar los primeros ataques.
Deauth Attack
Una vez que la placa ESP32 está debidamente configurada con el firmware necesario, podemos avanzar hacia la implementación del ataque de desautenticación. El ataque de desautenticación (Deauth Attack) se utiliza para desconectar dispositivos específicos de una red WiFi, creando una oportunidad para el análisis y monitoreo.
Bien, lo primero para realizar este ataque es tener un objetivo. En mi caso he levantado una red de prueba llamada Frontier. Con esto en mente, en el Flipper Zero nos dirigimos a Apps > GPIO y seleccionamos [ESP32] WiFi Marauder:
Ahora para detectar la Red seleccionamos la opción de Scan con la opicón de ap para escanear los puntos de acceso:
Observamos que se ha escaneado el AP Frontier y un total de 3 puntos de acceso.
Ya que tenemos escaneado nuestro objetivo tenemos que seleccionarlo, para ver que posición es la que ocupa podemos ingresar en la opción de List con la opción de ap:
Como se aprecia nuestro AP objetivo es el número 0. Para seleccionarlo debemos utilizar la opción de Select con la opción de ap de la siguiente forma:
Finalmente para realizar el ataque debemos utilizar la opción de Attack con la opción de deauth como se muestra a continuación:
Con en esto nuestro Flipper Zero ya estará enviando paquetes para desautenticar a los dispositivos conectados a la red Frontier:
Así mismo se nos desautentican otros equipos conectados e impide conectarse a la red:
Beacon Spam Attack
Ahora que sabemos como utilizar el Flipper Zero para realizar ataques de deautenticación pasaremos a Beacon Spam. Con este ataque podemos inundar la red con puntos de acceso falsos con el fin de saturarla.
Como hicimos anteriormente, utilizaremos la aplicación de [ESP32] WiFi Marauder:
Contamos con 2 tipos de configuraciones:
- Añadir una lista de SSID random.
- Añadir un SSID con un nombre especifico.
Random SSID
Para realizar el ataque con una lista de SSID randoms debemos seleccionar la opción de SSID con la configuración de add rand:
A continuación debemos seleccionar una cantidad para generar, en este caso utilizare 30:
Con estos 30 SSID ya generados podemos realizar el ataque de spam. Para esto seleccionamos la opción de Beacon Spam con la configuración de ssid list:
Con en esto nuestro Flipper Zero ya estará realizando el spam de SSID para inundar la red:
Lo mismo sucederá en otros dispositivos:
Single SSID
Para este caso debemos seleccionar la opción de SSID con la configuración de add name. En este caso el nombre que agregare es google:
Con este SSID ya configurado realizaremos el ataque de spam. Para esto seleccionamos la opción de Beacon Spam con la configuración de ssid list:
Con en esto nuestro Flipper Zero ya estará realizando el spam del SSID configurado:
Evil Portal
Ya hemos aprendido como desautenticar equipos de la red y como crear puntos de acceso falsos utilizando el ESP32. A continuación y para finalizar aprenderemos como desplegar un portal malicioso. Cuando los usuarios intenten conectarse a este punto de acceso, se les mostrará una pantalla de inicio de sesión falsa. Las credenciales de usuario se envían al Flipper y se registran en la tarjeta SD.
Cabe destacar que para poder hacer uso del Evil Portal debemos flashear nuevamente la placa. Para esto haremos uso del script utilizado anteriormente.
Flashing ESP32 - Evil Portal
Utilizaremos el repositorio FZEasyMarauderFlash ya clonado para poder flashear la placa. Tengamos en cuenta que debemos conectar la placa al equipo y configurarla en modo escritura como hicimos anteriormente.
Ya ejecutado el script, sin soltar el botón de BOOT(2) seleccionaremos la opción correspondiente para nuestra placa, en este caso será la opción 14 para Evil Portal:
Recordemos que a lo largo de la ejecución del script no debemos soltar el botón de BOOT(2) o puede que la placa no se flashee bien. F por nuestro dedo nuevamente.
Ahora solo debemos esperar a que el script finalice y nos muestre el siguiente mensaje:
Con esto ya podremos realizar el ataque de Evil Portal. Pero primero debemos instalar la aplicación en nuestro Flipper Zero.
Instalando Evil Portal - Facil + Manual
→ Primeros pasos
Para instalar la aplicación de Evil Portal utilizaremos el repositorio flipper-zero-evil-portal. Esta vez lo descargamos como zip.
Para esto ingresamos al repositorio, presionamos en Code y finalmente Download ZIP:
Lo primero que haremos es transferir los ficheros que se encuentran en la carpeta evil_portal del repositorio descargado.
Antes de transferirlos explicare brevemente la estructura de estos ficheros.
-
ap.config: Este fichero se encarga de mostrar el nombre del punto de acceso, podemos decir que aquí se configurará el SSID.
-
index: el fichero index básicamente es el html que se cargara al momento de que el usuario se conecte a la red, para este primer ejemplo se desplegara un login correspondiente a Google. Más adelante explicare como cambiarlo.
Además crearemos una carpeta nueva llamada logs la cual estará vacía:
Teniendo esto en cuenta movemos la carpeta evil_portal en la carpeta apps_data ubicada en la SD Card.
Ahora podemos continuar e instalar la aplicación.
→ Easy Way
La forma fácil de instalar la aplicación es conectando nuestro Flipper Zero al equipo. Una vez realizada la conexión ingresamos al repositorio y presionamos el siguiente enlace:
Al presionar el enlace podremos ver la siguiente web:
Al presionar en Install se desplegara un una ventana para seleccionar nuestro puerto en uso por el Flipper Zero y la aplicación procederá a instalarse:
Con esto la aplicación ya estará instalada en nuestro Flipper Zero:
→ Manual
Para instalar la aplicación de Evil Portal de manera manual vamos a la sección de releases del repositorio flipper-zero-evil-portal.
Descargaremos el archivo unleashed-evil_portal.fap.zip de la última versión. Este archivo contendrá el archivo evil_portal.fap para el firmware Unleashed:
Ya que descargamos lo necesario lo extraemos en una carpeta, ya que vamos a transferir ficheros al Flipper Zero.
El primer fichero que vamos a transferir es el fichero evil_portal.fap el cual corresponde a la aplicación. La ruta de destino de este fichero debe ser apps/GPIO/ en la SD Card.
Asi se deberia ver la aplicación:
La estructura deberia ser la siguiente:
GPIO/
evil_portal.fap
apps_data/
evil_portal/
ap.config.txt
index.html
logs/
<empty>
Con esto ya habremos instalado la aplicación de Evil Portal en el Flipper Zero de manera manual. De esta forma no tendremos icono pero funcionara de todos modos. Podemos encontrar la aplicación en Apps > GPIO y seleccionamos evil_portal:
→ Evil Portal Attack
Ya hemos aprendido la configuración e instalación básica del Evil Portal. Pero ahora toca la mejor parte, como utilizarlo. Lo primero que debemos hacer es conectar nuestra placa al Flipper Zero como se explico anteriormente. A continuación Iniciamos la aplicación [ESP32] Evil Portal ubicada en apps > GPIO:
Al observar en nuestras redes observamos el SSID Google Free WiFi. Si ingresamos podremos notar como se despliega una web con un login similar al de Google:
Al ingresar credenciales estas serán capturadas con el Flipper Zero y podremos visualizarlas al momento:
→ Cambiar Portal
Ya hemos visto el potencial de un portal cautivo. Ahora aprenderemos a cambiarlo y adecuarlo para cada contexto. El repositorio descargado contiene una basta lista de portales cautivos que podemos utilizar.
Para este caso de ejemplo utilizare el portal cautivo de Amazon ubicado en la carpeta portals:
Para utilizar este portal debemos reemplazarlo por el que se encuentra ubicado en apps_data/evil_portal en la SD Card. Así que eliminamos los ficheros index.html y ap.config.txt:
A continuación depositaremos el fichero Amazon en apps_data/evil_portal y lo renombraremos a index.html:
Como se menciono anteriormente el fichero ap.config corresponde al SSID del punto de acceso. Así que el nombre que asignare será “Amazon WiFi” y lo depositare en apps_data/evil_portal:
Lo guardamos y depositamos en la ruta señalada:
Con esto ya hemos cambiado el portal cautivo. Para comprobarlo iniciaremos la aplicación de Evil Portal:
Comprobamos que nuestro punto de acceso funciona:
Y al conectarnos llegamos al portal cautivo de Amazon:
Algo importante a señalar es que puede que momento de presionar en Start Portal el portal no se levante. Esto me ha pasado un par de veces, pero solo es cosa de probar nuevamente un par de veces o desconectar la placa.
Conclusión
En este artículo, hemos explorado de manera práctica la configuración de una placa ESP32 para llevar a cabo ataques como Deauth, Beacon Spam y Evil Portal. Estos métodos, aunque poderosos, subrayan la importancia de fortalecer la seguridad en redes WiFi. Recordemos que este conocimiento debe emplearse con responsabilidad y únicamente con fines educativos y éticos.
Happy Hacking 🏴☠️