Ghost32 is a standalone security auditing tool built for the ESP32 microcontroller. It features a custom OLED interface (SSD1306 0.96" 128x64) and a 5-button navigation system. With Ghost32, you can quickly scan nearby 802.11 networks and systematically execute deauthentication attacks directly from the device.
⚠️ Disclaimer: This project is strictly for educational purposes and authorized auditing. Utilizing these tools against networks without explicit permission from the network owner is illegal and unethical. The developer assumes no liability for malicious use.
- Wi-Fi Scanner: Rapidly discover and list nearby 2.4GHz Wi-Fi access points.
- Targeted Deauthentication: Disconnect clients from specific networks by transmitting raw 802.11 deauth frames (broadcast & fake client attacks).
- OLED UI: Clean, minimal graphical user interface designed for 128x64 monochromatic OLED screens.
- Hardware Controls: Intuitive 5-button navigation scheme (Up, Down, Left, Right, Center).
- Microcontroller: ESP32 DevKit-V1 (tested) — compatible with any standard ESP32 Dev Board.
- Display: SSD1306 0.96" 128x64 OLED Display (I2C interface) (tested) — SH1106 128x64 also supported.
- Controls: 5x Push Buttons (Active Low /
INPUT_PULLUP).
| Component | ESP32 GPIO | Description |
|---|---|---|
| Top / Up | GPIO 25 |
Navigate Up |
| Bottom / Down | GPIO 27 |
Navigate Down |
| Center / OK | GPIO 33 |
Select or Rescan |
| Left / Back | GPIO 32 |
Go Back / Stop Attack |
| Right / Attack | GPIO 26 |
Start Attack |
OLED SDA |
GPIO 21 (default) |
Standard ESP32 I2C SDA |
OLED SCL |
GPIO 22 (default) |
Standard ESP32 I2C SCL |
Ghost32/ # Repository root
├── main/ # Arduino sketch & source files
│ ├── Ghost32.ino # Main entry point (setup & loop)
│ ├── ui.h / ui.cpp # OLED UI rendering & boot animation
│ ├── wifi_tools.h / .cpp # Wi-Fi scanning & deauth frame logic
│ ├── buttons.h / .cpp # Button input & debounce handling
│ ├── icon.h # Skull boot animation frame data
│ └── attack_frames.h # Deauth animation frame data
├── build/ # Pre-compiled binaries (ready to flash)
│ ├── Ghost32.ino.bootloader.bin
│ ├── Ghost32.ino.partitions.bin
│ └── Ghost32.ino.bin
└── README.md
Pre-compiled binaries are available in /build. You can flash them without installing Arduino IDE.
| File | Flash Offset | Description |
|---|---|---|
Ghost32.ino.bootloader.bin |
0x1000 |
ESP32 Bootloader |
Ghost32.ino.partitions.bin |
0x8000 |
Partition Table |
Ghost32.ino.bin |
0x10000 |
Main Application Firmware |
-
Connect your ESP32 via USB.
-
Open the Spacehuhn Web Updater in a Chrome/Edge browser (Web Serial required).
-
Click Connect and select your ESP32's COM/Serial port.
-
For each binary, click Choose a file, select the file, enter the correct offset, and click Program:
Step File Offset 1 Ghost32.ino.bootloader.bin0x10002 Ghost32.ino.partitions.bin0x80003 Ghost32.ino.bin0x10000 -
After all three are programmed, press the Reset button on your ESP32.
- Boot Screen: Displays the Ghost32 skull animation briefly before transitioning to the Home menu.
- Wi-Fi Menu: Press Center to enter "Scan Networks".
- Scanning: The device will search for access points. Once finished, a scrollable list with network SSIDs is displayed.
- Attacking:
- Use Up / Down to navigate to the desired target network.
- Press Right to initiate the Deauth Attack on the highlighted network.
- Press Left to immediately abort the attack and return to the network selection screen.
This software is provided "as-is" under the MIT License. Feel free to fork, modify, and contribute to the project!



