
Firmware ESP32-S3 para captura autônoma de handshake WPA/WPA2 e testes de desautenticação via interface TFT, com download de pcap através de ponto de acesso WiFi.
Ferramenta Geral de Observação e Segurança (General Hacking & Observation Security Tool)
Firmware autônomo de captura de handshake WPA/WPA2 para o Adafruit ESP32-S3 Reverse TFT Feather: com TFT colorido de 240×135 e três botões integrados — sem necessidade de aplicativo de celular ou navegador para uso normal. As capturas são salvas como .pcap no LittleFS; Captures → Download AP cria uma pequena rede WiFi para você listar e baixar arquivos em outro dispositivo.
SOMENTE PARA TESTES EDUCACIONAIS E AUTORIZADOS. Use apenas em redes que você possua ou sobre as quais tenha permissão explícita para testar.
Em um alvo autorizado, o firmware pode enviar quadros de desautenticação, capturar o handshake WPA de 4 vias conforme os clientes se reconectam e armazenar o resultado na memória flash. A interface é totalmente no TFT; a interface web de download só roda quando você inicia o Download AP a partir de Captures.
.pcap, limpa o armazenamento ou inicia o Download AP| Peça | Adafruit | Preço (aproximado) |
|---|---|---|
| Adafruit ESP32-S3 Reverse TFT com Antena w.FL | Product 6303 | Ver loja |
| Adaptador RP-SMA para w.FL / MHF3 / IPEX3 | Product 5444 | $2.95 |
| Antena Dipolo Articulada 2.4GHz com RP-SMA — 2dBi | Product 944 | $7.95 |
A placa w.FL usa um caminho externo de 2.4 GHz: w.FL / IPEX3 (não u.FL) → pigtail RP-SMA → dipolo (guia do Feather).
Você precisa de um cabo USB-C para alimentação e gravação.
Alimentação (bateria não é necessária): Você pode alimentar a placa via USB-C (carregador, notebook ou celular com cabo adequado/OTG). Uma LiPoly no JST é opcional; esta montagem geralmente a omite após a modificação da placa abaixo.
Remova dois conectores through-hole no lado dos componentes para dar espaço ao invólucro / roteamento: o conector JST-PH da bateria (próximo ao USB-C) e o conector STEMMA QT / JST-SH I²C (no meio da placa). Dessolde com cuidado.

Sem fiação extra; os padrões estão em config_s3.h.
arduino.cc — a versão 2.x é suficiente.
File → Preferences → Additional Boards Manager URLs:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Tools → Board → Boards Manager → instale esp32 da Espressif (3.x, com suporte a ESP32-S3).
A pilha WiFi do ESP32 bloqueia quadros deauth brutos, a menos que o firmware possa sobrescrever ieee80211_raw_frame_sanity_check (implementado em GHOST_TFT.ino). O linker deve permitir que esse símbolo sobrescreva a cópia do SDK — adicione -zmuldefs a compiler.c.elf.libs no seu platform.txt instalado (a mesma alteração usada em muitos sketches ESP32 de "quadros brutos"):
Encontre o 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
Altere:
compiler.c.elf.libs="@{compiler.sdk.path}/flags/ld_libs"
para:
compiler.c.elf.libs="@{compiler.sdk.path}/flags/ld_libs" -zmuldefs
Salve e reinicie o Arduino IDE.
GHOST_TFT.ino (mantenha todos os arquivos .h na mesma pasta).O nome da pasta do sketch deve corresponder ao nome do arquivo .ino (neste repositório: GHOST_TFT / GHOST_TFT.ino).
SELECT_LONG_PRESS_MS em config_s3.h) para concluirEm Captures, inicie o Download AP, conecte-se a esse SSID em outro dispositivo (a senha aparece no TFT e em Settings), abra o IP exibido (geralmente http://192.168.4.1), baixe os arquivos .pcap e depois pare o AP com Select.
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