ESP32 Marauder · Volume 12

ESP32 Marauder Firmware Volume 12 — Cheatsheet (the laminate-ready field card)

Menu maps, attack quick-refs, SD layout, hashcat commands, channel chart, build flags, troubleshooting flows, one-page references

Contents

SectionTopic
1About this volume
2Menu map (mainline top-level)
3Wi-Fi attack quick-ref
4Bluetooth attack quick-ref
5Wi-Fi scan / capture quick-ref
6SD card layout — one-page reminder
7Build-flag reminder
8Channel chart — 2.4 GHz
9Hashcat 22000 command reference
10Fork-by-fork feature presence
11Pre-engagement checklist (one-page)
12Troubleshooting flow
13Key references in one block

1. About this volume

Vol 12 is the laminate-ready field card — synthesis of every preceding volume’s most-referenced content into one-page-printable per section. Build it last; it’s the synthesis of everything that came before.

The intent: print this volume, laminate it, carry it. In the field, lookups are by section number — Section 3 for Wi-Fi attacks, Section 6 for SD layout, Section 9 for the hashcat command you forgot. No need to navigate menus or scroll the deep dive; the answer is on the card.

Pages are sized for typical 8.5×11 or A4 print at a readable type size. Some sections are dense — print at 100% scale, not “fit to page”.


2. Menu map (mainline top-level)

ESP32 Marauder (Main Menu)
├── WiFi
│   ├── Sniffers
│   │   ├── Probe Request           → /marauder/probes_<ts>.csv
│   │   ├── Beacon                  → /marauder/beacons_<ts>.csv
│   │   ├── PMKID/Probe             → /marauder/pcaps/pmkid_<ts>.pcap
│   │   ├── EAPOL                   → /marauder/pcaps/eapol_<ts>.pcap
│   │   ├── AP+Client               → /marauder/apclient_<ts>.csv
│   │   └── Detect (anomaly)        → on-screen only
│   ├── Attacks
│   │   ├── Deauth                  ← gated by MARAUDER_DEAUTH build flag
│   │   ├── Beacon Spam             ← uses /marauder/beacons.txt
│   │   ├── Probe Spam
│   │   ├── Karma (basic)
│   │   └── Evil Portal             ← uses /marauder/evil_portal/index.html
│   └── Generals
│       ├── Save → SD
│       ├── Load ← SD
│       ├── Clear
│       └── Set Target [BSSID / Client MAC]
├── Bluetooth
│   ├── Sniffers
│   │   ├── BLE Scan                → /marauder/ble_<ts>.csv
│   │   └── BT Scan (classic ESP32 only)
│   └── Attacks                     ← (most BLE-spam is in Ghost ESP / Bruce, not mainline)
├── GPS                             ← on HAS_GPS builds (AWOK V3, some custom)
│   ├── Tracker
│   └── NMEA
├── Device
│   ├── Settings                    ← /marauder/settings.txt
│   ├── Update Firmware
│   ├── Reboot
│   └── About
└── Color [Theme picker, instant apply]

Per-fork deltas:

  • Ghost ESP: adds Bluetooth → Attacks → Sour Apple / Swiftpair / Easysetup / Fast Pair / AirTag Detect; adds WiFi → Visualizer with RSSI bar graphs.
  • Bruce: top-level menu radically different — Marauder is one entry under a unified meta-menu that also exposes sub-GHz / IR / RFID / BadUSB.
  • Bad Pinguino: single-screen one-attack-at-a-time variant.

3. Wi-Fi attack quick-ref

AttackMenu pathPre-reqsDefault channel modeSD outputTime-to-effectNotes
DeauthWiFi → Attack → DeauthAP-scan first; target BSSID set; client MAC (or FF:FF:FF:FF:FF:FF broadcast); MARAUDER_DEAUTH built-inStatic (lock to target channel)noneImmediate; clients disconnect within 1-2 secWPA3 PMF immune. Vol 5 § 2
Beacon SpamWiFi → Attack → Beacon Spambeacons.txt on SD (or built-in list)Static recommended for iOS-UI denialnone~10-15 sec to iOS UI denialVol 5 § 3
Probe SpamWiFi → Attack → Probe SpamnoneStatic or hoppingnoneLimited operational valueVol 5 § 4.1
Karma (basic)WiFi → Attack → KarmanoneStaticnoneModern OSes mostly defend; Vol 5 § 4.2
Evil PortalWiFi → Attack → Evil Portalevil_portal/index.html on SD; Evil Portal SSID setn/a (SoftAP)creds.txt + evil_portal.logCaptures arrive when users join + submit formVol 5 § 5

