Vue d'ensemble complète : orchestrateur, borodino (ak47/bm12/uzi), samsonov, CTI (razvedka/vigie/dozor/ml-threat-intel), honeypot medved, suricata-attack-enricher et stacks Docker Swarm. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.1 KiB
title, date, draft, tags, summary
| title | date | draft | tags | summary | |||||
|---|---|---|---|---|---|---|---|---|---|
| Bojemoi Lab — Architecture de la plateforme | 2026-02-19 | false |
|
Vue d'ensemble complète de la plateforme Bojemoi Lab : orchestration Docker Swarm, workers de scan Metasploit, CTI, honeypot et pipeline de threat intelligence. |
Bojemoi Lab est une plateforme hybride d'Infrastructure-as-Code déployée sur Docker Swarm (4 nœuds). Elle combine sécurité offensive, CTI, monitoring et orchestration de déploiement.
Environnement :
- Manager : meta-76 (Alpine/BusyBox, i9-10900X, 16 GB RAM)
- Workers : meta-68, meta-69, meta-70 (contrainte
node.role == worker) - Registry local :
localhost:5000 - Gitea :
gitea.bojemoi.me
1. Orchestrateur de déploiement
FastAPI avec middleware de validation IP géographique, chaîne blockchain SHA-256 pour l'audit immuable des déploiements, et intégration XenServer pour les VMs.
Endpoints principaux :
POST /api/v1/vm/deploy— Déployer une VM sur XenServerPOST /api/v1/container/deploy— Déployer un service Docker SwarmGET /api/v1/blockchain/verify— Vérifier l'intégrité de la chaîne d'audit
Workflow VM :
- Validation IP source (whitelist Europe Occidentale, bypass RFC1918)
- Récupération du template cloud-init depuis Gitea
- Rendu Jinja2 avec les variables
- Création VM via XenAPI
- Enregistrement blockchain (karacho) + PostgreSQL
2. Borodino — Workers de scan Metasploit
Image ruby:3.3-alpine avec Metasploit Framework complet, nmap, pymetasploit3 et ProtonVPN.
ak47 (15 répliques)
Script ash qui sélectionne des CIDRs depuis ip2location_db1 via TABLESAMPLE SYSTEM(1) et lance db_nmap -sS -A -O via msfconsole. Les résultats alimentent la base msf (6,15M hosts, 33,7M services).
bm12 v2 (15 répliques)
Fingerprinting profond des hosts existants :
- Sélection aléatoire via
TABLESAMPLE SYSTEM(0.001) - Mapping des services ouverts vers 25 catégories NSE ciblées (http, ssh, smtp, smb, dns, mysql, rdp…)
- Un seul msfconsole par host (timeout 600s)
- Classification : web / mail / dns / database / file_server / vpn_proxy / voip / iot_embedded / remote_access
- Résultat stocké dans
hosts.comments,hosts.scan_details(JSON),hosts.scan_status='bm12_v2'
uzi (1 réplique)
Exploitation via MsfRpcClient (pymetasploit3) sur port 55553. Itère les modules exploit Linux post-2021, tente chaque exploit avec chaque payload, alerte Telegram en cas de session ouverte.
3. Samsonov — Orchestrateur Pentest
Architecture plugin chargée dynamiquement depuis Redis (pentest:commands).
Pipeline de scan : Masscan → ZAP spider/active → Burp passive → Nuclei → VulnX → Metasploit
Types de scan : full, web, network, vuln, cms
Les résultats sont agrégés et importés dans Faraday.
4. Bibliothèque MITRE ATT&CK
Package Python partagé bojemoi-mitre-attack embarqué dans plusieurs images. Mappe 35+ catégories Suricata vers des techniques ATT&CK avec niveau de confiance (high/medium/low), couvrant : initial-access, reconnaissance, C2, credential-access, privilege-escalation, exfiltration, lateral-movement.
5. Suricata Attack Enricher
Service Python async qui suit eve.json de Suricata en temps réel, mappe chaque alerte vers ATT&CK, et insère en batch dans PostgreSQL (bojemoi_threat_intel.suricata_attack_alerts). Batch 50 entrées / flush 5s.
6. Services CTI
| Service | Rôle |
|---|---|
| razvedka | Surveille canaux Telegram hacktvistes (KillNet, CyberArmyOfRussia…), score l'intention DDoS ciblant la France |
| vigie | Scrape flux RSS ANSSI/CERT-FR, alerte sur nouvelles vulnérabilités selon une watchlist produits |
| dozor | Génère les règles blocklist Suricata depuis threat intel, reload via socket Unix |
| ml-threat-intel | Classificateur ML d'IoC (VT/AbuseIPDB/OTX/Shodan/Anthropic APIs) |
7. Honeypot Medved
Multi-protocole : SSH :22, HTTP :8888, RDP :3389, SMB :445, FTP :2121, Telnet :2323, Elasticsearch :9200. Toutes les interactions sont loguées dans la base msf et envoyées à Faraday.
Stacks Docker Swarm
| Stack | Services principaux |
|---|---|
| base (manager) | postgres, grafana, prometheus, loki, tempo, alertmanager, orchestrator |
| borodino (workers) | ak47×15, bm12×15, uzi×1, karacho, masscan, nuclei, faraday, zaproxy, redis |
| ml-threat-intel (workers) | API classificateur IoC |
| razvedka (workers) | Monitor Telegram hacktvistes |
| vigie (workers) | Monitor ANSSI/CERT-FR |
| dozor (workers) | Générateur règles Suricata |
| telegram (workers) | Bot Telegram (interface Redis + docker-socket-proxy) |
| medved (workers) | Honeypot multi-protocoles |
Base de données
Instance PostgreSQL partagée sur meta-76 :
| Base | Usage |
|---|---|
msf |
Metasploit — 6,15M hosts, 33,7M services, 9 GB |
ip2location |
CIDRs géolocalisation |
faraday |
Findings sécurité |
deployments |
État orchestrateur |
bojemoi_threat_intel |
Alertes Suricata enrichies ATT&CK |
karacho |
Blockchain audit déploiements |