Skip to content
This repository was archived by the owner on Mar 11, 2026. It is now read-only.

labubuahhginger/KFW-esp32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

68 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

KFW ESP32 - Multi-Tool Pentesting Firmware

KFW Banner Version License Build

KFW (KalFirmWare) is a comprehensive ESP32-based multi-tool firmware for wireless security testing, RFID experimentation, and infrared control.

πŸš€ Quick Start

Flash Online (Recommended)

Visit the KFW Web Flasher to flash your ESP32 directly from your browser β€” no installation required!

Manual Installation

  1. Download the latest release from GitHub Releases
  2. Flash using Arduino IDE or PlatformIO
  3. Connect to your ESP32 and enjoy!

πŸ“¦ Supported Boards

Board Wi-Fi BLE IR RFID Build Status
ESP32 βœ… βœ… βœ… βœ… esp32dev
ESP32-S3 βœ… βœ… βœ… βœ… esp32s3
ESP32-C3 βœ… βœ… βœ… ❌ esp32c3

⚠️ ESP32-C3: RFID (MFRC522) not supported due to lack of HSPI peripheral.

✨ Features

πŸ“‘ Wi-Fi Tools

  • Beacon Spam β€” Flood Wi-Fi scanners with fake networks
  • Deauther β€” Disconnect clients from access points
  • Probe Sniffer β€” Capture probe requests from devices
  • Beacon Sniffer β€” Monitor beacon frames
  • Channel Graph β€” Visualize Wi-Fi channel usage
  • KFWGotchi β€” Automated WPA2 handshake capture with Tamagotchi-style UI

πŸ“» Bluetooth (BLE)

  • AppleJuice β€” iOS device spam (AirPods, Apple TV, Keyboards)
  • Customizable BLE advertising packets

πŸ”΄ Infrared (IR)

  • IR Receiver β€” Capture remote control codes
  • IR Transmitter β€” Replay captured codes
  • TV-B-Gone β€” Universal TV power-off (20+ brands)

πŸ” RFID / NFC

  • Read β€” Read MIFARE Classic cards
  • Dump β€” Full memory dump with key bruteforce
  • Format β€” Reset cards to factory state
  • Emulate β€” Clone UID

πŸ“ File Manager

  • LittleFS Browser β€” View and manage stored files
  • WebUI β€” Browser-based file manager with Material Design 3
  • PCAP Export β€” Download captured handshakes

βš™οΈ System

  • Adjustable TX Power β€” Wi-Fi and BLE transmission power control
  • Brightness Control β€” OLED display brightness adjustment
  • Serial Console β€” Live debug output via WebUI

πŸ› οΈ Hardware Requirements

Component Model Notes
Microcontroller ESP32 / ESP32-S3 / ESP32-C3 Any board with 4MB+ flash
Display SSD1306 OLED 128x64, I2C
RFID Reader MFRC522 SPI interface (not supported on ESP32-C3)
IR Receiver TSOP38238 See pinout below
IR Transmitter IR LED GPIO with 330Ξ© resistor
Buttons Tactile switches Pull-up configuration

Wiring Diagram

ESP32 (Original)

ESP32          β†’  Component
---------------------------------
GPIO 21 (SDA)  β†’  OLED SDA
GPIO 22 (SCL)  β†’  OLED SCL
GPIO 5  (SS)   β†’  MFRC522 SDA
GPIO 18 (SCK)  β†’  MFRC522 SCK
GPIO 19 (MISO) β†’  MFRC522 MISO
GPIO 23 (MOSI) β†’  MFRC522 MOSI
GPIO 27        β†’  MFRC522 RST
GPIO 15        β†’  IR Receiver
GPIO 13        β†’  IR LED (+ 330Ξ© resistor)
GPIO 32        β†’  NEXT Button (Pull-up)
GPIO 33        β†’  OK Button (Pull-up)

ESP32-S3

ESP32-S3       β†’  Component
---------------------------------
GPIO 1  (SDA)  β†’  OLED SDA
GPIO 2  (SCL)  β†’  OLED SCL
GPIO 10 (SS)   β†’  MFRC522 SDA
GPIO 11 (RST)  β†’  MFRC522 RST
GPIO 12 (SCK)  β†’  MFRC522 SCK
GPIO 13 (MISO) β†’  MFRC522 MISO
GPIO 14 (MOSI) β†’  MFRC522 MOSI
GPIO 16        β†’  IR Receiver
GPIO 17        β†’  IR LED (+ 330Ξ© resistor)
GPIO 4         β†’  NEXT Button (Pull-up)
GPIO 5         β†’  OK Button (Pull-up)

ESP32-C3 (No RFID)

ESP32-C3       β†’  Component
---------------------------------
GPIO 8  (SDA)  β†’  OLED SDA
GPIO 9  (SCL)  β†’  OLED SCL
GPIO 6         β†’  IR Receiver
GPIO 7         β†’  IR LED (+ 330Ξ© resistor)
GPIO 4         β†’  NEXT Button (Pull-up)
GPIO 5         β†’  OK Button (Pull-up)

πŸ“– Usage

Navigation

  • NEXT Button β€” Cycle through menu items
  • OK Button β€” Select / Confirm

WebUI Access

  1. Go to Wi-Fi β†’ Start AP
  2. Connect to your home Wi-Fi (configured in code)
  3. Note the IP address shown on screen
  4. Open browser and navigate to the IP
  5. Manage files, view console output, upload/download

Capturing Handshakes (KFWGotchi)

  1. Wi-Fi β†’ KFWGotchi
  2. Select a channel or let it auto-scan
  3. Wait for a target to appear
  4. Device automatically deauths and captures EAPOL packets
  5. .pcap files saved to LittleFS
  6. Download via WebUI

🎨 UI Design

KFW features a Bruce-inspired interface with:

  • Clean header bars
  • Scrollable menus with icons (Main Menu only)
  • Status bar with button hints
  • Material Design 3 WebUI (warm orange theme)

πŸ“¦ Dependencies

Adafruit_GFX
Adafruit_SSD1306
MFRC522
IRremoteESP8266
NimBLE-Arduino
TJpg_Decoder
LittleFS (built-in)
WiFi (built-in)
WebServer (built-in)

πŸ”¨ Building

Using PlatformIO

# Clone repository
git clone https://github.com/labubuahhginger/kfw-esp32.git
cd kfw-esp32

# Install PlatformIO Core
pip install platformio

# Build for specific board
pio run -e esp32dev    # ESP32
pio run -e esp32s3     # ESP32-S3
pio run -e esp32c3     # ESP32-C3

# Upload firmware
pio run -e esp32dev -t upload

# Monitor serial output
pio device monitor

CI/CD

This project uses GitHub Actions for automated builds:

  • Every push to main or dev branches triggers builds for all boards
  • Tagged releases (v*) automatically create GitHub Releases with firmware binaries
  • Build artifacts are available for 90 days

See .github/workflows/build.yml for configuration.

⚠️ Legal Disclaimer

KFW is intended for authorized security testing and educational purposes only.

  • Only use on networks you own or have explicit permission to test
  • Unauthorized access to computer networks is illegal
  • The authors are not responsible for misuse of this software
  • Check your local laws before using Wi-Fi deauth or jamming features

🀝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Credits

  • Created by: @labubuahhginger
  • Inspired by: Bruce, Flipper Zero, ESP32 Marauder
  • Libraries: Adafruit, ESP32 Community, NimBLE

πŸ“ž Support


Made with πŸ”₯ by @labubuahhginger

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors