3 ONLINE
1 OFFLINE

Fleet Overview

Real-time status of all connected devices. WebSocket port 8081 — device clients auto-reconnect every 5s.

3
Online
1
Offline
16
Payloads
47
Handshakes
128
Networks
2
GPS Fixes
ONLINE
🔌
Pico-BadUSB-01
Pi Pico W
Payloads: 16 loaded
Last: wifi_dump 14:32
IP: 192.168.1.101
ONLINE
👾
PiZero-Pwn-01
Pi Zero W
Handshakes: 47
Networks: 128 seen
IP: 192.168.1.102
ONLINE
📡
ESP32-Marauder
ESP32-S3 Baguette
Mode: WiFi Scan
APs found: 34
Serial: /dev/ttyUSB0
OFFLINE
🖥️
Pi4-Server
Raspberry Pi 4
Last seen: 2h ago
Services: gpsd, hostapd
IP: 192.168.1.100
Activity Log
14:47:03Pico-01Connected — 16 payloads loaded
14:46:51ESP32WiFi scan complete — 34 APs
14:45:22PiZeroNew handshake captured: NETGEAR_5G
14:43:11Pi4Connection lost — retrying in 5s
14:38:04Pico-01Payload 'wifi_dump' executed
14:32:17PiZeroGPS fix acquired — 52.4°N 3.8°W
14:30:00SYSTEMDCC started — all devices polling

Pico BadUSB Control

Remote payload deployment via WebSocket. Pico W runs CircuitPython — payloads injected as HID keystrokes. 8 quick-deploy + custom DuckyScript editor.

Quick Deploy Payloads
📶
WiFi Dump
Extract saved WiFi credentials (Windows)
💻
System Info
Gather OS/hardware info to clipboard
🔑
Cred Harvest
Browser saved password export
🌐
Reverse Shell
PowerShell reverse connection
🔒
Lock Screen
Win+L — immediate lockout
📋
Clipboard Dump
Exfiltrate clipboard contents
⚠️
Disable Defender
PowerShell exclusion add
📁
File Search
Find and list sensitive file types
Custom DuckyScript
DELAY 500
GUI r
DELAY 200
STRING powershell -NoP -NonI -W Hidden
ENTER
# Cursor: ready

Pi Zero — Pwnagotchi

WPA handshake capture via Pi Zero W running Pwnagotchi. Monitor mode on wlan1 (TL-WN722N). Captures streamed back over WiFi.

47
Handshakes
128
Networks
12
New Today
94%
Storage
Recent Captures
14:45NETGEAR_5G_EXTWPA2 handshake · BSSID AA:BB:CC:DD:EE:FF
14:22SKY_A8B3D2WPA2 handshake · BSSID 11:22:33:44:55:66
13:58BT_Hub6_2.4WPA2 handshake · BSSID 77:88:99:AA:BB:CC
13:40HomeNetworkAssociation seen — no handshake
12:15VIRGIN_MEDIAWPA2 handshake · BSSID DE:AD:BE:EF:CA:FE

Pi 4 Server

Central server node — runs gpsd for GPS aggregation, hostapd for rogue AP, and the DCC backend itself. SSH terminal access.

Terminal
pi@raspberrypi:~ $ systemctl status gpsd
● gpsd.service — GPS daemon
   Loaded: loaded (/lib/systemd/system/gpsd.service)
   Active: active (running) since Mon 14:30
pi@raspberrypi:~ $ _

ESP32 Marauder

Marauder firmware on Baguette S3 / Waveshare AMOLED. WiFi scanning, probe sniffing, deauth, PMKID capture. Serial control over USB.

Quick Commands
📡
WiFi Scan
Scan all channels, list APs
🔍
Probe Sniff
Capture probe requests
🎣
PMKID Capture
Capture PMKID from AP
📻
Beacon Spam
Broadcast fake SSID list
🚫
Deauth
Disconnect target from AP
Stop All
Cancel current operation
Serial Console
[marauder] WiFi scan started...
[wifi] Found 34 networks in range
[wifi] SSID: NETGEAR_5G BSSID: AA:BB:CC:DD Ch:11 RSSI:-67
[wifi] SSID: BT_Hub6 BSSID: 11:22:33:44 Ch:6 RSSI:-71
[marauder] scan complete_

GPS Map

Live device locations via Leaflet.js map. gpsd running on Pi 4, u-blox GPS module. Wardriving tracks overlaid on OpenStreetMap.

🗺️
Leaflet Map — requires gpsd connection
OpenStreetMap · Live GPS track · WPA capture markers
Last fix: 52.4861°N, -3.7983°W · Accuracy: 4m
52.49°N
Latitude
3.80°W
Longitude
8
Satellites
4m
Accuracy

Batch Commands

Broadcast commands to all online devices simultaneously. Use with care — deauth and payload commands affect all targets in range.

Broadcast to All Devices
⚡ Run All Payloads
📡 Start WiFi Scan All
🔄 Reconnect All
💾 Dump All Captures
🔇 Silence All
🔴 Emergency Stop
Danger Zone

Settings

Connection configuration, device registration, and server options.

Server Config
WebSocket host
0.0.0.0
Web UI port
8080
Device port
8081
Flask Backend
Backend stack
Flask + Socket.IO
Database
SQLite (db.py)
Device mgr
serial_manager.py