Analyste SOC avec Wazuh : détecter et répondre aux attaques
Quitter

Leçon 1 sur 11 · Le SOC et Wazuh

Le métier d'analyste SOC : niveaux, SIEM, incidents et MITRE ATT&CK

35 min Debian 12

Objectif

Comprendre ce que fait réellement un analyste dans un SOC (Security Operations Center), comment une alerte devient un incident, et parler le langage commun de la profession : SIEM, XDR, niveaux N1-N2-N3 et MITRE ATT&CK. Cette leçon pose le décor de toute la formation.

L'essentiel

  • Un SOC est l'équipe (et la salle) qui surveille en continu les systèmes d'une organisation pour détecter les attaques et y répondre vite.
  • Les analystes sont organisés en niveaux : le N1 trie les alertes, le N2 enquête et confine, le N3 chasse les menaces et traite les cas complexes.
  • Un SIEM rassemble et corrèle les journaux ; un EDR protège chaque poste ; un XDR relie les deux. Wazuh est une plateforme libre qui fait SIEM et XDR.
  • Un incident suit un cycle de vie : préparation, détection et analyse, confinement, éradication, rétablissement, retour d'expérience.
  • MITRE ATT&CK est un catalogue public des comportements d'attaquants : des tactiques (le « pourquoi ») et des techniques numérotées (le « comment »), par exemple T1110 pour la force brute.

Une journée dans un SOC

Imaginez le SOC d'une banque à Casablanca. Il est 8 h 05. Sur l'écran, le tableau de bord affiche 1 240 alertes depuis minuit. Personne ne peut toutes les lire une par une : le travail consiste à trier.

Sarah, analyste N1, ouvre la file. La plupart des alertes sont du bruit : mises à jour d'antivirus, rotations de journaux, connexions normales. Elle repère pourtant une ligne : 48 échecs de mot de passe SSH sur un serveur web, depuis une adresse étrangère, suivis d'une connexion réussie. Ce n'est plus du bruit. Elle qualifie l'alerte, note ses premières observations dans le ticket et l'escalade au N2.

Youssef, analyste N2, reprend le ticket. Il regarde ce que le compte a fait après la connexion, isole le serveur, bloque l'adresse et prévient l'équipe système. À midi, la menace est contenue ; il rédige le rapport.

Ce scénario, vous allez le rejouer de bout en bout dans cette formation, sur votre propre machine.

Les niveaux d'analystes

Niveau Rôle principal Exemples de tâches
N1 — triage surveiller la file, qualifier les alertes écarter les faux positifs, ouvrir un ticket, escalader
N2 — réponse enquêter et contenir reconstituer la chronologie, bloquer une IP, isoler une machine
N3 — expertise chasser et améliorer threat hunting, analyse de logiciels malveillants, nouvelles règles de détection
Responsable SOC piloter indicateurs, astreinte, relation avec la direction et le RSSI

Au Maroc, ces postes existent dans les banques et assurances, chez les opérateurs télécoms, dans les ministères et les grands établissements publics, et chez les prestataires de sécurité managée (MSSP) qui surveillent plusieurs clients depuis Casablanca ou Rabat, souvent aussi pour des clients européens. Le poste N1 est la porte d'entrée classique.

Deux indicateurs à connaître

  • MTTD (Mean Time To Detect) : le temps moyen entre le début d'une attaque et sa détection.
  • MTTR (Mean Time To Respond) : le temps moyen entre la détection et le confinement.

Un bon SOC fait baisser les deux. Une règle de détection bien écrite (leçon 2.2) réduit le MTTD ; une réponse active bien réglée (leçon 3.1) réduit le MTTR.

SIEM, EDR, XDR, SOAR : qui fait quoi ?

Sigle Nom Ce qu'il apporte
SIEM Security Information and Event Management collecter les journaux de partout, les normaliser, les corréler, alerter
EDR Endpoint Detection and Response un agent sur chaque machine qui observe les processus, les fichiers, et peut agir
XDR Extended Detection and Response rassembler SIEM et EDR (et plus) dans une seule détection
SOAR Security Orchestration, Automation and Response automatiser les réponses (bloquer, notifier, ouvrir un ticket)

