Chapitre 1419 minIntermédiaire
Exercices corrigés Wazuh type E7 et E6 SISR
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- analyser un dossier d'alertes comme à l'écrit E7 ;
- écrire une règle Wazuh pour une ligne de journal donnée ;
- justifier le choix des journaux à collecter ;
- préparer une réalisation Wazuh présentable à l'E6.
5 exercices corrigés
Ce chapitre rassemble des exercices de synthèse dans l'esprit des épreuves de l'option SISR : un dossier d'alertes à analyser comme à l'écrit E7 « Cybersécurité des services informatiques », une règle à écrire pour une ligne de journal, un choix de sources à justifier, une configuration à corriger, et une tâche à réaliser sur un laboratoire comme pendant une épreuve E6. Toutes les questions s'appuient sur le laboratoire de Sorbier Logistique décrit au chapitre 1. Cherche chaque exercice en entier avant d'ouvrir la correction.
Méthode pour une question d'analyse d'alertes
À l'écrit, les questions sur un SIEM se ressemblent : on te donne un extrait d'alertes ou de journaux, et on te demande de raconter, de qualifier, de proposer. La méthode :
- Lis tout le dossier avant d'écrire : le contexte (qui fait quoi, quels comptes sont normaux, quelles règles de l'entreprise), puis les alertes.
- Remets les alertes dans l'ordre chronologique et repère les liens : même compte, même adresse, même machine.
- Raconte en une phrase par étape, avec le vocabulaire juste (force brute, mouvement latéral, persistance, effacement de traces), et cite la tactique ou la technique ATT&CK quand elle t'est demandée.
- Distingue ce que les alertes prouvent de ce qu'elles suggèrent. « Les fichiers ont été volés » n'est pas prouvé par une connexion ; « une connexion a eu lieu, il faut vérifier les accès » l'est.
- Propose des mesures dans l'ordre de la réponse à incident : confiner d'abord, enquêter, éradiquer, restaurer, améliorer.
- Justifie chaque proposition par un élément du dossier.
Cas 1 : une nuit sur srv-gestion
Exercice 1 sur 5 Analyser un dossier d'alertes Réussi À revoir
Contexte. Sorbier Logistique fait appel à un prestataire pour maintenir son application de gestion, installée sur srv-gestion (Windows Server 2025, 192.168.10.179). Le prestataire se connecte en bureau à distance avec le compte ext-maintenance, uniquement en semaine, entre 9 h et 18 h, après avoir prévenu le service informatique. Le poste PC-ACCUEIL-02 (192.168.10.93, VLAN 10) est celui de l'accueil. Le pare-feu n'autorise pas les serveurs du VLAN 20 à joindre Internet, sauf les dépôts de mises à jour. Les alertes de niveau 12 et plus sont publiées dans le canal Teams de l'équipe informatique ; personne n'est d'astreinte la nuit.
Mardi 4 novembre, à 7 h 45, Chloé Lambert découvre ces alertes de la nuit :
| Heure | Agent | Règle | Niveau | Description | Détails |
|---|---|---|---|---|---|
| 01:52:10 | srv-gestion | 60204 | 10 | Multiple Windows Logon Failures | ipAddress 192.168.10.93 ; targetUserName ext-maintenance |
| 01:55:31 | srv-gestion | 100300 | 12 | Sorbier : ouverture de session réussie après une rafale d'échecs depuis la même adresse | ipAddress 192.168.10.93 ; targetUserName ext-maintenance |
| 02:03:12 | srv-gestion | 91809 | 10 | Powershell script may be using Base64 decoding method | Événement 4104 |
| 02:04:40 | srv-gestion | 61138 | 5 | New Windows Service Created | Service WinSysUpd, programme C:\Users\Public\wsu.exe |
| 02:20:05 | srv-fichiers | 92657 | 6 | Successful Remote Logon Detected - NTLM authentication, possible pass-the-hash attack - Possible RDP connection | targetUserName ext-maintenance ; ipAddress 192.168.10.179 ; workstationName SRV-GESTION ; type de session 3 |
| 02:31:48 | srv-journaux | 87702 | 10 | Multiple pfSense firewall blocks events from same source | Source 192.168.10.179, destination 203.0.113.66, port 443 |
| 02:41:55 | srv-gestion | 60117 | 12 | Windows audit log was cleared | Événement 1102 |
- Reconstitue ce qui s'est passé, étape par étape, en associant chaque étape à une tactique ATT&CK.
- L'alerte de 1 h 52, prise seule, pouvait-elle être un faux positif ? Et l'ensemble ?
- Quelles mesures prends-tu en arrivant, et dans quel ordre ?
- Les alertes de niveau 12 sont parties dans Teams à 1 h 55 et 2 h 41. Pourquoi personne n'a-t-il réagi, et que proposes-tu ?
- Le partage de la paie est sur
srv-fichiers. Le dossier d'alertes permet-il de dire si des fichiers de la paie ont été lus ? Que faudrait-il collecter pour le savoir ? - Quelles obligations légales l'entreprise doit-elle examiner ?
Voir la réponseMasquer la réponse de l'exercice 1
1. Le récit.
| Heure | Ce qui s'est passé | Tactique ATT&CK |
|---|---|---|
| 01:52 | Rafale d'échecs de connexion sur ext-maintenance depuis le poste de l'accueil : essais de mots de passe | Credential Access (Brute Force) |
| 01:55 | Connexion réussie avec ce compte, depuis le même poste : le mot de passe a été trouvé | Initial Access / Persistence (Valid Accounts) |
| 02:03 | Exécution d'un script PowerShell qui décode du Base64 : du code masqué est lancé | Execution (PowerShell), Stealth (Command Obfuscation) |
| 02:04 | Un service est installé depuis un dossier accessible à tous : l'attaquant s'installe durablement | Persistence (Windows Service) |
| 02:20 | Le compte se connecte à srv-fichiers depuis srv-gestion en session réseau (partage) : rebond vers le serveur de fichiers | Lateral Movement (partages SMB ; Wazuh signale une authentification NTLM, possible réutilisation d'empreinte, T1550.002) |
| 02:31 | srv-gestion tente de joindre une adresse d'Internet en HTTPS, bloqué par le pare-feu : tentative de contact avec un serveur de commande ou de sortie de données | Command and Control ou Exfiltration |
| 02:41 | Le journal Sécurité de srv-gestion est effacé : effacement des traces | Defense Impairment (Clear Windows Event Logs) |
Le point de départ est le poste de l'accueil, d'où sont partis les essais : il est lui-même compromis, ou quelqu'un l'a utilisé physiquement.
Pour l'alerte de 2 h 20, ne te laisse pas guider par la fin de la description : la règle 92657 ajoute « Possible RDP connection » dès que le nom du poste client est renseigné. C'est le type de session 3 qui compte : un accès réseau (un partage), pas une session de bureau à distance (type 10).
2. Qualification. Seule, l'alerte de 1 h 52 aurait pu être bénigne : un utilisateur qui se trompe plusieurs fois de mot de passe. Mais le compte ext-maintenance n'a rien à faire sur le poste de l'accueil, la nuit, hors des créneaux du prestataire. L'ensemble, lui, est sans ambiguïté un vrai positif : réussite après une rafale, script masqué, service installé dans un dossier public, rebond, tentative de sortie, effacement du journal. C'est un incident de sécurité.
3. Les mesures, dans l'ordre.
- Confiner : isoler
srv-gestiondu réseau sans l'éteindre (déconnecter son interface virtuelle dans Proxmox), pour garder la mémoire et les traces ; isolerPC-ACCUEIL-02de la même façon ; désactiver le compteext-maintenancedans l'annuaire. - Préserver les preuves : instantané de
srv-gestionavec sa mémoire, export des alertes Wazuh de la nuit (elles sont intactes malgré l'effacement local du journal), journaux du pare-feu. - Mesurer l'étendue : chercher dans Wazuh toute activité de
ext-maintenance, de192.168.10.93, de192.168.10.179et de l'adresse203.0.113.66sur les 30 derniers jours, sur toutes les machines ; examinersrv-fichiers. - Prévenir : le responsable (Antoine Mercier), le prestataire (par téléphone, son compte est compromis), et ouvrir la main courante de l'incident.
- Ensuite : éradiquer (supprimer le service et le programme, ou mieux, restaurer
srv-gestiondepuis une sauvegarde antérieure à l'intrusion), changer les mots de passe concernés, revenir à la normale sous surveillance renforcée, puis faire le retour d'expérience.
4. Pourquoi personne n'a réagi. Les alertes sont bien parties, mais vers un canal Teams que personne ne lit la nuit : la détection a fonctionné, la réaction n'existait pas. Propositions : une astreinte pour les alertes de niveau 12 et plus, avec une notification qui réveille (appel, SMS) ; ou la surveillance confiée à un prestataire de type MDR ou SOC externalisé, disponible jour et nuit ; et, pour gagner du temps sur les cas évidents, une réponse automatique limitée (par exemple la désactivation d'un compte de prestataire utilisé hors de ses créneaux, décidée à l'avance, documentée et réversible). Et des mesures de prévention : le compte ext-maintenance ne devrait être activé que pendant les interventions planifiées, avec une authentification multifacteur, et seulement depuis le VPN du prestataire, pas depuis un poste interne.
5. La paie. Non. On sait seulement que ext-maintenance a ouvert une session réseau sur srv-fichiers à 2 h 20. Le contrôle d'intégrité des fichiers ne voit que les modifications, pas les lectures, et l'événement de lecture (4663) n'est pas collecté par défaut. Pour le savoir, il faut l'audit des accès aux objets sur le dossier de la paie (sous-catégorie Système de fichiers, plus une liste de contrôle d'accès système sur le dossier) et l'événement 4663 autorisé dans la collecte de srv-fichiers. À défaut, l'enquête doit partir de l'hypothèse que les fichiers ont pu être lus. La tentative de connexion vers Internet bloquée à 2 h 31 suggère une volonté de sortir quelque chose ; le blocage par le pare-feu est un élément rassurant, à confirmer dans ses journaux (aucun flux sortant autorisé depuis srv-gestion cette nuit-là).
6. Les obligations. Les fichiers de la paie contiennent des données personnelles des salariés (identité, salaire, coordonnées bancaires). Si une violation de données personnelles est constatée ou ne peut être écartée, le responsable de traitement doit la notifier à la CNIL dans les 72 heures après en avoir pris connaissance, sauf si elle n'est pas susceptible d'engendrer un risque pour les personnes, et informer les salariés si le risque est élevé ; dans tous les cas, la violation est inscrite au registre des violations. Une plainte peut être déposée (accès frauduleux, article 323-1 du Code pénal). Le prestataire, dont le compte a servi, doit être associé. Voir notifier un incident et le chapitre Violation de données du cours Droit et RGPD.
Tu avais trouvé ?
Cas 2 : une règle pour une ligne donnée
Exercice 2 sur 5 Écrire la règle Réussi À revoir
Sur srv-web, quand un compte qui n'a pas le droit d'utiliser sudo essaie quand même, journald contient :
Nov 5 14:02:11 srv-web sudo[7121]: deploy : user NOT in sudoers ; TTY=pts/0 ; PWD=/home/deploy ; USER=root ; COMMAND=/bin/bash
Wazuh décode cette ligne avec son décodeur sudo (l'utilisateur deploy est rangé dans le champ srcuser) et lui applique la règle 5405 « Unauthorized user attempted to use sudo. », de niveau 5.
- Explique pourquoi le niveau 5 est insuffisant sur
srv-web. - Écris une règle personnalisée qui monte au niveau 10 toute tentative de ce type, et au niveau 12 quand la commande demandée est un interpréteur (
/bin/bash,/usr/bin/bash,/bin/sh) ousu. - Comment la testes-tu sans attendre qu'un attaquant le fasse ?
Voir la réponseMasquer la réponse de l'exercice 2
1. Le niveau 5 correspond à une « erreur d'utilisateur ». Sur un serveur exposé, où seuls deux administrateurs ont des droits, un compte de déploiement qui tente d'obtenir les droits de root n'est pas une maladresse ordinaire : c'est le geste typique d'un attaquant qui vient de prendre ce compte et cherche à monter en privilèges. De plus, le niveau 5 ne déclenche ni courriel ni carte Teams.
2.
<group name="sorbier,sudo,">
<rule id="100400" level="10">
<if_sid>5405</if_sid>
<description>Sorbier : un compte non autorisé a tenté d'utiliser sudo</description>
<mitre>
<id>T1548.003</id>
</mitre>
</rule>
<rule id="100401" level="12">
<if_sid>100400</if_sid>
<match>COMMAND=/bin/bash|COMMAND=/usr/bin/bash|COMMAND=/bin/sh|COMMAND=/usr/bin/su|COMMAND=/bin/su</match>
<description>Sorbier : un compte non autorisé a tenté d'obtenir un interpréteur root par sudo</description>
<mitre>
<id>T1548.003</id>
</mitre>
</rule>
</group>
La première s'accroche à 5405 et relève le niveau ; la seconde s'accroche à la première et ne retient que les commandes qui donnent un interpréteur root. T1548.003 est la sous-technique Abuse Elevation Control Mechanism: Sudo and Sudo Caching. La ligne de l'énoncé déclenche la règle 100401, niveau 12.
3. Avec wazuh-logtest sur le serveur : coller la ligne de l'énoncé, vérifier en phase 2 le décodeur sudo et le champ srcuser, en phase 3 la règle 100401 et le niveau 12. Puis, sur le laboratoire, un essai réel : avec le compte de test deploy, taper sudo -i ; l'alerte doit apparaître dans le tableau de bord après le redémarrage de wazuh-manager.
Tu avais trouvé ?
Cas 3 : choisir et justifier les sources
Exercice 3 sur 5 L'agence de Marseille Réussi À revoir
L'agence de Marseille a deux serveurs Windows Server 2025 (10.30.1.161, contrôleur de domaine en lecture seule, et 10.30.1.162, fichiers), une quinzaine de postes Windows 11 et un routeur Cisco. Le lien vers Lyon est un lien loué de débit modeste, et la direction veut « le minimum utile » pour commencer. Propose les sources à collecter dans Wazuh, par ordre de priorité, en justifiant chaque choix et en disant ce que tu écartes pour l'instant.
Voir la réponseMasquer la réponse de l'exercice 3
| Priorité | Source | Justification |
|---|---|---|
| 1 | Agent sur le contrôleur de domaine 10.30.1.161, journal Sécurité | Il voit les authentifications des comptes de l'agence : force brute, pulvérisation, comptes verrouillés. Un contrôleur, même en lecture seule, est une cible de premier ordre |
| 2 | Agent sur le serveur de fichiers 10.30.1.162, journaux Sécurité et Système, contrôle d'intégrité en temps réel des partages | Rançongiciel (modifications en masse), services installés (7045), connexions aux partages |
| 3 | Syslog du routeur vers srv-journaux | Connexions d'administration au routeur, changements de configuration, interfaces qui tombent ; faible volume |
| 4 | Journalisation PowerShell (4104) sur les deux serveurs | Scripts malveillants, faible volume sur des serveurs |
| Plus tard | Agents sur les postes, puis Sysmon | Utile (macros, PowerShell), mais c'est le plus gros volume : à ajouter une fois le lien et le serveur dimensionnés, en commençant par les postes les plus exposés (accueil, comptabilité) |
Écarté pour l'instant : l'archivage de tous les événements, les requêtes DNS, Sysmon sur tous les postes. Points à ne pas oublier : ouvrir TCP 1514 (et 1515 le temps de l'inscription) de 10.30.1.161 et .162 vers 192.168.10.180 sur les équipements entre les sites (matrice des flux) ; l'agent garde un tampon si le lien est coupé quelques minutes ; synchroniser l'heure des machines de Marseille sur la même source que Lyon.
Tu avais trouvé ?
Cas 4 : corriger une configuration
Exercice 4 sur 5 Quatre erreurs Réussi À revoir
Voici des extraits de l'ossec.conf du serveur Wazuh qu'un stagiaire a préparé. Trouve quatre erreurs ou imprudences, explique le risque de chacune et corrige-les.
<remote>
<connection>syslog</connection>
<port>514</port>
<protocol>udp</protocol>
<allowed-ips>192.168.10.0/24</allowed-ips>
</remote>
<active-response>
<command>firewall-drop</command>
<location>all</location>
<rules_id>87702</rules_id>
</active-response>
<global>
<email_notification>yes</email_notification>
<smtp_server>smtp.office365.com</smtp_server>
<email_to>securite@sorbier.example</email_to>
</global>
<alerts>
<log_alert_level>1</log_alert_level>
<email_alert_level>5</email_alert_level>
</alerts>
Voir la réponseMasquer la réponse de l'exercice 4
allowed-ipstrop large.192.168.10.0/24contient tous les VLAN du siège, y compris le Wi-Fi des visiteurs (192.168.10.0/26) : n'importe quel invité pourrait envoyer de faux messages syslog, que Wazuh analyserait comme s'ils venaient du pare-feu (fausses alertes, ou bruit pour masquer une vraie attaque). Correction :<allowed-ips>192.168.10.190</allowed-ips>pour le pare-feu, plus le réseau de gestion des switchs (192.168.10.208/28) si besoin.- Réponse active dangereuse. Un blocage sur tous les agents, sans délai (
timeoutabsent, donc permanent), déclenché par le syslog du pare-feu, une source dont l'adresse se falsifie facilement : un attaquant peut faire bloquer définitivement le contrôleur de domaine sur toutes les machines. Correction : supprimer ce bloc ; un balayage se traite par une notification et, si besoin, une règle posée sur pfSense par un administrateur. - Courriel impossible. Wazuh ne gère pas l'authentification SMTP, que Microsoft 365 exige : aucun courriel ne partira. Correction : relais Postfix local (
<smtp_server>localhost</smtp_server>) qui transmet au service de messagerie avec la méthode qu'il accepte (authentifié pour un serveur interne, connecteur par adresse IP pour Microsoft 365), et une adresse<email_from>. - Seuils absurdes.
log_alert_levelà 1 enregistre des alertes sans intérêt de sécurité (et multiplie le stockage) ;email_alert_levelà 5 envoie un courriel pour chaque mot de passe mal tapé : des centaines par jour, que plus personne ne lira, y compris le jour de la vraie attaque. Correction : revenir à 3 et à 12, et utiliser des blocs<email_alerts>ciblés pour les quelques règles qui doivent prévenir quelqu'un en particulier.
Tu avais trouvé ?
Cas 5 : une tâche de laboratoire type E6
Exercice 5 sur 5 Surveiller un partage en 45 minutes Réussi À revoir
Situation. Sur le laboratoire, le serveur Wazuh fonctionne et srv-fichiers a un agent actif dans le groupe windows-serveurs. La responsable de la comptabilité s'inquiète des rançongiciels. On te demande, en 45 minutes :
- de surveiller en temps réel le dossier
D:\Partages\Comptadesrv-fichiers, avec l'auteur des modifications ; - de lever une alerte de niveau 12 si 30 fichiers ou plus de cette machine sont modifiés en une minute ;
- de démontrer que les deux fonctionnent, sans risque pour les données.
Décris les configurations, les commandes et la démonstration.
Voir la réponseMasquer la réponse de l'exercice 5
1. La surveillance. Dans /var/ossec/etc/shared/windows-serveurs/agent.conf, ajouter une section qui ne vise que srv-fichiers :
<agent_config name="^srv-fichiers$">
<syscheck>
<directories whodata="yes">D:\Partages\Compta</directories>
</syscheck>
</agent_config>
Vérifier avec sudo /var/ossec/bin/verify-agent-conf -f /var/ossec/etc/shared/windows-serveurs/agent.conf. L'agent reçoit la configuration en quelques minutes ; on le constate dans le tableau de bord (inventaire des fichiers surveillés de l'agent, dans File Integrity Monitoring).
2. La règle. Dans /var/ossec/etc/rules/local_rules.xml :
<group name="sorbier,syscheck,">
<rule id="100210" level="12" frequency="30" timeframe="60">
<if_matched_group>syscheck_entry_modified</if_matched_group>
<same_location />
<description>Sorbier : 30 fichiers ou plus modifiés en une minute sur une même machine (rançongiciel ?)</description>
<mitre>
<id>T1486</id>
</mitre>
</rule>
</group>
Puis sudo systemctl restart wazuh-manager et contrôle de ossec.log.
3. La démonstration, sur des fichiers de test et jamais sur de vraies données. Sur srv-fichiers, dans PowerShell :
New-Item -ItemType Directory -Path "D:\Partages\Compta\test-fim" | Out-Null
1..40 | ForEach-Object { Set-Content -Path "D:\Partages\Compta\test-fim\fichier-$_.txt" -Value "test $_" }
Start-Sleep -Seconds 30
1..40 | ForEach-Object { Add-Content -Path "D:\Partages\Compta\test-fim\fichier-$_.txt" -Value "modification" }
La première boucle crée 40 fichiers : 40 alertes 554 (fichier ajouté), avec le compte qui les a créés. La seconde les modifie en quelques secondes : 40 alertes 550 (fichier modifié), et la règle 100210 se déclenche au niveau 12, avec la carte Teams si l'intégration est en place. On montre au jury l'alerte 550 d'un fichier (chemin, syscheck.mode à whodata, syscheck.audit.user.name), puis l'alerte 100210 et sa technique T1486. On termine en supprimant le dossier de test (Remove-Item -Recurse "D:\Partages\Compta\test-fim"), ce qui produit 40 alertes 553 : le nettoyage est lui aussi tracé.
Dans la fiche de la réalisation, noter le seuil choisi et sa justification (l'activité normale du dossier), et la limite : le FIM signale, il ne protège pas ; ce sont les sauvegardes hors ligne qui permettent de récupérer les fichiers.
Tu avais trouvé ?