Aller au contenu

Modules Overview

Espilon utilise une architecture modulaire permettant d'activer uniquement les fonctionnalités nécessaires selon le cas d'usage. Chaque module est indépendant et configurable via menuconfig.

Architecture Modulaire Vue d'ensemble de l'architecture modulaire Espilon


Architecture

┌─────────────────────────────────────────────────────────────────┐
│                         ESPILON BOT                             │
├─────────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────┐  │
│  │   SYSTEM    │  │   NETWORK   │  │         RECON           │  │
│  │  (built-in) │  │  (optional) │  │       (optional)        │  │
│  ├─────────────┤  ├─────────────┤  ├─────────────────────────┤  │
│  │ system_info │  │ ping        │  │ ┌─────────┐ ┌─────────┐ │  │
│  │ system_mem  │  │ arp_scan    │  │ │ CAMERA  │ │  MLAT   │ │  │
│  │ system_up.. │  │ proxy_start │  │ │ UDP     │ │ BLE/WiFi│ │  │
│  │ system_reb..│  │ proxy_stop  │  │ │ Stream  │ │ RSSI    │ │  │
│  └─────────────┘  │ dos_tcp     │  │ └─────────┘ └─────────┘ │  │
│                   └─────────────┘  └─────────────────────────┘  │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                       FAKEAP                              │   │
│  │                      (optional)                           │   │
│  ├──────────────────────────────────────────────────────────┤   │
│  │ fakeap_start/stop │ portal_start/stop │ sniffer_on/off   │   │
│  │ fakeap_status     │ fakeap_clients    │                   │   │
│  └──────────────────────────────────────────────────────────┘   │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────┐  │
│  │  RED TEAM   │  │  HONEYPOT   │  │        CAN BUS          │  │
│  │  (optional) │  │  (optional) │  │       (optional)        │  │
│  ├─────────────┤  ├─────────────┤  ├─────────────────────────┤  │
│  │ rt_hunt     │  │ hp_svc      │  │ can_start/stop/send     │  │
│  │ rt_scan     │  │ hp_wifi     │  │ can_sniff/record/replay │  │
│  │ rt_mesh     │  │ hp_net      │  │ can_uds/obd/fuzz        │  │
│  │ rt_net_add  │  │ hp_status   │  │ (MCP2515 SPI)           │  │
│  └─────────────┘  └─────────────┘  └─────────────────────────┘  │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                        OTA                                │   │
│  │                      (optional)                           │   │
│  ├──────────────────────────────────────────────────────────┤   │
│  │ ota_update <url>  │  ota_status  │  Dual A/B partitions   │   │
│  └──────────────────────────────────────────────────────────┘   │
├─────────────────────────────────────────────────────────────────┤
│                          CORE                                    │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐  ┌───────────┐  │
│  │  Command   │  │   Crypto   │  │  Protocol  │  │  Network  │  │
│  │  Handler   │  │  ChaCha20  │  │  Protobuf  │  │ WiFi/GPRS │  │
│  └────────────┘  └────────────┘  └────────────┘  └───────────┘  │
└─────────────────────────────────────────────────────────────────┘
                    ┌──────────────────┐
                    │   C3PO Server    │
                    │   (C2 Python)    │
                    └──────────────────┘

Modules Disponibles

Module Description Config Flag Dépendances
System Commandes système de base Built-in Aucune
Network Outils réseau (ping, scan, proxy) CONFIG_MODULE_NETWORK WiFi/GPRS
FakeAP Point d'accès malveillant CONFIG_MODULE_FAKEAP WiFi uniquement
Recon Camera Streaming vidéo UDP CONFIG_RECON_MODE_CAMERA ESP32-CAM
Recon MLAT Positionnement par RSSI CONFIG_RECON_MODE_MLAT BLE ou WiFi
Red Team Hunt WiFi autonome, mesh ESP-NOW, stealth CONFIG_MODULE_REDTEAM WiFi
Honeypot Services TCP factices, monitoring WiFi/réseau CONFIG_MODULE_HONEYPOT WiFi
CAN Bus Sniff, inject, UDS, OBD-II, fuzzing (MCP2515) CONFIG_MODULE_CANBUS SPI + MCP2515
OTA Mise à jour firmware over-the-air CONFIG_ESPILON_OTA_ENABLED WiFi/GPRS

