Ce guide te montre pas à pas comment mener les attaques dans les deux terminaux du lab, et te donne des indices à chaque blocage. Garde cette page ouverte à côté du lab (retour au lab).
1. Démarrer & se connecter
- Le lab doit tourner :
make updans un terminal de la machine. - Ouvre
http://localhost:8088/(recharge sans cache :Ctrl+Shift+R). - Connecte-toi : saisis ton nom, e-mail et groupe (pas de mot de passe — c'est juste pour enregistrer ta note, transmise au formateur).
Un bandeau affiche ta note /100 et ta progression. Le bouton Objectifs liste ce que tu dois accomplir ; Soumettre ma note envoie ton résultat.
2. Les deux terminaux
Les mêmes commandes, deux mondes. Le bouton Réseau plat / Zero-Trust en haut met en avant l'un ou l'autre.
① Réseau plat (château-fort)
Aucune sécurité, aucun mot de passe : tout réussit, les données fuient. Il montre l'ampleur des dégâts sans Zero-Trust.
② Zero-Trust (protégé)
Un garde (la passerelle PEP/PDP) vérifie identité, rôle, zone, appareil et exige la MFA. C'est ici que se fait l'exercice noté.
Comment taper : clique dans la zone noire, écris la commande, Entrée. Avant chaque action, une ligne ℹ bleue explique ce que fait la commande.
Couleurs : vert = autorisé · rouge = refusé · jaune 🔐 = MFA · violet # = indice · rose = butin volé.
3. Terminal ① Réseau plat — attaque pas à pas
Travaille dans le terminal de gauche (bordure rouge). Tape une commande à la fois, appuie sur Entrée, lis la réponse, puis passe à la suivante. Ici il n'y a aucun garde : chaque commande réussit.
👉 Tape :
mission
🖥️ Tu verras le scénario : tu es sur le même réseau que l'usine, sans aucun obstacle.
💡 Pourquoi : comprendre ton objectif avant d'agir.
👉 Tape :
scan
🖥️ Résultat : plc … ATTEIGNABLE EN DIRECT, scada … ATTEIGNABLE EN DIRECT.
💡 Pourquoi : sur un réseau plat, aucune segmentation : l'usine est à portée directe.
👉 Tape :
whoami
use tok-admin-it
🖥️ « Aucune authentification requise » / « Jeton ignoré ».
💡 Pourquoi : sans politique, l'identité ne sert à rien — n'importe qui fait n'importe quoi.
👉 Tape :
open valve
🖥️ ALLOW (aucun contrôle) — « VANNE V-101 OUVERTE, procédé impacté ».
💡 Pourquoi : l'attaquant commande directement la machine physique. C'est le pire scénario.
👉 Tape :
export recipes
🖥️ BUTIN — RECETTES DE FABRICATION VOLÉES (liste des produits).
💡 Pourquoi : espionnage industriel : la propriété intellectuelle part sans résistance.
👉 Tape :
read program
🖥️ BUTIN — PROGRAMME AUTOMATE VOLÉ (la logique de sécurité).
💡 Pourquoi : connaître le programme permet de préparer une attaque ciblée (type Stuxnet).
👉 Tape :
read sensors
stop line
🖥️ Les valeurs des capteurs, puis « LIGNE ARRÊTÉE ».
💡 Pourquoi : tu lis tout et tu peux interrompre la production. L'usine est à ta merci.
4. Terminal ② Zero-Trust — attaque pas à pas + indices
Travaille dans le terminal de droite (bordure verte). Refais la même attaque, une
commande à la fois. Tu pars d'un jeton IT volé (compte de j.durand, rôle admin_it).
À chaque refus, lis le principe violé et applique l'indice.
👉 Tape :
mission
🖥️ Tu verras ton objectif : atteindre le procédé et voir ce que tu peux exfiltrer.
💡 Pourquoi : comprendre le but avant d'agir.
👉 Tape :
whoami
🖥️ j.durand · rôle admin_it · [valide].
💡 Pourquoi : tu as un compte IT — puissant au bureau, mais pas prévu pour l'usine.
👉 Tape :
scan
🖥️ gateway … ATTEIGNABLE mais plc / scada … INJOIGNABLES.
👉 Tape :
open valve
🖥️ DENY · Moindre privilège — le rôle admin_it n'a pas ce droit.
use tok-operator-ot.👉 Tape :
use tok-operator-ot
💡 Pourquoi : principe « vérifier explicitement » — un mot de passe volé ne suffit pas.
👉 Tape :
mfa 135790
🖥️ ✓ MFA validée. Sans elle, aucune action n'est acceptée.
💡 Pourquoi : en vrai ce code change toutes les 30 s — non volable avec le simple mot de passe.
👉 Tape :
open valve
🖥️ DENY · Supposer la compromission — une commande ne peut pas venir de
la zone it.
set zone ot_supervision.👉 Tape :
set zone ot_supervision
open valve
🖥️ DENY · Vérifier explicitement — ton poste est unmanaged
(non maîtrisé).
set posture managed.👉 Tape :
set posture managed
open valve
👉 Tape :
read sensors
🖥️ BUTIN : télémétrie réelle des capteurs (LT-101, TT-102…).
Ce n'est pas une faille — c'est voulu. Le Zero-Trust n'interdit pas tout : il applique le moindre privilège. Le rôle que tu as endossé (
operator_ot, et même
admin_it) a légitimement le droit de LIRE la télémétrie de supervision
(READ_SENSORS, READ_METRICS sont dans ses droits de lecture).Le Zero-Trust ne rend donc pas le jeton volé inutile : il le confine exactement à ce que son rôle a le droit de faire. Résultat : tu obtiens de la lecture (peu sensible), mais jamais le contrôle du procédé sans réunir toutes les conditions, ni les secrets d'ingénierie (voir étape 11). C'est la différence entre « lire une mesure » et « prendre la main sur l'usine ».
👉 Tape :
export recipes
🖥️ DENY — secret industriel protégé pour TOUS les rôles.
5. Tableau des indices — quel refus, que faire
| Message de refus | Principe Zero-Trust | Que faire |
|---|---|---|
| Jeton absent/invalide | Vérifier explicitement | use tok-admin-it |
| Jeton expiré | Vérifier en continu | prendre un jeton non expiré |
| MFA requise | Vérifier explicitement | mfa 135790 |
| Le rôle n'a pas ce droit | Moindre privilège | use tok-operator-ot |
| Commande interdite depuis cette zone | Supposer la compromission | set zone ot_supervision |
| Posture insuffisante | Vérifier explicitement | set posture managed |
| Donnée d'ingénierie refusée à tous | Moindre privilège | impossible à distance (c'est voulu) |
6. Aide-mémoire des commandes
| Commande | Effet |
|---|---|
help · mission · tokens | aide, scénario, badges volés |
whoami · scan | identité du jeton · sonde réseau |
use <jeton> | endosser un badge (admin-it, operator-ot, maintenance, expire) |
mfa <code> | valider l'authentification forte (démo : 135790) |
set zone <zone> | it · dmz · ot_supervision · ot_terrain |
set posture <p> | managed · unmanaged |
read metrics|sensors|state|program | tenter une lecture |
export recipes · read topology | tenter une exfiltration |
open/close valve · stop/start line | agir sur le procédé |
set setpoint <C> | changer la consigne de chauffe |
status · clear · reset | session · nettoyer · recommencer |
history | rappeler les commandes déjà tapées |
nmap · ping · curl | outils réseau : montrent la segmentation (OT filtré en Zero-Trust, ouvert en réseau plat) |
ls · pwd · cat <fichier> · id · uname · netstat | commandes système du poste compromis (simulées) |
nmap usine puis curl plc : tu verras la différence entre les deux mondes
(tout ouvert en réseau plat, tout filtré en Zero-Trust). Sur le schéma, survole chaque
équipement pour savoir ce que c'est et comment l'attaquer ; dans le panneau
Objectifs, survole chaque ligne pour l'explication et l'indice.7. Ce qu'il faut retenir
- Le mot de passe volé ne suffit plus : on vérifie identité + rôle + zone + posture + MFA, à chaque fois.
- Deux barrières : la segmentation réseau puis la politique du garde (défense en profondeur).
- Moindre privilège : un compte n'a que ses droits stricts ; un compte IT ne commande pas l'usine.
- Supposer la compromission : « être à l'intérieur » ne donne aucune confiance.
- Traçabilité : chaque décision est journalisée — visible sur le tableau de bord.