
Firmware para ESP32-S3 para captura de handshake WPA/WPA2 y pruebas de desautenticación de forma independiente a través de interfaz TFT, con descarga de pcap mediante punto de acceso WiFi.
Herramienta de Seguridad para Hacking y Observación General
Firmware independiente de captura de handshake WPA/WPA2 para el Adafruit ESP32-S3 Reverse TFT Feather: pantalla TFT 240×135 incorporada y tres botones — no requiere aplicación complementaria ni navegador para uso normal. Las capturas se guardan como .pcap en LittleFS; Capturas → Download AP expone una pequeña red WiFi para que puedas listar y descargar archivos a otro dispositivo.
SOLO PARA PRUEBAS EDUCATIVAS Y AUTORIZADAS. Úselo únicamente en redes de su propiedad o para las que tenga permiso explícito para realizar pruebas.
En un objetivo autorizado, el firmware puede enviar tramas de desautenticación, capturar el handshake WPA de 4 vías mientras los clientes se reconectan y almacenar el resultado en la memoria flash. La interfaz de usuario está completamente en la TFT; la interfaz web de descarga solo se ejecuta cuando inicias Download AP desde Captures.
.pcap, limpiar almacenamiento o iniciar Download APLa placa w.FL utiliza una ruta externa de 2.4 GHz: w.FL / IPEX3 (no u.FL) → cable pigtail RP-SMA → dipolo (Guía del Feather).
Necesitas un cable USB-C para alimentación y flasheo.
Alimentación (no requiere batería): Puedes alimentar la placa desde USB-C (cargador, portátil o teléfono con cable/OTG adecuado). Una LiPoly en el JST es opcional; esta construcción a menudo la omite después de la modificación de la placa a continuación.
Retira dos conectores pasantes en el lado de los componentes para espacio/encaminamiento del gabinete: el conector JST-PH de batería (cerca del USB-C) y el conector STEMMA QT / JST-SH I²C (en medio de la placa). Desolda con cuidado.

No requiere cableado adicional; los valores predeterminados están en config_s3.h.
arduino.cc — 2.x está bien.
Archivo → Preferencias → URLs adicionales del Gestor de Placas:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Herramientas → Placa → Gestor de Placas → instalar esp32 de Espressif (3.x, compatible con ESP32-S3).
La pila WiFi del ESP32 bloquea las tramas de desautenticación sin procesar a menos que el firmware pueda anular ieee80211_raw_frame_sanity_check (implementado en GHOST_TFT.ino). El enlazador debe permitir que ese símbolo anule la copia del SDK — agrega -zmuldefs a compiler.c.elf.libs en tu platform.txt instalado (el mismo cambio usado en muchos sketches de "trama sin procesar" de ESP32):
Encuentra platform.txt:
Windows: C:\Users\<USERNAME>\AppData\Local\Arduino15\packages\esp32\hardware\esp32\<VERSION>\platform.txt
Mac: ~/Library/Arduino15/packages/esp32/hardware/esp32/<VERSION>/platform.txt
Linux: ~/.arduino15/packages/esp32/hardware/esp32/<VERSION>/platform.txt
Cambia:
compiler.c.elf.libs="@{compiler.sdk.path}/flags/ld_libs"
a:
compiler.c.elf.libs="@{compiler.sdk.path}/flags/ld_libs" -zmuldefs
Guarda y reinicia Arduino IDE.
GHOST_TFT.ino (mantén todos los archivos .h en la misma carpeta).El nombre de la carpeta del sketch debe coincidir con el nombre del archivo .ino (este repositorio: GHOST_TFT / GHOST_TFT.ino).
SELECT_LONG_PRESS_MS en config_s3.h) para finalizarDesde Capturas, inicia Download AP, conéctate a ese SSID desde otro dispositivo (la contraseña se muestra en la TFT y en Configuración), abre la IP mostrada (a menudo http://192.168.4.1), descarga archivos .pcap, luego detén el AP con Seleccionar.
GHOST_TFT/
├── assets/
│ └── logo.svg
├── docs/images/
├── GHOST_TFT.ino
├── config_s3.h
├── types.h
├── display.h
├── input.h
├── storage.h
├── attack.h
├── download_server.h
└── logo.h
unsupport frame type / la desautenticación no funciona — agrega -zmuldefs y reinicia el IDE; confirma la línea en platform.txt.
Fallos de subida en ESP32-S3 — cable USB con capacidad de datos; BOOT/reset según Adafruit.
Handshake incompleto o faltante en la captura — señal, PMF, clientes de 5 GHz o tiempo de espera; ajusta Configuración y vuelve a probar en una red de laboratorio que controles.
Solo para pruebas de seguridad educativas y autorizadas. Enviar tráfico de desautenticación o capturar handshakes en redes en las que no tienes permitido realizar pruebas es ilegal en muchas jurisdicciones.
Construido con el núcleo Arduino-ESP32. Las técnicas de tramas WiFi sin procesar deben mucho al trabajo de la comunidad como Jeija / esp32-80211-tx.
GHOST es gratuito y de código abierto. Si te ha sido útil, una propina siempre es apreciada pero nunca esperada.
| Componente | Adafruit | Precio (aprox.) |
|---|
| Adafruit ESP32-S3 Reverse TFT con Antena w.FL | Producto 6303 | Ver tienda |
| Adaptador RP-SMA a w.FL / MHF3 / IPEX3 | Producto 5444 | $2.95 |
| Antena dipolo giratoria 2.4GHz con RP-SMA — 2dBi | Producto 944 | $7.95 |