4. Bluetooth attack quick-ref

AttackMainlineGhost ESPBruceTarget OSNotes
BLE Scan✓ (richer parses)allVol 6 § 4
BT-classic Scan✓ (classic ESP32 only)older BT-classic devicesVol 6 § 7
Sour AppleiOS / iPadOS / watchOSiOS lockup edge case — caution. Vol 6 § 5.2
SwiftpairWindows 10+Toast queue congestion
EasysetupSamsung GalaxyS22+ reliable; older sporadic
Google Fast PairPixel + Google-Services AndroidOpt-in per OEM
AirTag Detectreads Apple Find My beacons2-sec adv-interval signature. Vol 6 § 6

5. Wi-Fi scan / capture quick-ref

ScanMenu pathWhat it capturesChannel modeTime recommendationSD output
Probe RequestWiFi → Sniffer → Probe Requestclient probes (MAC + SSID + RSSI)Hopping (default) or static10-30 min for site surveyprobes_*.csv
BeaconWiFi → Sniffer → BeaconAP beacons (BSSID + SSID + encryption + RSSI)Hopping5-15 minbeacons_*.csv
EAPOLWiFi → Sniffer → PMKID/ProbeEAPOL handshakes + PMKIDStatic (lock to target channel)Until handshake captured (1-2 min after deauth)eapol_*.pcap
PMKID(same menu)PMKID from beacon RSN IE or EAPOL M1Hopping for opportunistic, static for targetedHours for passive harvestpmkid_*.pcap
AP+ClientWiFi → Sniffer → AP+ClientSynthesized AP-list with associated clientsHopping10-30 minapclient_*.csv

6. SD card layout — one-page reminder

SD card (FAT32 mandatory; 8-32 GB recommended)
└── /marauder/
    ├── pcaps/                                      ← packet captures
    │   ├── eapol_<timestamp>.pcap
    │   ├── pmkid_<timestamp>.pcap
    │   └── ble_<timestamp>.pcap
    ├── evil_portal/                                ← Evil Portal user content
    │   ├── index.html                              ← captive page (override SPIFFS)
    │   ├── style.css (optional)
    │   └── logo.png (optional)
    ├── wordlists/                                  ← user wordlists (host-side use)
    │   └── rockyou.txt etc.
    ├── beacons.txt                                 ← beacon-spam SSID list (UTF-8, 32B/line)
    ├── creds.txt                                   ← Evil Portal credential log
    ├── evil_portal.log                             ← Evil Portal events log
    ├── settings.txt                                ← runtime settings (key:value, no spaces)
    └── (fork-specific dirs created by Ghost ESP / Bruce as needed)

Critical: FAT32 required; exFAT NOT supported. Cards > 32 GB need explicit FAT32 reformat.


7. Build-flag reminder

The build flags you’ll actually flip:

build_flags =
    -DBOARD_HAS_PSRAM                              ; ESP32-S3 N16R8 etc.
    -DARDUINO_USB_CDC_ON_BOOT=1                    ; S3 native USB
    -DARDUINO_USB_MODE=1
    -DHAS_SCREEN                                   ; display wired
    -DHAS_BUTTONS                                  ; tactile buttons
    -DHAS_TOUCH                                    ; touchscreen instead
    -DHAS_GPS                                      ; GPS module wired
    -DBOARD_HAS_PSRAM                              ; (repeat from above)
    -DMARAUDER_V6_1                                ; board identity (pick one)
    -DMARAUDER_DEAUTH=1                            ; ← THE most-asked. enables deauth.
    -DMARAUDER_BEACON_SPAM=1                       ; usually on
    -DMARAUDER_EVIL_PORTAL=1                       ; usually on
    -DCOUNTRY_US                                   ; channel-plan region (pick one)
    -DTFT_WIDTH=240 -DTFT_HEIGHT=320               ; display dimensions
    -DTFT_MOSI=11 -DTFT_SCLK=12 -DTFT_CS=10        ; TFT_eSPI pin map (board-specific)
    -DTFT_DC=9 -DTFT_RST=8 -DTFT_BL=13
    -DST7789_DRIVER                                ; or ILI9341_DRIVER
    -DSPI_FREQUENCY=40000000                       ; TFT SPI clock
    -DUSER_SETUP_LOADED=1                          ; tells TFT_eSPI to use these defines

