dolphin

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. ESP32
  • Cables Dupont Macho-Hembra (x4): Estos cables serán esenciales para establecer las conexiones necesarias entre la placa ESP32 y el Flipper Zero. DUPONT

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. Drivers

Además utilizaremos la aplicación QFlipper para agregar y modificar ficheros.
qflipper

También debemos tener python instalado en el sistema. En mi caso lo instalé desde la Microsoft Store. Python

Adicionalmente debemos tener instalado Git en el equipo. El cual descargué desde aquí.
git

Finalmente es recomendable utilizar el firmware Unleashed el cual contiene los modulos de ataque con el ESP32 para GPIO pre-instalados. unlshd

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: esp32Write

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: Script1

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: Script2

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 firmware

Ahora solo debemos esperar a que el script finalice y nos muestre el siguiente mensaje: Scriptfinish

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: schema

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: conexion

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: Marauder1

Ahora para detectar la Red seleccionamos la opción de Scan con la opicón de ap para escanear los puntos de acceso: scannap
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:
listap

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:
selectap

Finalmente para realizar el ataque debemos utilizar la opción de Attack con la opción de deauth como se muestra a continuación:
deauth

Con en esto nuestro Flipper Zero ya estará enviando paquetes para desautenticar a los dispositivos conectados a la red Frontier:
wtchdeauth

Así mismo se nos desautentican otros equipos conectados e impide conectarse a la red:
def

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:
Marauder1

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:
ssid

A continuación debemos seleccionar una cantidad para generar, en este caso utilizare 30:
30ssid

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:
bs

Con en esto nuestro Flipper Zero ya estará realizando el spam de SSID para inundar la red:
spamdone

Lo mismo sucederá en otros dispositivos:
spamph

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:
glg

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:
bs

Con en esto nuestro Flipper Zero ya estará realizando el spam del SSID configurado:
gglg

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:
evp

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:
Scriptfinish

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:

repo

Lo primero que haremos es transferir los ficheros que se encuentran en la carpeta evil_portal del repositorio descargado.
files

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.
    apconf

  • 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:
logs

Teniendo esto en cuenta movemos la carpeta evil_portal en la carpeta apps_data ubicada en la SD Card. folder moved

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:
easyinstall

Al presionar el enlace podremos ver la siguiente web:
web1

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:
installed

→ 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.
releases

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:
file

Ya que descargamos lo necesario lo extraemos en una carpeta, ya que vamos a transferir ficheros al Flipper Zero.
files

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.
evilportal

Asi se deberia ver la aplicación: file

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:
evilportaldone

→ 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:
evilup

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:

pwned

→ 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.
flder

Para este caso de ejemplo utilizare el portal cautivo de Amazon ubicado en la carpeta portals:
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:
deleteindex

A continuación depositaremos el fichero Amazon en apps_data/evil_portal y lo renombraremos a index.html:
amazon

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:
amzwifi

Lo guardamos y depositamos en la ruta señalada:
ap.config

Con esto ya hemos cambiado el portal cautivo. Para comprobarlo iniciaremos la aplicación de Evil Portal:
portalamz

Comprobamos que nuestro punto de acceso funciona:
AP

Y al conectarnos llegamos al portal cautivo de Amazon: amzwev

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 🏴‍☠️