Configuration via Menuconfig

cd espilon_bot
idf.py menuconfig

Naviguer vers : Epsilon Bot Configuration → Modules

Epsilon Bot Configuration
├── Device
│   └── Device ID ─────────────────── "ce4f626b"
├── Network
│   ├── Connection Mode ───────────── WiFi / GPRS
│   ├── WiFi Settings
│   │   ├── SSID ──────────────────── "mywifi"
│   │   └── Password ──────────────── ""
│   └── GPRS Settings
│       └── APN ───────────────────── "sl2sfr"
├── Server
│   ├── Server IP ─────────────────── "192.168.1.100"
│   └── Server Port ───────────────── 2626
├── Modules                           ◄── CONFIGURATION DES MODULES
│   ├── [X] Network Commands
│   ├── [ ] Recon Commands
│   └── [ ] Fake Access Point Commands
├── Recon Settings
│   ├── [ ] Enable Camera Reconnaissance
│   │   └── Camera UDP Token ──────── "Sup3rS3cretT0k3n"
│   └── [ ] Enable MLAT Module
└── Logging
    ├── Default log level ─────────── Info
    └── Verbose options...

Détails des Modules

System Module (Built-in)

Le module système est toujours inclus et fournit les commandes essentielles pour la gestion du device.

Commandes:

Commande Description
status Informations complètes (heap, chip, modules, uptime)
system_mem Statistiques mémoire en temps réel
system_uptime Durée de fonctionnement
system_reboot Redémarrage du device

Documentation complète →


Network Module

Outils de reconnaissance et d'attaque réseau.

Commandes:

Commande Description
ping <ip> Test de connectivité ICMP
arp_scan Scan ARP du réseau local
proxy_start <ip> <port> Démarre un proxy TCP
proxy_stop Arrête le proxy
dos_tcp <ip> <port> <count> Attaque DoS TCP SYN flood

Documentation complète →


FakeAP Module

Point d'accès malveillant avec portail captif et sniffer HTTP.

Commandes:

Commande Description
fakeap_start <ssid> [open\|wpa2] [pass] Démarre le FakeAP
fakeap_stop Arrête le FakeAP
fakeap_status État actuel
fakeap_clients Liste les clients connectés
fakeap_portal_start Active le portail captif
fakeap_portal_stop Désactive le portail
fakeap_sniffer_on Active le sniffer HTTP
fakeap_sniffer_off Désactive le sniffer

Documentation complète →


Recon Camera Module

Streaming vidéo UDP depuis ESP32-CAM vers le C2.

Commandes:

Commande Description
cam_start <ip> <port> Démarre le streaming UDP
cam_stop Arrête le streaming

Spécifications:

  • Résolution: QQVGA (160x120)
  • Format: JPEG
  • FPS: ~7 images/seconde
  • Bande passante: ~50 KB/s

Documentation complète →


Recon MLAT Module

Multilatération pour le positionnement de devices via mesures RSSI.

Commandes:

Commande Description
mlat config [gps\|local] <c1> <c2> Configure la position du scanner
mlat mode <ble\|wifi> Sélectionne le mode de scan
mlat start <mac> Démarre le scan d'une cible
mlat stop Arrête le scan
mlat status État actuel

Modes:

  • BLE: Scan des advertisements Bluetooth Low Energy
  • WiFi: Mode promiscuous, capture des probe requests

Documentation complète →


Red Team Module

Connectivité résiliente avec hunt WiFi autonome, attaques credential, et relais mesh ESP-NOW.

Commandes:

Commande Description
rt_hunt [profile] Lancer le hunt autonome
rt_stop Arrêter le hunt, restaurer WiFi/MAC
rt_status État du hunt, MAC, méthode
rt_scan Scan WiFi passif
rt_net_add <ssid> [pass] Ajouter un réseau connu
rt_net_list Lister les réseaux connus
rt_mesh <start\|stop> Relais mesh ESP-NOW

