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.