Region: pick one of COUNTRY_US, COUNTRY_DE, COUNTRY_JP, COUNTRY_ANY per build.

The flag that surprises everyone: MARAUDER_DEAUTH=1. Often omitted in pre-built mainline binaries. If your Deauth menu entry is missing, this is why.


8. Channel chart — 2.4 GHz

Channel | Frequency (MHz) | Width | US 1-11 | DE 1-13 | JP 1-14
-----------------------------------------------------------------
   1    | 2412            | 22    |   ✓     |   ✓     |   ✓
   2    | 2417            | 22    |   ✓     |   ✓     |   ✓
   3    | 2422            | 22    |   ✓     |   ✓     |   ✓
   4    | 2427            | 22    |   ✓     |   ✓     |   ✓
   5    | 2432            | 22    |   ✓     |   ✓     |   ✓
   6    | 2437            | 22    |   ✓     |   ✓     |   ✓
   7    | 2442            | 22    |   ✓     |   ✓     |   ✓
   8    | 2447            | 22    |   ✓     |   ✓     |   ✓
   9    | 2452            | 22    |   ✓     |   ✓     |   ✓
  10    | 2457            | 22    |   ✓     |   ✓     |   ✓
  11    | 2462            | 22    |   ✓     |   ✓     |   ✓
  12    | 2467            | 22    |         |   ✓     |   ✓
  13    | 2472            | 22    |         |   ✓     |   ✓
  14    | 2484            | 22    |         |         |   ✓ (Japan only)

Non-overlapping subset (US/global): channels 1, 6, 11. These three channels’ 22 MHz bands don’t overlap; everything else does. Real AP configurations cluster on these three.

Typical channel distribution at a US site:

  • ~50% of APs on channel 6
  • ~25% on channel 1
  • ~20% on channel 11
  • ~5% scattered across 2-5 / 7-10 (often auto-channel selection with non-1/6/11 result)

BLE advertising channels: 37 (2402 MHz), 38 (2426 MHz), 39 (2480 MHz). Spaced between Wi-Fi ch 1/6/11.


9. Hashcat 22000 command reference

# Convert Marauder pcap to hashcat format
hcxpcapngtool -o handshakes.hc22000 /path/to/pcap/file.pcap

# Crack with wordlist
hashcat -m 22000 handshakes.hc22000 /path/to/rockyou.txt

# With rules (recommended)
hashcat -m 22000 handshakes.hc22000 rockyou.txt -r /path/to/best64.rule

# Mask attack (8 chars all printable)
hashcat -m 22000 -a 3 handshakes.hc22000 '?a?a?a?a?a?a?a?a'

# Resume interrupted run
hashcat --restore

# Show cracked
hashcat -m 22000 handshakes.hc22000 --show

# Status during long run
hashcat -m 22000 handshakes.hc22000 rockyou.txt --status --status-timer 60

# GPU-only (skip CPU)
hashcat -m 22000 handshakes.hc22000 rockyou.txt -D 2

Mask character classes:

| ?l | lowercase | a-z | | ?u | uppercase | A-Z | | ?d | digit | 0-9 | | ?s | special | !@#$%^&*()-_=+ etc. | | ?a | all | ?l + ?u + ?d + ?s | | ?h | lowercase hex | 0-9a-f | | ?H | uppercase hex | 0-9A-F |

Common router-default password masks:

  • 8 digits (phone number / common default): ?d?d?d?d?d?d?d?d
  • 8 hex (router default): ?h?h?h?h?h?h?h?h
  • 10 digits (US phone number): ?d?d?d?d?d?d?d?d?d?d

GPU rental costs (for quick crack jobs):

  • RTX 4090 on RunPod: $0.40-0.80/hr
  • 5-min rockyou run on RTX 4090: ~$0.05

10. Fork-by-fork feature presence

Condensed from Vol 7 § 7 for one-page reference. Bold = the operationally consequential mainline omissions.

