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.
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¶
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 |
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 |
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 |
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
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
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 |
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 |
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)
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 |
Combinaisons Recommandées¶
Surveillance Discrète¶
ESP32-CAM avec streaming vidéo vers C2.
Pentest WiFi¶
Scan réseau + FakeAP avec capture de credentials.
Tracking Indoor¶
Positionnement de devices via triangulation RSSI.
Red Team Résilient¶
Agent autonome avec hunt WiFi, scan réseau et mise à jour OTA.
Détection & Honeypot¶
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