Documentation complète →


Honeypot Module

Services TCP factices pour détecter et logger les tentatives d'accès non autorisées.

Commandes:

Commande Description
hp_svc <service> <action> Contrôle service (ssh/telnet/http/ftp)
hp_wifi <start\|stop> Moniteur WiFi
hp_net <start\|stop> Moniteur réseau
hp_config_set <type> <key> <value> Configurer bannières/seuils
hp_config_get <type> <key> Lire configuration
hp_config_list [type] Lister configuration
hp_config_reset Réinitialiser config
hp_status État global du honeypot

Documentation complète →


CAN Bus Module

Module offensif CAN bus via contrôleur MCP2515 SPI. Sniff passif, injection, UDS diagnostics, OBD-II, et fuzzing.

Commandes principales (27 au total):

Commande Description
can_start [bitrate] [mode] Démarrer le bus CAN
can_sniff [duration] Sniffer les trames
can_send <id> <data> Envoyer une trame
can_obd <pid> Lire PID OBD-II
can_scan_ecu Découvrir les ECUs
can_fuzz_id [start] [end] Fuzzing par ID

Hardware requis: Module MCP2515 + TJA1050 (~3 EUR)

Documentation complète →


OTA Module

Mise à jour firmware over-the-air avec validation de certificat et double partition A/B.

Commandes:

Commande Description
ota_update <url> Télécharger et appliquer le firmware
ota_status Infos firmware actuel

Documentation complète →


Combinaisons Recommandées

Surveillance Discrète

CONFIG_MODULE_RECON=y
CONFIG_RECON_MODE_CAMERA=y

ESP32-CAM avec streaming vidéo vers C2.

Pentest WiFi

CONFIG_MODULE_NETWORK=y
CONFIG_MODULE_FAKEAP=y

Scan réseau + FakeAP avec capture de credentials.

Tracking Indoor

CONFIG_MODULE_RECON=y
CONFIG_RECON_MODE_MLAT=y

Positionnement de devices via triangulation RSSI.

Red Team Résilient

CONFIG_MODULE_REDTEAM=y
CONFIG_MODULE_NETWORK=y
CONFIG_ESPILON_OTA_ENABLED=y

Agent autonome avec hunt WiFi, scan réseau et mise à jour OTA.

Détection & Honeypot

CONFIG_MODULE_HONEYPOT=y
CONFIG_MODULE_NETWORK=y

Honeypot réseau avec services factices et monitoring.

Automotive Pentest

CONFIG_MODULE_CANBUS=y
CONFIG_CANBUS_ISO_TP=y
CONFIG_CANBUS_UDS=y
CONFIG_CANBUS_OBD=y
CONFIG_CANBUS_FUZZ=y

Stack CAN bus complet : sniff, UDS, OBD-II, fuzzing. Requiert MCP2515.

Full Arsenal

CONFIG_MODULE_NETWORK=y
CONFIG_MODULE_FAKEAP=y
CONFIG_MODULE_RECON=y
CONFIG_MODULE_REDTEAM=y
CONFIG_MODULE_HONEYPOT=y
CONFIG_MODULE_CANBUS=y
CONFIG_ESPILON_OTA_ENABLED=y

Ressources

Activer tous les modules nécessite plus de RAM et de flash. Vérifiez la compatibilité avec votre ESP32.


Mémoire et Ressources

Module RAM (approx.) Flash (approx.)
Core (obligatoire) ~80 KB ~400 KB
System ~2 KB ~10 KB
Network ~10 KB ~30 KB
FakeAP ~25 KB ~50 KB
Camera ~40 KB ~25 KB
MLAT ~15 KB ~20 KB
Red Team ~20 KB ~45 KB
Honeypot ~25 KB ~55 KB
CAN Bus (full) ~15 KB ~70 KB
OTA ~5 KB ~15 KB

ESP32 recommandé: 4MB Flash, PSRAM pour la caméra


Suivant: System Module