Aller au contenu

Overview

Espilon is an ESP32-based embedded agent framework designed for security research, penetration testing, and IoT experimentation.

What is Espilon?

Espilon transforms affordable ESP32 microcontrollers into powerful networked agents that can:

  • Connect to a Command & Control (C2) server via WiFi or GPRS
  • Execute commands remotely through an encrypted channel
  • Perform network reconnaissance and security testing
  • Create fake access points and captive portals
  • Operate autonomously on battery power

Key Features

Dual Network Modes

  • WiFi Mode: Standard 802.11 b/g/n connectivity
  • GPRS Mode: 2G cellular connectivity for remote deployments (LilyGO T-Call)

Modular Architecture

Enable only the features you need — all compiled in at build time:

  • System: Basic device control, memory, uptime, reboot
  • Network: Network scanning, ARP scan, TCP proxy, DoS
  • FakeAP: Rogue access points, captive portal, sniffer
  • Recon Camera: UDP video streaming from ESP32-CAM
  • Recon MLAT: BLE/WiFi RSSI multilateration positioning
  • Red Team: Autonomous WiFi hunting, mesh relay, persistence
  • Honeypot: Fake TCP services, credential capture, event logging
  • CAN Bus: MCP2515 sniffing, UDS, OBD-II, fuzzing
  • OTA: Over-the-air firmware updates (dual A/B partitions)

Secure Communication

  • ChaCha20-Poly1305 AEAD encryption (confidentiality + integrity + authentication)
  • HKDF-SHA256 per-device key derivation — each device has a unique encryption key
  • Protocol Buffers for efficient data serialization
  • Random 96-bit nonce per message — replay-resistant by design
  • Keys provisioned via deploy.py, never stored in firmware flash as plaintext

Low Power Operation

  • Deep sleep support for battery conservation
  • Runtime: 5-14 hours on Li-Po battery (depending on activity)
  • Power management via IP5306 IC

Use Cases

Authorized Use Only

Espilon is designed for authorized security testing, research, and educational purposes only. Always obtain proper authorization before deployment.

Penetration Testing

  • WiFi network assessments
  • IoT device security audits
  • Physical security testing
  • Red team operations

Research & Education

  • Network protocol analysis
  • Embedded systems security
  • Wireless communication research
  • Cybersecurity training labs

IoT Development

  • Remote sensor networks
  • Environmental monitoring
  • Asset tracking
  • Proof-of-concept prototypes

Architecture Overview

graph TB
    subgraph ESP32Agent[ESP32 Agent]
        FW[Firmware]
        MOD[Modules]
        NET[Network Stack]
        CRYPTO[Encryption]
    end

    subgraph Network[Network]
        WIFI[WiFi AP]
        CELL[Cellular Tower]
    end

    subgraph C2Server[C2 Server — C3PO]
        C2[C3PO Server]
        TUI[TUI / Web Dashboard]
        DB[Device Registry]
    end

    FW --> MOD
    MOD --> CRYPTO
    CRYPTO --> NET
    NET --> WIFI
    NET --> CELL
    WIFI --> C2
    CELL --> C2
    C2 --> TUI
    C2 --> DB

System Requirements

For Firmware Development

  • ESP-IDF v5.3.2
  • Python 3.11+
  • USB-to-UART drivers
  • 2GB free disk space

For C2 Server (C3PO)

  • Python 3.11+
  • Linux/macOS (Windows via WSL2)
  • Network access to agents

Hardware

  • ESP32 development board (any variant)
  • LilyGO T-Call for GPRS mode
  • USB-C cable
  • Optional: Li-Po battery, external antenna

Quick Comparison

Feature WiFi Mode GPRS Mode
Range 50-100m Nationwide
Speed Up to 150 Mbps ~50 Kbps
Latency Low (~10ms) Medium (~500ms)
Cost Free (existing WiFi) SIM card + data plan
Setup Simple Requires SIM, APN config
Best For Labs, buildings Remote, mobile

Project Status

Espilon is actively maintained and used for:

  • Educational security labs
  • IoT penetration testing
  • Security research projects
  • Cybersecurity competitions (CTF)

Getting Started

Ready to build your first Espilon agent?

  1. Quick Start Guide - Get up and running in 15 minutes
  2. Installation - Detailed setup instructions
  3. Hardware Guide - Choose your ESP32 board

Community & Support


Next: Quick Start | Installation Guide