
TFT UI 기반 독립형 WPA/WPA2 핸드셰이크 캡처 및 deauthentication 테스트와 WiFi AP를 통한 pcap 다운로드를 지원하는 ESP32-S3 펌웨어.
일반 해킹 및 관찰 보안 도구
Adafruit ESP32-S3 Reverse TFT Feather용 독립형 WPA/WPA2 핸드셰이크 캡처 펌웨어: 내장 240×135 TFT 및 버튼 3개 — 일반 사용 시 동반 앱이나 브라우저가 필요 없습니다. 캡처는 LittleFS에 .pcap으로 저장되며, Captures → Download AP를 통해 작은 WiFi 네트워크가 열려 다른 기기에서 파일을 나열하고 다운로드할 수 있습니다.
교육 및 승인된 테스트 전용입니다. 소유한 네트워크 또는 명시적 테스트 허가를 받은 네트워크에서만 사용하세요.
승인된 대상에서 펌웨어는 디어인증(deauthentication) 프레임을 전송하고, 클라이언트가 재연결할 때 WPA 4-way 핸드셰이크를 캡처하여 플래시에 저장할 수 있습니다. UI는 전적으로 TFT에 표시되며, 다운로드 웹 UI는 Captures에서 Download AP를 시작할 때만 실행됩니다.
.pcap 파일 목록, 저장소 지우기 또는 Download AP 시작w.FL 보드는 외장 2.4GHz 경로를 사용합니다: w.FL / IPEX3(u.FL 아님) → RP-SMA 피그테일 → 다이폴 (Feather 가이드).
전원 및 플래싱에 USB-C 케이블이 필요합니다.
전원(배터리 불필요): USB-C(충전기, 노트북, 또는 적절한 케이블/OTG를 갖춘 휴대폰)로 보드를 실행할 수 있습니다. JST에 LiPoly는 선택 사항이며, 아래 보드 개조 후에는 이 구성에서 종종 생략됩니다.
케이스 간섭/배선을 위해 부품 측의 스루홀 커넥터 두 개를 제거하세요: JST-PH 배터리 커넥터(USB-C 근처)와 STEMMA QT / JST-SH I²C 커넥터(보드 중앙)입니다. 납을 조심스럽게 제거하세요.

추가 배선 없음; 기본값은 config_s3.h에 있습니다.
arduino.cc — 2.x면 충분합니다.
파일 → 기본 설정 → 추가 보드 매니저 URL:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
도구 → 보드 → 보드 매니저 → Espressif의 esp32 설치 (3.x, ESP32-S3 지원).
ESP32 WiFi 스택은 펌웨어가 ieee80211_raw_frame_sanity_check(GHOST_TFT.ino에 구현)를 오버라이드할 수 없으면 원시 deauth 프레임을 차단합니다. 링커가 해당 심볼이 SDK 복사본을 오버라이드하도록 허용해야 합니다 — 설치된 **platform.txt**의 compiler.c.elf.libs에 **-zmuldefs**를 추가하세요 (많은 ESP32 “raw frame” 스케치에서 사용하는 것과 동일한 변경):
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).
config_s3.h의 SELECT_LONG_PRESS_MS로 설정 가능)로 완료Captures에서 Download AP를 시작하고, 다른 기기에서 해당 SSID에 연결한 다음(비밀번호는 TFT 및 Settings에 표시됨), 표시된 IP(보통 http://192.168.4.1)를 열어 .pcap 파일을 다운로드하고, Select로 AP를 중지합니다.
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 케이블 사용; Adafruit 안내에 따라 BOOT/리셋.
캡처의 핸드셰이크 불완전 또는 누락 — 신호, PMF, 5GHz 클라이언트 또는 시간 초과; Settings를 조정하고 통제 가능한 실험실 네트워크에서 재테스트하세요.
교육 및 승인된 보안 테스트 전용. 테스트가 허용되지 않은 네트워크에서 deauthentication 트래픽을 전송하거나 핸드셰이크를 캡처하는 것은 많은 관할권에서 불법입니다.
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 |