← retour aux projetstooling · ir

POC-Phantom

Outil de triage pour incident response. Se connecte en SSH, corrèle processus, logs et utilisateurs, minimise les traces sur la machine cible.

TypeProjet personnel
Période2024 - en cours
StackGo, Linux, SSH

// Le problème

Je cherchais à me former en cyber de manière concrète. Pas juste des CTF et des cours, un vrai outil que j'utiliserais au quotidien. Le scénario : on t'appelle à 2h du mat, un VPS est potentiellement compromis, t'es fatigué, t'as besoin d'un truc qui te donne une vue claire rapidement. Pas de fouiller manuellement en enchaînant les commandes.

// L'approche

POC-Phantom est un outil de triage pour incident response. Principe clé : ne rien installer sur la machine analysée et laisser le moins de traces possible. L'outil se connecte en SSH et exécute des commandes à distance plutôt que de lancer des processus sur la cible, pour ne pas polluer les logs ni déclencher les SIEM en place.

Il corrèle automatiquement les informations entre processus, logs et utilisateurs. Des regex souples détectent des patterns suspects et remontent les résultats avec leur contexte de corrélation dans un dashboard terminal.

// Pourquoi Go

Portabilité. Go compile en binaire statique cross-platform, je peux balancer l'outil sur n'importe quel poste sans dépendances. C'est aussi un bon compromis pour un POC : plus performant que Python, beaucoup moins pénible que Rust pour un prototype où l'objectif c'est de valider un concept, pas d'optimiser chaque allocation mémoire. Et la sécurité du code est pensée dès le départ, pas de shell exec sauvages, pas de parsing naïf.

// Limites & recul

C'est un POC. La corrélation fonctionne sur les cas que j'ai testés, mais les règles de détection ne sont pas encore assez robustes pour du production.

Avec le recul, l'approche par commandes SSH a ses limites. En environnement réel, passer par les APIs des SIEM/SOAR en place ou utiliser les syscalls directement aurait été plus propre pour éviter de déclencher des alertes. C'est une piste d'évolution.

// Ce que j'en retiens

Construire un outil en pensant à l'utilisateur final (moi, fatigué, sous pression) force des choix de conception différents de quand on code un projet "pour apprendre". Chaque feature doit réduire le temps de réaction, pas l'augmenter.

GoLinuxSSH