# Espilon Module Ideas Future module ideas for the Espilon agent framework, organized by category. Each entry includes hardware requirements, estimated cost, complexity (1-5), and key C2 commands. > **Legend**: Complexity 1 = simple wrapper, 5 = full protocol stack. Cost = additional hardware beyond ESP32. --- ## Table of Contents - [Radio & Wireless](#radio--wireless) - [USB & HID](#usb--hid) - [Hardware Hacking](#hardware-hacking) - [Network & Protocols](#network--protocols) - [Industrial & SCADA](#industrial--scada) - [Exfiltration & Covert Channels](#exfiltration--covert-channels) - [Sensors & Environment](#sensors--environment) - [Crypto & WiFi Attacks](#crypto--wifi-attacks) - [Automotive](#automotive) - [Physical Security](#physical-security) --- ## Radio & Wireless ### mod_ble — Bluetooth Low Energy **Hardware**: ESP32 built-in | **Cost**: 0 EUR | **Complexity**: 3/5 BLE scanning, GATT enumeration, beacon spoofing, and device tracking. **Commands**: - `ble_scan [duration]` — Discover BLE devices (name, RSSI, services) - `ble_enum ` — Enumerate GATT services and characteristics - `ble_read ` — Read characteristic value - `ble_write ` — Write to characteristic - `ble_beacon [major] [minor]` — Spoof iBeacon/Eddystone - `ble_track [duration]` — Track device RSSI over time - `ble_flood [count]` — Broadcast random BLE advertisements **Use cases**: IoT device recon, BLE lock testing, asset tracking, Bluetooth phishing. --- ### mod_zigbee — IEEE 802.15.4 / Zigbee **Hardware**: CC2530/CC2531 module via UART | **Cost**: ~4 EUR | **Complexity**: 4/5 Sniff, inject, and replay Zigbee/802.15.4 frames. Targets smart home (Philips Hue, SmartThings, Ikea). **Commands**: - `zigbee_scan [channel]` — Discover Zigbee networks and devices - `zigbee_sniff [duration]` — Capture 802.15.4 frames - `zigbee_inject ` — Inject raw frame - `zigbee_replay` — Replay captured frames - `zigbee_key_sniff [duration]` — Capture transport key exchange - `zigbee_jam ` — Channel jamming **Use cases**: Smart home testing, IoT protocol analysis, Zigbee network penetration. --- ### mod_nfc — RFID / NFC **Hardware**: RC522 (MIFARE) or PN532 (full NFC) via SPI | **Cost**: ~3 EUR | **Complexity**: 3/5 Read, write, clone, and emulate RFID/NFC tags. Supports MIFARE Classic, NTAG, and ISO 14443. **Commands**: - `nfc_scan` — Detect tags in range (UID, type, ATQA, SAK) - `nfc_read [key]` — Read MIFARE sector - `nfc_write [key]` — Write to sector - `nfc_clone` — Read tag → store → emulate (UID-level clone) - `nfc_crack ` — MIFARE Classic key recovery (nested/hardnested) - `nfc_dump` — Dump full tag contents - `nfc_emulate ` — Emulate tag UID **Use cases**: Access card cloning, NFC payment research, badge system testing. --- ### mod_subghz — Sub-GHz Radio (433/868/915 MHz) **Hardware**: CC1101 module via SPI | **Cost**: ~3 EUR | **Complexity**: 4/5 Sniff, decode, record, and replay sub-GHz radio signals. Targets garage doors, remotes, weather stations, sensors. **Commands**: - `subghz_rx [modulation]` — Listen on frequency (ASK/FSK/GFSK) - `subghz_tx [repeat]` — Transmit raw data - `subghz_scan ` — Frequency scanner (find active freqs) - `subghz_record [duration]` — Record raw signal - `subghz_replay [speed]` — Replay recorded signal - `subghz_decode ` — Decode known protocols (Oregon, LaCrosse, etc.) - `subghz_bruteforce [delay]` — Brute-force fixed codes **Use cases**: Garage door testing, remote control analysis, sensor spoofing, ISM band recon. --- ### mod_lora — LoRa Long-Range Mesh **Hardware**: SX1276/SX1278 module via SPI | **Cost**: ~5 EUR | **Complexity**: 3/5 LoRa-based backup C2 channel and mesh network for long-range, low-bandwidth communication. **Commands**: - `lora_start [sf] [bw]` — Init LoRa radio (spreading factor, bandwidth) - `lora_send ` — Send raw LoRa packet - `lora_listen [duration]` — Receive packets - `lora_mesh_start` — Enable mesh relay mode (multi-hop) - `lora_c2_enable` — Use LoRa as backup C2 channel - `lora_range_test` — Ping-pong range measurement **Use cases**: Backup C2 (1-10 km range), field mesh network, exfiltration when WiFi unavailable. --- ### mod_ir — Infrared TX/RX **Hardware**: IR LED + IR receiver (VS1838B) | **Cost**: ~1 EUR | **Complexity**: 2/5 Capture, decode, and replay infrared remote signals. Universal remote functionality. **Commands**: - `ir_learn [timeout]` — Record IR signal from any remote - `ir_send ` — Send known protocol (NEC, Sony, RC5, Samsung) - `ir_replay` — Replay last captured signal - `ir_scan` — Brute-force common power codes (TV-B-Gone style) - `ir_raw_send ` — Send raw pulse/space timing **Use cases**: TV/AC control, IR protocol analysis, physical access (some locks use IR). --- ### mod_espnow_swarm — Coordinated ESP-NOW Swarm **Hardware**: Additional ESP32 agents | **Cost**: 0 EUR per agent | **Complexity**: 4/5 Coordinate multiple Espilon agents via ESP-NOW for distributed operations. Mesh-aware task distribution. **Commands**: - `swarm_discover` — Find nearby Espilon agents - `swarm_broadcast ` — Send command to all agents - `swarm_assign ` — Targeted task assignment - `swarm_sync` — Synchronize clocks for coordinated actions - `swarm_scan_distributed ` — Parallel network scanning from multiple positions - `swarm_relay ` — Use agent as relay for out-of-range C2 **Use cases**: Distributed WiFi scanning, coordinated deauth, coverage extension, multi-angle recon. --- ### mod_tpms — Tire Pressure Monitoring **Hardware**: CC1101 (315 or 433 MHz) | **Cost**: ~3 EUR | **Complexity**: 3/5 Sniff and spoof TPMS sensors at 315/433 MHz. Vehicle identification via unique sensor IDs. **Commands**: - `tpms_listen [duration]` — Capture TPMS broadcasts - `tpms_decode` — Show decoded sensor data (pressure, temp, ID) - `tpms_track ` — Track specific vehicle presence - `tpms_spoof ` — Inject fake reading **Use cases**: Vehicle tracking via TPMS IDs, TPMS protocol research. --- ## USB & HID ### mod_badusb — USB HID Injection **Hardware**: ESP32-S2 or ESP32-S3 (native USB) | **Cost**: 0 EUR | **Complexity**: 3/5 Keystroke injection attack via USB HID. Triggered remotely from C2. **Commands**: - `badusb_run ` — Execute named payload - `badusb_type ` — Type arbitrary text - `badusb_key ` — Send key combo (e.g., `WIN+R`, `CTRL+ALT+DEL`) - `badusb_delay ` — Wait between keystrokes - `badusb_upload