Wazuh combine un agent installé sur les machines (surveillance des journaux, de l'intégrité des fichiers, des vulnérabilités, réponse active) et un serveur central qui analyse et corrèle : il couvre donc à la fois le rôle de SIEM et celui de XDR. Il est libre (licence GPLv2) et gratuit, ce qui en fait un excellent outil pour apprendre, et un choix réel pour beaucoup de PME et d'administrations.

Le vocabulaire du triage

  • Événement : une ligne de journal (« connexion SSH réussie »). Des millions par jour.
  • Alerte : un événement (ou un groupe d'événements) qu'une règle a jugé intéressant. Dans Wazuh, chaque alerte a un niveau de 0 à 15.
  • Incident : une alerte confirmée qui porte atteinte (ou menace de porter atteinte) à la confidentialité, l'intégrité ou la disponibilité.
  • Vrai positif : l'alerte correspond à une vraie attaque.
  • Faux positif : l'alerte s'est déclenchée à tort (un administrateur qui se trompe trois fois de mot de passe).
  • Faux négatif : une vraie attaque sans alerte. C'est le plus dangereux, car invisible.

Un analyste N1 passe une grande partie de son temps à écarter les faux positifs. Un bon analyste N2 ou N3 réduit leur nombre en affinant les règles.

Le cycle de vie d'un incident

La référence la plus citée est le guide NIST SP 800-61. On retient ces étapes :

  1. Préparation ──► 2. Détection et analyse ──► 3. Confinement ──► 4. Éradication ──► 5. Rétablissement
        ▲                                                                                     │
        └──────────────────────── 6. Retour d'expérience (leçons apprises) ◄──────────────────┘
Étape Question Exemple pour notre banque
Préparation Sommes-nous prêts ? Wazuh installé, agents sur tous les serveurs, procédures écrites
Détection et analyse Que se passe-t-il vraiment ? 48 échecs puis un succès : vrai positif
Confinement Comment arrêter l'extension ? bloquer l'IP, désactiver le compte deploy
Éradication Comment retirer l'attaquant ? supprimer le compte ajouté, retirer la clé SSH déposée
Rétablissement Comment revenir à la normale ? restaurer les fichiers, surveiller de près pendant 15 jours
Retour d'expérience Que changer ? interdire le mot de passe sur SSH, ajouter une règle

Au Maroc, la DGSSI (Direction générale de la sécurité des systèmes d'information) héberge le maCERT, le centre national de veille et de réponse aux incidents. Les administrations et les opérateurs d'importance vitale ont des obligations de sécurité et de déclaration d'incidents (loi 05-20 sur la cybersécurité). Si des données personnelles sont touchées, la loi 09-08 et la CNDP entrent aussi en jeu. Vous verrez ces aspects dans la leçon sur le rapport d'incident.

MITRE ATT&CK : la langue commune

MITRE ATT&CK est une base de connaissances publique et gratuite, construite à partir d'attaques réellement observées. Elle classe ce que font les attaquants en :

  • Tactiques : l'objectif de l'attaquant à une étape (obtenir un accès, rester, voler des identifiants…). Identifiants en TA00xx.
  • Techniques : la manière d'atteindre cet objectif. Identifiants en Txxxx, et Txxxx.yyy pour les sous-techniques.

Quelques tactiques de la matrice Enterprise, dans l'ordre d'une attaque typique :

Tactique Identifiant Question de l'attaquant
Initial Access TA0001 Comment j'entre ?
Execution TA0002 Comment je lance mon code ?
Persistence TA0003 Comment je reste après un redémarrage ?
Privilege Escalation TA0004 Comment je deviens root ?
Defense Evasion TA0005 Comment je me cache ?
Credential Access TA0006 Comment je vole des mots de passe ?
Discovery TA0007 Qu'y a-t-il autour de moi ?
Lateral Movement TA0008 Comment je passe à une autre machine ?
Exfiltration TA0010 Comment je sors les données ?
Impact TA0040 Comment je casse ou je chiffre ?

Et les techniques que vous croiserez le plus dans cette formation :

Technique Nom Exemple concret
T1110 Brute Force des milliers de mots de passe testés sur SSH
T1110.001 Password Guessing un compte, beaucoup de mots de passe
T1110.003 Password Spraying un mot de passe courant, beaucoup de comptes
T1078 Valid Accounts l'attaquant se connecte avec un vrai compte volé
T1136.001 Create Account: Local Account useradd support2 pour garder un accès
T1098 Account Manipulation ajout d'une clé dans authorized_keys
T1059.004 Unix Shell commandes lancées par un script bash malveillant
T1486 Data Encrypted for Impact rançongiciel

Wazuh associe déjà beaucoup de ses règles à des techniques ATT&CK : quand une alerte apparaît dans le tableau de bord, vous voyez directement T1110 à côté. Cela permet de parler le même langage qu'un collègue d'un autre SOC, que maCERT ou qu'un rapport de menace international.

# Dans une alerte Wazuh (format JSON), la partie MITRE ressemble à ceci :
#   "rule": { "id": "5763", "level": 10,
#             "mitre": { "id": ["T1110"], "tactic": ["Credential Access"] } }

Trier : une méthode simple

Face à une file d'alertes, un analyste N1 se pose toujours les mêmes questions, dans cet ordre :

  1. Gravité : quel niveau ? Les niveaux 10 à 15 passent avant le reste.
  2. Actif touché : un serveur de paiement compte plus qu'un poste de test.
  3. Contexte : l'adresse est-elle interne (10.x) ou externe ? Le compte est-il un compte de service ?
  4. Enchaînement : plusieurs alertes racontent-elles la même histoire (échecs, puis succès, puis compte créé) ?
  5. Décision : faux positif (on documente et on ferme), vrai positif (on escalade), doute (on escalade aussi).
# Un aperçu de ce que vous ferez en ligne de commande dans le lab :
awk -F';' 'NR>1 && $2>=10' alertes.csv          # alertes de niveau 10 et plus
sort -t';' -k2,2nr alertes.csv | head           # trier par niveau décroissant
grep '203.0.113.45' alertes.csv                 # pivoter sur une adresse IP

Pièges fréquents

  • Juger une alerte seule : 48 échecs de mot de passe sont banals sur Internet ; 48 échecs suivis d'un succès sont un incident. Regardez toujours ce qui vient avant et après.
  • Fermer une alerte sans trace : même un faux positif se documente en une phrase. Sinon, le collègue de nuit refera le même travail.
  • Confondre tactique et technique : « Credential Access » est une tactique (TA0006), « Brute Force » est une technique (T1110).
  • Croire que l'outil fait tout : Wazuh produit des alertes ; c'est l'analyste qui en fait un diagnostic.

Lab

Vous prenez votre premier poste de N1. Un fichier /root/soc/alertes.csv contient dix alertes de la nuit. Vous allez :

  1. associer l'alerte de mots de passe en rafale à sa technique MITRE ;
  2. faire de même pour le compte créé sans autorisation ;
  3. compter les alertes de niveau 10 ou plus ;
  4. préparer la file de traitement, de la plus grave à la moins grave.

Lancez le lab sur votre machine de travail avec sudo ml demarrer wazuh-1-1, puis vérifiez avec sudo ml verifier.

Quiz

  1. Quelle est la différence entre le rôle d'un analyste N1 et celui d'un N2 ?
  2. Qu'est-ce qu'un faux négatif, et pourquoi est-il plus dangereux qu'un faux positif ?
  3. Citez les étapes du cycle de vie d'un incident selon le NIST.
  4. T1110 est-il une tactique ou une technique ? Et TA0006 ?
  5. Pourquoi Wazuh est-il qualifié à la fois de SIEM et de XDR ?
Réponses
  1. Le N1 surveille la file, trie les alertes, écarte les faux positifs et escalade ; le N2 enquête en profondeur, reconstitue ce qui s'est passé et contient l'incident (blocage, isolement).
  2. Une vraie attaque qui ne déclenche aucune alerte. Elle est plus dangereuse parce que personne ne la voit : l'attaquant agit en toute tranquillité.
  3. Préparation ; détection et analyse ; confinement, éradication et rétablissement ; activités après l'incident (retour d'expérience).
  4. T1110 (Brute Force) est une technique ; TA0006 (Credential Access) est une tactique, c'est-à-dire un objectif.
  5. Parce qu'il collecte et corrèle les journaux de tout le parc (rôle de SIEM) et qu'il dispose d'un agent sur chaque machine capable d'observer et d'agir, par exemple bloquer une adresse (rôle d'EDR, réunis en XDR).

Sources de référence : documentation Wazuh (CC BY-SA 4.0), MITRE ATT&CK, NIST SP 800-61, DGSSI/maCERT. Texte original MasterLinux.

Exercices pratiques

À réaliser sur Debian 12

Faites ce lab sur votre machine

Le terminal, c’est le vôtre : une VM Linux (VirtualBox, VMware, Hyper-V, WSL…) ou Docker/Podman. L’outil ml prépare l’exercice et corrige votre travail ; la leçon se valide toute seule ici.

Créez un compte gratuit pour obtenir votre commande personnelle et faire valider vos labs automatiquement.

Créer mon compte

Tâches à réaliser

  1. L'alerte A02 décrit des dizaines d'échecs de mot de passe SSH depuis la même adresse. Écrivez seulement l'identifiant de la technique MITRE ATT&CK correspondante (par exemple T1234) dans /root/soc/A02.txt
    Afficher un indiceC'est la technique « Brute Force », dans la tactique Credential Access.
    Voir la solution
    echo T1110 > /root/soc/A02.txt

    Vérification : grep -Eqix " *T1110(\.00[1-4])? *" /root/soc/A02.txt

  2. L'alerte A03 signale la création d'un compte local inattendu. Écrivez l'identifiant de la technique MITRE correspondante dans /root/soc/A03.txt
    Afficher un indiceTechnique « Create Account » (sous-technique Local Account), tactique Persistence.
    Voir la solution
    echo T1136.001 > /root/soc/A03.txt

    Vérification : grep -Eqix " *T1136(\.001)? *" /root/soc/A03.txt

  3. Dans /root/soc/alertes.csv (séparateur ;), comptez les alertes de niveau 10 ou plus et écrivez seulement ce nombre dans /root/soc/critiques.txt
    Afficher un indiceawk -F';' 'NR>1 && $2>=10' sélectionne les bonnes lignes (NR>1 saute l'en-tête).
    Voir la solution
    awk -F";" "NR>1 && \$2>=10 {n++} END {print n+0}" /root/soc/alertes.csv > /root/soc/critiques.txt

    Vérification : test "$(tr -d " \n" < /root/soc/critiques.txt)" = "$(awk -F";" "NR>1 && \$2>=10 {n++} END {print n+0}" /root/soc/alertes.csv)"

  4. Préparez la file de traitement : écrivez dans /root/soc/file.txt les identifiants des alertes de niveau 10 ou plus, un par ligne, de la plus grave à la moins grave
    Afficher un indiceawk pour filtrer, sort -t';' -k2,2nr pour trier par niveau décroissant, cut -d';' -f1 pour garder l'identifiant.
    Voir la solution
    awk -F";" "NR>1 && \$2>=10" /root/soc/alertes.csv | sort -t";" -k2,2nr -k1,1 | cut -d";" -f1 > /root/soc/file.txt

    Vérification : f=/root/soc/file.txt; c=/root/soc/alertes.csv; test "$(tr -d " \r" < $f | sort)" = "$(awk -F";" "NR>1 && \$2>=10 {print \$1}" $c | sort)" && tr -d " \r" < $f | awk -F";" "NR==FNR {n[\$1]=\$2; next} FNR>1 && n[\$1]>p {e=1} {p=n[\$1]} END {exit e}" $c -

Références officielles consultées : Wazuh documentation — Getting started, Components — https://documentation.wazuh.com/current/getting-started/components/index.html ; Wazuh documentation — Use cases — https://documentation.wazuh.com/current/getting-started/use-cases/index.html ; MITRE ATT&CK — Enterprise Tactics — https://attack.mitre.org/tactics/enterprise/ ; MITRE ATT&CK — T1110 Brute Force — https://attack.mitre.org/techniques/T1110/ ; MITRE ATT&CK — T1136 Create Account — https://attack.mitre.org/techniques/T1136/ ; NIST SP 800-61 — Computer Security Incident Handling Guide — https://csrc.nist.gov/pubs/sp/800/61/r3/final ; DGSSI / maCERT — Centre marocain de veille, détection et réponse aux attaques informatiques — https://www.dgssi.gov.ma. Texte original MasterLinux.