Files
blog/content/posts/bojemoi-lab-architecture.md
Betty 692064dfde
All checks were successful
Hugo Build & Deploy / build-deploy (push) Successful in 7s
post: Bojemoi Lab — Architecture de la plateforme
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>
2026-02-19 21:35:54 +01:00

5.1 KiB
Raw Blame History

title, date, draft, tags, summary
title date draft tags summary
Bojemoi Lab — Architecture de la plateforme 2026-02-19 false
infrastructure
docker-swarm
metasploit
security
architecture
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 XenServer
  • POST /api/v1/container/deploy — Déployer un service Docker Swarm
  • GET /api/v1/blockchain/verify — Vérifier l'intégrité de la chaîne d'audit

Workflow VM :

  1. Validation IP source (whitelist Europe Occidentale, bypass RFC1918)
  2. Récupération du template cloud-init depuis Gitea
  3. Rendu Jinja2 avec les variables
  4. Création VM via XenAPI
  5. 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