FeatureMainlineGhost ESPBruceBad Pinguino
Deauth✓ (gated)
Beacon spam✓ + runtime tunable
Probe spam
Karmabasicmulti-SSIDbasic
Evil Portal
BLE Scan✓ + richer
BLE-spam Sour Apple
BLE-spam Swiftpair
BLE-spam Easysetup
BLE-spam Fast Pair
AirTag Detect
Sub-GHz (CC1101)partial
IRpartial
RFID (PN532)
BadUSB
Runtime country code
Documented board envs~15~10~8~5
LicenseGPLv3AGPLv3AGPLv3GPLv3

Migration: mostly via web flasher (~5 min). SD content portable for pcaps/, evil_portal/, wordlists/, beacons.txt. settings.txt re-do on Bruce.


11. Pre-engagement checklist (one-page)

Print this. Tape it to the inside of your gear bag.

  • Written authorization signed and dated, covering today’s date and the planned attack scope
  • RF coverage scope specified (target BSSIDs and geographic area)
  • Attacks permitted specified (deauth + capture? Evil Portal? BLE-spam?)
  • Stop condition defined (time limit, signal-of-completion)
  • Battery charged (≥ 50% if engagement < 1 hr; ≥ 90% if longer)
  • SD card formatted FAT32, fresh evil_portal/index.html if Evil Portal in scope, empty creds.txt
  • Firmware matches engagement (mainline / Ghost ESP / Bruce per attack needs)
  • Region setting matches venue (US / DE / JP / ANY)
  • Target BSSID(s) loaded in Settings; client MAC if surgical deauth planned
  • Evil Portal SSID configured if Evil Portal in scope
  • RandomMAC enabled in settings
  • Logging plan: where will captures go? Who has access?
  • Sanitization plan: how / when is SD content erased?
  • Discovery response: if observed, stop, produce authorization, document
  • Out-of-band channel prepared for security team to reach me

If any item isn’t checked, abort. Don’t compromise on the checklist.


12. Troubleshooting flow

            Marauder won't boot?

            ┌─────┴─────┐
            ↓           ↓
       Display off  Display on, looping
            │           │
            ↓           ↓
    SD card        Check Settings →
    formatted?     About → version
            │           │
       FAT32 → reflash  Confirms boot →
       exFAT/wrong →    issue isn't bootloop
       reformat


                   Issue is in feature → see below

       No scan results?

       ┌────┴────┐
       ↓         ↓
    Country     Antenna
    setting     plugged in /
    matches     U.FL connected
    venue?      properly?
    Try:        Try:
    rebuild     reseat
    with diff   antenna
    region

       Evil Portal not capturing?

       ┌────┴────┐
       ↓         ↓
    SSID set?  HTML form
    Open       has action="/get"
    security?  + named inputs?
               File at
               /marauder/evil_portal/
               index.html?

       Deauth menu missing?


       MARAUDER_DEAUTH not in build


       Rebuild from source (Vol 10 § 3.4)
       OR flash Ghost ESP (default-on)

       BLE-spam not working?


       Mainline doesn't ship BLE-spam (Vol 7 § 3.2)


       Flash Ghost ESP or Bruce

       hashcat says "No hashes loaded"?


       Run hcxpcapngtool first
       (Vol 9 § 4.1) — convert pcap to .hc22000

13. Key references in one block

Upstream

Forks

Tools

Standards

Wordlists

Hack Tools cross-references

  • ../../../_shared/comparison.md — cross-tool decision matrix
  • ../../../_shared/capability_matrix.html — sortable matrix
  • ../../../_shared/legal_ethics.md — Hack Tools project posture
  • ../../../AWOK Dual Touch V3/03-outputs/AWOK_Dual_Touch_V3_Complete.html — tjscientist’s daily-driver Marauder host
  • ../../../Flipper Zero/03-outputs/Flipper_Zero_Complete.html — Flipper WiFi Devboard coverage
  • ../../../M5Stack Cardputer ADV/03-outputs/cardputer_adv_deep_dive.html — Cardputer Marauder coverage
  • ../../../Ruckus Game Over/03-outputs/game_over_complete.html — Game Over vendor fork

This is the final volume of the ESP32 Marauder Firmware 12-volume series. Series complete. Print, laminate, carry.