
Прошивка ESP32-S3 для автономного захвата рукопожатий WPA/WPA2 и тестирования деаутентификации через TFT-интерфейс, с загрузкой pcap через точку доступа Wi-Fi.
Универсальный инструмент безопасности для взлома и наблюдения
Автономная прошивка для перехвата рукопожатий WPA/WPA2 на базе Adafruit ESP32-S3 Reverse TFT Feather: встроенный TFT-экран 240×135 и три кнопки — для обычного использования не требуется приложение-компаньон или браузер. Захваченные данные сохраняются как .pcap на LittleFS; режим Captures → Download AP поднимает небольшую WiFi-сеть, через которую можно просмотреть список файлов и скачать их на другое устройство.
ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНОГО И АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ. Используйте только в сетях, которыми вы владеете или на тестирование которых у вас есть явное разрешение.
На авторизованной цели прошивка может отправлять кадры деаутентификации, перехватывать 4-стороннее рукопожатие WPA при повторном подключении клиентов и сохранять результат во флеш-памяти. Интерфейс полностью на TFT-экране; веб-интерфейс загрузки запускается только при старте Download AP из раздела Captures.
.pcap-файлов, очистка хранилища или запуск Download APПлата w.FL использует внешний тракт 2,4 ГГц: w.FL / IPEX3 (не u.FL) → переходник RP-SMA → диполь (руководство Feather).
Вам понадобится кабель USB-C для питания и прошивки.
Питание (батарея не требуется): Плату можно питать через USB-C (зарядное устройство, ноутбук или телефон с подходящим кабелем/OTG). LiPoly на разъёме JST опционален; в этой сборке его часто не используют после модификации платы, описанной ниже.
Удалите два штыревых разъёма со стороны компонентов, чтобы освободить место в корпусе / для прокладки кабеля: разъём JST-PH для батареи (около USB-C) и разъём STEMMA QT / JST-SH I²C (в середине платы). Аккуратно выпаяйте.

Дополнительных подключений не требуется; значения по умолчанию находятся в config_s3.h.
arduino.cc — подойдёт версия 2.x.
File → Preferences → Additional Boards Manager URLs:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Tools → Board → Boards Manager → установите esp32 от Espressif (3.x, с поддержкой ESP32-S3).
Стек WiFi ESP32 блокирует сырые кадры deauth, если прошивка не может переопределить ieee80211_raw_frame_sanity_check (реализована в GHOST_TFT.ino). Компоновщик должен позволить этому символу переопределить копию из SDK — добавьте -zmuldefs в compiler.c.elf.libs в вашем установленном platform.txt (то же изменение используется во многих ESP32-скетчах с «сырыми кадрами»):
Найдите 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
Замените:
compiler.c.elf.libs="@{compiler.sdk.path}/flags/ld_libs"
на:
compiler.c.elf.libs="@{compiler.sdk.path}/flags/ld_libs" -zmuldefs
Сохраните изменения и перезапустите Arduino IDE.
GHOST_TFT.ino (все .h-файлы должны находиться в той же папке).Имя папки скетча должно совпадать с именем .ino-файла (в этом репозитории: GHOST_TFT / GHOST_TFT.ino).
SELECT_LONG_PRESS_MS в config_s3.h) — завершитьВ разделе Captures запустите Download AP, подключитесь к этому SSID с другого устройства (пароль показан на TFT-экране и в Settings), откройте указанный IP (обычно http://192.168.4.1), скачайте .pcap-файлы, затем остановите точку доступа кнопкой 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
unsupport frame type / deauth не работает — добавьте -zmuldefs и перезапустите IDE; убедитесь, что соответствующая строка есть в platform.txt.
Ошибки загрузки на ESP32-S3 — используйте USB-кабель с поддержкой передачи данных; BOOT/сброс по инструкции Adafruit.
Неполное или отсутствующее рукопожатие в захвате — сигнал, PMF, клиенты 5 ГГц или таймаут; настройте Settings и повторите тест в собственной лабораторной сети.
Только для образовательного и авторизованного тестирования безопасности. Отправка трафика деаутентификации или перехват рукопожатий в сетях, которые вам не разрешено тестировать, незаконны во многих юрисдикциях.
Собрано на основе ядра Arduino-ESP32. Техники работы с сырыми WiFi-кадрами основаны на наработках сообщества, например Jeija / esp32-80211-tx.
GHOST — бесплатный проект с открытым исходным кодом. Если он оказался полезным, будем признательны за донат, но это не обязательно.
| Деталь | Adafruit | Цена (прибл.) |
|---|
| Adafruit ESP32-S3 Reverse TFT with w.FL Antenna | Product 6303 | См. в магазине |
| RP-SMA to w.FL / MHF3 / IPEX3 Adapter | Product 5444 | $2.95 |
| 2.4GHz Dipole Swivel Antenna with RP-SMA — 2dBi | Product 944 | $7.95 |