C2 Monitor
Surveiller des serveurs de commandes et contrôles en se faisant passer pour des machines infectées
Boris LICKINDORF
ENSIBS - Cyberdéfense 5ème année
Groupe La Poste - Analyste Malware
Projet de Fin d'Étude 2023-2024
Sommaire
-
Présentation du Groupe La Poste
-
Présentation du service et de l'équipe
-
Description des besoins
-
Détail du PFE
-
Etude de cas sur NjRAT
-
Résultats du PFE
-
Bilan de compétences
Présentation du Groupe La Poste
Quelques chiffres (2023)
- Chiffre d'affaires : 34,1 Mds€
- Résultat Net: 514 M€
- Effectifs : ~233 000 employés
Secteur d'activités
- Services-Courrier-Colis & Geopost
- La Banque Postale
- Grand Public et Numérique
- Autres secteurs et intercos
https://www.lapostegroupe.com/fr/investisseurs/resultats-financiers
Description des besoins
La vue d'ensemble de la détection au sein du CERT
1. Investigation numérique liées aux incidents de sécurités
2. Collecte d'IoC pour la détection et CTI
2.a Pipeline de traitements de souches malveillantes
2.b Surveillance de commandes & contrôles
Description des besoins
Les missions de notre équipe
2.a Pipeline de traitements de souches malveillantes
2.b Surveillance de commandes & contrôles
Description des besoins
Les solutions de collecte d'IoC
Description des besoins
Amélioration de la détection & CTI
IoC
Sans Faux positifs
Récents
Quantité
CTI
Pipeline
C2 Monitor
++
+
++
+
++
++
+
++
Présentation du PFE
Évolution de l'architecture
Présentation du PFE
Évolution des fonctionnalités
Poller V1 | C2 Monitor |
---|---|
1 famille implémentée | 5 familles implémentées |
Schéma de BDD non-flexible | Schéma de BDD générique |
Mono-worker | Multi-workers |
Interface Web minimaliste (lecture seule des Ordres & C2) |
Interface Web Avancée (lecture/écriture, statistiques, pilotage des bots, healthcheck) |
Génération dynamique de faux environnements Windows | |
Génie logiciel (héritage objets, factory pattern) | |
Tests unitaires et documentation |
Présentation du PFE
Ajout des nouveaux commandes et contrôles (C2)
C2 Monitor Panel
API & database for C2 & Orders
C2 Monitor Feed
Script Python
Présentation du PFE
Communication avec les C2
C2 Monitor Panel
API & database for C2 & Orders
C2 Monitor Poller
Python scripts to
communicate with C2
C2 Servers
One class for each
malware family
NjratBot
HoudiniBot
Présentation du PFE
Sauvegarde, cercle vertueux et intégrations
HoudiniBot
Etude de cas - NjRAT
Console du serveur de commande et contrôle
Remote Access Trojan (RAT) en .NET
Communique en clair via TCP (port par défaut: 5552)
Etude de cas - NjRAT
Console du serveur de commande et contrôle
NjRAT Bot
NjRAT C2
1. Télécharge & exécute le plugin Chat
2. (nouveau thread) Chat ouvert
3. L'attaquant choisit un pseudo
4. Acquitter du pseudo
5. Envoie "Hello !"
6. Réponds "Hey"
Fenêtre de Chat de l'attaquant
Échange TCP
Etude de cas - NjRAT
Échange avec un attaquant
Discussion via Chat
Résultats
Chiffres clés #1 - Compteurs et échanges
Résultats
Chiffres clés #2 - Tableau de bord sur TQ
Bilan de compétences
BC01 - Se comporter en professionnel agile et responsable
Entreprise | École |
---|---|
Communiquer régulièrement avec ses collègues Transfert de compétences au sein de l'équipe Travail en autonomie et force de proposition |
Réalisation de TP, projets et gestion de crise en groupe |
Points hebdo.
Acteurs
Equipe externe
Bilan de compétences
BC02 - Collaborer, conduire des projets et manager en équipe
Entreprise | École |
---|---|
Contribuer à la prise de décisions et à la priorisation des tâches Réalisation de documentation Diriger des réunions avec les clients, les pentesters et les RSSI |
Réalisation de TP, projets et gestion de crise en groupe Responsable de la cellule "Forensic" pendant la gestion de crise |
Réunions
Priorisations
Décisions
Bilan de compétences
BC03 - Concilier innovation, performance et sécurité des SI
Entreprise | École |
---|---|
Hardening Linux avec Ansible Analyse de logiciels malveillants Audit de sites web et d'infrastructures Installation de services dans des conteneurs |
Reverse, Forensic, Audit Linux/Windows/Mobile... |
Hardening Linux
Analyse de malware
Service sécurisé
Bilan de compétences
BC04 - Assurer la gouvernance de la SSI
Entreprise | École |
---|---|
Utiliser des analyses de risques précédentes pour réaliser des pentests ou de la rétro-ingénierie Lecture de rapports de CTI sur des campagnes APT |
Rédaction de PSSI, normes ISO 27001, analyse de risques, analyse de la menace |
Analyse de Risque
Rapport de CTI
Bilan de compétences
BC05 - Assurer la défense opérationnelle des SI
Entreprise | École |
---|---|
Collecte d'IoC pour un SIEM Amélioration de la CTI Configurer des pare-feux logiciels |
Mise en place et utilisation de Splunk Réaliser une matrice des flux et configurer des pare-feux |
SIEM
CTI
Pare-feux
Fin !
Avez-vous des questions ?
Boris LICKINDORF
ENSIBS - Cyberdéfense 5ème année
Groupe La Poste - Analyste Malware
Projet de Fin d'Étude 2023-2024
Résultats
Chiffres clés #2 - Activités et durée de vie
Description des besoins
1. Investigation numérique liées aux incidents de sécurités
2. Collecte d'IoC pour la détection et CTI
2.a Pipeline de traitements de souches malveillantes
2.b Surveillance de commandes & contrôles
Service - Détéction des Incidents de Sécurité (DIS)
Équipe - Malware
SIEM
EDR
AV
Description du besoin
-
Collecteurs: Collecte des fichiers malveillants.
-
Tracker-NG: Application de stockage et gestion des souches.
-
Launchers & Tasks: Exécution de tâches sur les souches.
-
Poller V1: Surveillance de commande et contrôle.
- ThreatQuotient & SIEM: Gestion des IoCs et règles de détection.
Ancienne architecture
Description du besoin
-
Tracker-NG:
- Développement prend du temps
- Pas de compabilité avec d'autres outils
- Manque de tests unitaires et automatisations
-
Poller V1:
- Ne supporte qu'un seule famille
- Un seul worker est possible
- Pas de statistiques intégrés
- Faux environments trop simpliste
Problèmatiques rencontrées
Description du besoin
Évolutions apportées
-
Intégration de MWDB & Karton:
- Solution "open-source"
- + de fonctionnalités dans l'interface et l'API
- Librairie Python cliente
- Partage avec la communauté (InterCERT-FR)
-
Refactor du Poller en C2 Monitor:
- Intégration de plusieurs familles
- Ajouts de plusieurs workers
- Tableau de bord avec statistiques
- Faux environments amélioré
-
Automatisation
- Gitlab CI/CD & Ansible
Description du besoin
-
Collecteurs: Collecte des fichiers malveillants.
-
Tracker-NG: Application de stockage et gestion des souches.
-
Launchers & Tasks: Exécution de tâches sur les souches.
-
Poller V1: Surveillance de commande et contrôle.
- ThreatQuotient & SIEM: Gestion des IoCs et règles de détection.
Ancienne architecture
Description du besoin
Poller V1 → C2 Monitor
- Ne supporte qu'une seule famille
- Un seul worker est possible
- Pas de statistiques intégrées
- Faux environments trop simpliste
- Schéma de base de données
dédiée à la famille Houdini - Pas de Healthcheck sur les workers
- Interface web minimaliste
Problèmatiques rencontrées
Description du besoin
Évolutions apportées
Nouvelle Fonctionnalités
- Schéma de BDD génériques
- Intégration de la famille NjRAT
- Gestion des évènements et workers
- Tableau de bord avec statistiques
- Faux environments améliorés
- Healthcheck sur les workers
Automatisation
- Gitlab CI/CD & Ansible
PFE
By xanhacks
PFE
- 61