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

  1. Présentation du Groupe La Poste

  2. Présentation du service et de l'équipe

  3. Description des besoins

  4. Détail du PFE

  5. Etude de cas sur NjRAT

  6. Résultats du PFE

  7. 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

  1. Services-Courrier-Colis & Geopost
  2. La Banque Postale
  3. Grand Public et Numérique
  4. 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

  1. Collecteurs: Collecte des fichiers malveillants.
     
  2. Tracker-NG: Application de stockage et gestion des souches.
     
  3. Launchers & Tasks: Exécution de tâches sur les souches.
     
  4. Poller V1: Surveillance de commande et contrôle.
     
  5. 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

  1. Collecteurs: Collecte des fichiers malveillants.
     
  2. Tracker-NG: Application de stockage et gestion des souches.
     
  3. Launchers & Tasks: Exécution de tâches sur les souches.
     
  4. Poller V1: Surveillance de commande et contrôle.
     
  5. 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