esp32-marauder
Control ESP32 Marauder via serial — WiFi scanning, deauth, beacon spam, probe flood, raw commands
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Control ESP32 Marauder via serial — WiFi scanning, deauth, beacon spam, probe flood, raw commands
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Run sustained security assessment campaigns against targets using the Ralph Wiggum autonomous loop pattern. Use when asked to start, continue, or manage a pentest campaign.
Control a Flipper Zero and scan BLE targets for authorized security research. Use when asked to interact with Flipper hardware, scan BLE devices, or control RF/IR/NFC/RFID.
Start an autonomous pentest loop. Spawns fresh-context subagents for each phase. Use: /ralph-loop
BLE GATT exploitation methodology — scanning, enumeration, characteristic analysis, payload crafting, and write attacks against Bluetooth Low Energy devices
Run a sustained security assessment campaign — a real pentest, not a simulation
Credential testing methodology — default credential checking, password spraying, credential reuse, and OSINT for leaked credentials
| name | esp32-marauder |
| description | Control ESP32 Marauder via serial — WiFi scanning, deauth, beacon spam, probe flood, raw commands |
Send commands to ESP32 Marauder firmware via USB serial. Marauder commands are newline-terminated text; responses are line-buffered.
pip install pyserial
Detect the ESP32 Marauder USB port by matching known VID:PIDs:
| Chip | VID |
|---|---|
| CP210x (Silicon Labs) | 0x10C4 |
| CH340 | 0x1A86 |
| ESP32-S2/S3 native USB | 0x303A |
python3 -c "
import serial.tools.list_ports
ESP32_VIDS = [0x10C4, 0x1A86, 0x303A]
for port in serial.tools.list_ports.comports():
if port.vid in ESP32_VIDS:
print(f'ESP32 detected: {port.device} (VID={hex(port.vid)}, PID={hex(port.pid)})')
"
If auto-detection fails, set the port manually via MARAUDER_PORT env var, or use the typical macOS port: /dev/cu.SLAB_USBtoUART or /dev/cu.usbserial-*.
Use this pattern to send any Marauder command and read the response:
python3 -c "
import serial, serial.tools.list_ports, time, os
# Auto-detect or use env var
ESP32_VIDS = [0x10C4, 0x1A86, 0x303A]
port = os.environ.get('MARAUDER_PORT', '')
if not port:
for p in serial.tools.list_ports.comports():
if p.vid in ESP32_VIDS:
port = p.device
break
if not port:
print('ERROR: ESP32 Marauder not found. Connect via USB or set MARAUDER_PORT.')
exit(1)
ser = serial.Serial(port, 115200, timeout=1)
ser.write(b'COMMAND_HERE\n')
time.sleep(DURATION)
ser.write(b'stopscan\n')
time.sleep(1)
while ser.in_waiting:
print(ser.readline().decode('utf-8', errors='ignore').strip())
ser.close()
"
Replace COMMAND_HERE and DURATION as needed for each operation.
# Replace COMMAND_HERE with: scanap
# Replace DURATION with: 10 (seconds to scan)
Marauder command: scanap
Duration: 10 seconds recommended. Outputs discovered SSIDs, BSSIDs, channels, signal strength.
# Replace COMMAND_HERE with: scansta
# Replace DURATION with: 10
Marauder command: scansta
Shows client devices connected to nearby APs.
WARNING: Disruptive attack. Use only on authorized networks.
# Replace COMMAND_HERE with: attack -t deauth
# Replace DURATION with: 10
Marauder command: attack -t deauth
Sends deauthentication frames to disconnect clients from APs. HIGH risk.
Broadcast fake WiFi SSIDs. HIGH risk.
attack -t beacon -rattack -t beacon -l MyFakeAP,AnotherOne,FreeWiFi# Replace COMMAND_HERE with: attack -t beacon -r
# Replace DURATION with: 15
Send probe request frames to trigger AP responses (active recon). HIGH risk.
# Replace COMMAND_HERE with: attack -t probe
# Replace DURATION with: 10
python3 -c "
import serial, os, serial.tools.list_ports
ESP32_VIDS = [0x10C4, 0x1A86, 0x303A]
port = os.environ.get('MARAUDER_PORT', '')
if not port:
for p in serial.tools.list_ports.comports():
if p.vid in ESP32_VIDS:
port = p.device
break
if port:
ser = serial.Serial(port, 115200, timeout=1)
ser.write(b'stopscan\n')
import time; time.sleep(1)
while ser.in_waiting:
print(ser.readline().decode('utf-8', errors='ignore').strip())
ser.close()
print('Marauder stopped.')
else:
print('ESP32 not found.')
"
For any Marauder CLI command not covered above, use the generic helper with the raw command string. Common commands:
help -- list all available commandslist ap -- list scanned APslist sta -- list scanned stationsselect ap N -- select AP by indexselect sta N -- select station by indexssid -a NAME -- add SSID to listssid -r NAME -- remove SSID from listchannel N -- set channelscanap, scansta) is MEDIUM risk.stopscan is LOW risk -- stops all running operations.stopscan after timed operations to stop the attack/scan.