diff --git a/.gitignore b/.gitignore index 6369c25..8b946c1 100644 --- a/.gitignore +++ b/.gitignore @@ -118,6 +118,7 @@ htmlcov/ # Internal planning plan.md *.plan.md +MODULE_IDEAS.md # Hardware-specific configs (optional) # Uncomment if you don't want to track these diff --git a/MODULE_IDEAS.md b/MODULE_IDEAS.md deleted file mode 100644 index 33660cf..0000000 --- a/MODULE_IDEAS.md +++ /dev/null @@ -1,796 +0,0 @@ -# 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