Repository navigation
v1.2.0
New capabilities since v1.0.1; full docs in the README and Usage.
What's new
Beacon broadcasting (beacon spam)
- Broadcast 802.11 beacons for custom or hidden SSIDs (up to 32)
- Fixed channel (1–13), configurable TX interval (default 20 ms, round-robin)
- Optional stable BSSID (derived from SSID) or random BSSID per run
- Continuous until Ctrl+C — clean
STOP_BEACONon interrupt - Status query while running
./nrsuite beacon start --ssid "CoffeeShop" --ssid "Airport_Free" --channel 6
./nrsuite beacon start --file ssids.txt --channel 11 --interval 15
./nrsuite beacon start --ssid "HiddenNet" --hidden --stable-bssid --channel 1
./nrsuite beacon status
./nrsuite beacon stop # or Ctrl+C while runningUSB Mass Storage
- Expose onboard flash as a USB mass storage drive to the host (
masstorage start) - Bridge-side file ops without entering MSC mode: list / delete / free space
startre-enumerates USB as MSC — exit with the device button/reset (CDC link drops)
./nrsuite masstorage start
./nrsuite masstorage files
./nrsuite masstorage delete secret.txt
./nrsuite masstorage free
masstorage startand BadUSB need native USB-OTG (ESP32-S2 / S3).
files/delete/freework on any supported chip over the bridge.
See Hardware.
Multi-device select
nrsuite deviceslists plugged-in USB paths with indices-d/--deviceaccepts index, path, or unique substring- Omit
-dto auto-detect (single board, or VID/PID heuristics) - Optional env:
NRSUITE_DEVICE
./nrsuite devices
./nrsuite -d 0 scan
./nrsuite -d /dev/bus/usb/002/045 beacon start --ssid Test --channel 6BadUSB
- Arm a DuckyScript payload over native USB HID
- Optional simultaneous mass storage exposure (
--masstorage) - Payload is uploaded to the device, then armed for the next plug-in
./nrsuite badusb --payload payload.txt
./nrsuite badusb --payload payload.txt --masstorageCarried over from v1.0.1
- WiFi scan · Packet sniffing (fixed / hop,
.pcap, FIFO stream) - EAPOL / handshake capture · Deauth (standalone or with sniff)
- Captive portal / AP mode · BLE HID (BadBLE + live keyboard)
- Heartbeat (uptime + free heap)
Supported boards
| Board | Binary | Transport | Status |
|---|---|---|---|
| ESP32-C3 (SuperMini or regular devkit) | nrsuite-esp32c3.bin |
Native USB CDC | ✅ Tested |
| ESP32-S3 | nrsuite-esp32s3.bin |
Native USB CDC | ✅ Tested |
| ESP32-S2 | nrsuite-esp32s2.bin |
Native USB (OTG) | ✅ Tested — WiFi + MSC + BadUSB (no BLE radio) |
| Classic ESP32 devkit (WROOM-32) | nrsuite-esp32-generic.bin |
External USB-UART (CP2102/CH340/CH9102/FTDI) | ✅ Tested |
Flashing
- PC/laptop:
esptool.py --chip <chip> --port <port> write_flash 0x0 <binary>
(or ESP Web Flasher) - Android (Termux, no root): use NRFlasher — plain
esptool.pyneeds root. See README – Flashing.
Setup
git clone https://github.com/7wp81x/NRSuite
cd NRSuite
chmod +x nrsuite
./nrsuite scan