
ESP32-S3ファームウェア:スタンドアロンのWPA/WPA2ハンドシェイクキャプチャとTFT UIを介した認証解除テスト、およびWiFi AP経由のpcapダウンロード。
汎用ハッキング&監視セキュリティツール
Adafruit ESP32-S3 Reverse TFT Feather 向けのスタンドアロンWPA/WPA2 ハンドシェイクキャプチャファームウェア。内蔵240×135 TFTと3ボタンを備え、通常使用にスマホアプリやブラウザは不要。キャプチャはLittleFS上に.pcapとして保存されます。Captures → Download AP では小さなWiFiネットワークを公開し、ファイルをリスト表示・ダウンロードできます。
教育目的および許可されたテスト専用です。 自分が所有するネットワーク、または明示的にテスト許可を得たネットワークでのみ使用してください。
許可されたターゲット上で、このファームウェアは認証解除フレームを送信し、クライアントが再接続する際にWPA 4ウェイハンドシェイクをキャプチャしてフラッシュに保存します。UIはすべてTFT上で動作し、ダウンロード用Web UIは Captures から Download AP を起動したときのみ動作します。
.pcapファイルの一覧表示、ストレージのクリア、Download APの起動w.FL ボードは外部2.4GHz経路を使用します:w.FL / IPEX3(u.FLではない) → RP-SMA ピグテール → ダイポール(Featherガイド参照)。
電源および書き込みにはUSB-Cケーブルが必要です。
電源(バッテリー不要): USB-C(充電器、ノートPC、または適切なケーブル/OTG対応スマホ)からボードを動作可能。JSTへのLiPoly接続はオプションで、下記のボード改造後は省略することが多いです。
エンクロージャのクリアランス/配線のために、部品面にある2つのスルーホールコネクタを取り外します: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
ツール → ボード → ボードマネージャ → esp32 by Espressif(3.x、ESP32-S3対応)をインストール。
ESP32のWiFiスタックは、ファームウェアが ieee80211_raw_frame_sanity_check をオーバーライドできない限り、生の認証解除フレームをブロックします(GHOST_TFT.ino で実装済み)。リンカがそのシンボルをSDKのコピーより優先できるようにする必要があります。インストールされている platform.txt 内の compiler.c.elf.libs に -zmuldefs を追加してください(多くのESP32「RAWフレーム」スケッチで同じ変更が使われています)。
platform.txt の場所:
Windows: C:\Users\<ユーザー名>\AppData\Local\Arduino15\packages\esp32\hardware\esp32\<バージョン>\platform.txt
Mac: ~/Library/Arduino15/packages/esp32/hardware/esp32/<バージョン>/platform.txt
Linux: ~/.arduino15/packages/esp32/hardware/esp32/<バージョン>/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 / 認証解除が動作しない — -zmuldefs を追加しIDEを再起動。platform.txt の行が正しく追加されているか確認。
ESP32-S3でアップロードに失敗する — データ通信対応のUSBケーブルを使用。Adafruitの手順に従いBOOT/リセットを試す。
キャプチャにハンドシェイクが不完全または欠落している — 信号、PMF、5 GHzクライアント、タイムアウトが原因の可能性があります。Settings を調整し、自分が管理するラボネットワークで再テストしてください。
教育目的および許可されたセキュリティテスト専用です。 許可なくネットワークに認証解除トラフィックを送信したりハンドシェイクをキャプチャすることは、多くの国で違法です。
Arduino-ESP32 コアをベースに構築。RAW WiFiフレーム技術は、Jeija / esp32-80211-tx などのコミュニティ成果に負うところが大きいです。
GHOSTは無料でオープンソースです。役に立ったなら、チップは歓迎しますが決して必須ではありません。
| 部品 | Adafruit | 価格(およそ) |
|---|
| Adafruit ESP32-S3 Reverse TFT (w.FLアンテナ搭載) | 製品 6303 | ストア参照 |
| RP-SMA → w.FL / MHF3 / IPEX3 変換アダプタ | 製品 5444 | $2.95 |
| 2.4GHz ダイポールスイベルアンテナ (RP-SMA, 2dBi) | 製品 944 | $7.95 |