🛡️ Cybersécurité & Infrastructure
Role-Play Game — VPS → DNS → WordPress → Hack → Defend
30
Jalons Pratiques
3h
Durée Session
5
CTF Flags
17
Étudiants
Phase 0 — Accueil & Setup
Préparation de l’environnement
Préparation 15 min
| # | Jalon | Durée | Point Cybersécurité |
|---|---|---|---|
| 0A | Ouverture écran partagé + read.ai + Google Meet | 2 min | |
| 0B | Étudiants envoient leur email à oliv.ai@dmslog.io | 2 min | |
| 0C | Vérifier Cursor installé + extension Remote SSH | 2 min | |
| 0D | Connecter GitHub dans Cursor + rejoindre l’orga | 2 min | |
| 0E | Cloner le repo shared-knowledge | 2 min | |
| 0F | Tester la connexion SSH vers le VPS | 1 min | |
| 0G | Configurer les clés API + comprendre le .env | 2 min | Le .env est le coffre-fort — JAMAIS commité |
| 0H | Démo live Claude sur l’ordi d’Olivier | 1 min | Clé API fuitée = facture impayée |
| 0I | Claude prend des notes pour chaque étudiant | 1 min | IA comme outil de documentation temps réel |
Phase 1 — Infrastructure Serveur
VPS + DNS + SSL
VPS + DNS + SSL 40 min
| # | Jalon | Durée | Point Cybersécurité |
|---|---|---|---|
| 1 | Créer un compte OVH & commander un VPS | 5 min | Mot de passe root envoyé par email en clair |
| 2 | Première connexion SSH au serveur | 5 min | Connexion root par mot de passe = brute-force possible |
| 3 | Créer un utilisateur non-root + clé SSH | 5 min | Désactiver PermitRootLogin |
| 4 | Configurer le firewall UFW | 5 min | Sans firewall, TOUS les ports ouverts |
| 5 | Acheter/pointer un nom de domaine | 5 min | DNS hijacking = contrôle du site |
| 6 | Attendre propagation DNS + tester | 5 min | MITM possible pendant la propagation |
| 7 | Installer Plesk sur le VPS | 5 min | curl | sh en root = supply chain risk |
| 8 | Configurer domaine + SSL Let’s Encrypt | 5 min | Sans HTTPS, mots de passe en clair |
Phase 2 — WordPress & Base de Données
MySQL + WP + Sécurisation
MySQL + WP + Sécurisation 40 min
| # | Jalon | Durée | Point Cybersécurité |
|---|---|---|---|
| 9 | Créer une base de données MySQL dans Plesk | 5 min | JAMAIS utiliser root pour l’application |
| 10 | Installer WordPress via Plesk | 5 min | wp-config.php contient les credentials DB en clair |
| 11 | Sécuriser wp-config.php (permissions + salt keys) | 5 min | wp-config lisible = accès DB complet |
| 12 | Sécuriser l’admin WordPress (URL, 2FA, limiter) | 5 min | /wp-admin = cible #1 des bots |
| 13 | Installer thème + plugins (Wordfence, UpdraftPlus) | 5 min | Chaque plugin = vecteur d’attaque |
| 14 | Scanner vulnérabilités avec WPScan | 5 min | Les attaquants utilisent les mêmes outils |
| 15 | Explorer phpMyAdmin / la DB | 5 min | Mots de passe hashés, mais emails en clair |
| 16 | Créer un backup complet (DB + fichiers) | 5 min | Backup non-chiffré = données sensibles exposées |
Phase 3 — Capture The Flag
5 Flags + Attaque/Défense
5 Flags + Attaque/Défense 40 min
| # | Jalon | Durée | Point Cybersécurité |
|---|---|---|---|
| 17 | Olivier cache les 5 flags secrets sur le VPS | 5 min | Les étudiants doivent trouver les 5 flags ! |
| 18 | CTF Flag 1 — Fichier caché dans le webroot | 5 min | Fichiers cachés (.env, .htaccess) souvent oubliés |
| 19 | CTF Flag 2 — Entrée cachée dans la DB | 5 min | Backdoors injectées via SQL injection |
| 20 | CTF Flag 3 — Escalade de privilèges (root) | 5 min | Privilege escalation = technique d’attaque courante |
| 21 | CTF Flag 4 — Variable d’environnement | 5 min | Secrets dans env = lisibles par le processus |
| 22 | CTF Flag 5 — Commentaire HTML caché | 5 min | Commentaires HTML oubliés révèlent des infos |
| 23 | Démo : Brute-force SSH (Hydra) — Olivier only | 5 min | Fail2ban + clés SSH = protection |
| 24 | Installer Fail2ban + vérifier | 5 min | Fail2ban bannit les IPs après X tentatives |
CTF — Les 5 Flags
| # | Nom | Indice | Technique | Difficulté |
|---|---|---|---|---|
| 1 | Fichier caché webroot | Il se cache là où le web commence… | find / -name ".*" -type f | Facile |
| 2 | Entrée cachée dans la DB | La base de données sait tout… | SQL SELECT query | Moyen |
| 3 | Escalade de privilèges | Seul root peut voir celui-ci… | sudo cat /root/.flag* | Difficile |
| 4 | Variable d’environnement | L’environnement parle… | env | grep FLAG | Moyen |
| 5 | Commentaire HTML | Clic droit → Code source… | curl | grep flag | Facile |
Phase 4 — Monitoring, IA & Debrief
Logs + Claude + Debrief
Logs + Claude + Debrief 30 min
| # | Jalon | Durée | Point Cybersécurité |
|---|---|---|---|
| 25 | Analyser les logs du serveur (syslog, access, auth) | 5 min | Les logs sont la première chose qu’un attaquant efface |
| 26 | Cursor + Claude pour auditer le serveur | 5 min | L’IA détecte des patterns invisibles à l’œil humain |
| 27 | Mettre à jour système + WordPress | 5 min | 60% des hacks WP = versions non mises à jour |
| 28 | Créer un script de monitoring automatique | 5 min | Cryptominer caché dans un processus inconnu |
| 29 | Checklist de sécurisation finale (8 points) | 5 min | Score objectif : 8/8 |
| 30 | Scoreboard CTF + Debrief + Commit final | 5 min | La cybersécurité est un processus continu |
Participants — 17 Étudiants
AL
Angelo La Barbera
angelo19.alb@gmail.com
angelo.albert-cyber.com
LB
Léna Biaggi
lbiaggi@albertschool.com
lena.albert-cyber.com
AN
Adam Nefzi
anefzi@albertschool.com
adam.albert-cyber.com
CM
Camille Macaluso
cmacaluso@albertschool.com
camille.albert-cyber.com
SB
Solan Barlet
sbarlet@albertschool.com
solan.albert-cyber.com
DB
Damien Balme
dbalme@albertschool.com
damien.albert-cyber.com
CM
Clément Maitre
cmaitre@albertschool.com
clement.albert-cyber.com
LM
Louis Martin
lmartin@albertschool.com
louis.albert-cyber.com
GP
Gabriel Poesy
gpoesy@albertschool.com
gabriel.albert-cyber.com
ES
Emma Sebag
esebag@albertschool.com
emma.albert-cyber.com
RR
Rodolphe Ripoll
rripoll@albertschool.com
rodolphe.albert-cyber.com
CD
Charlize Delbasse
cdelbasse@albertschool.com
charlize.albert-cyber.com
AT
Alizé Thyssens
athyssens@albertschool.com
alize.albert-cyber.com
PA
Pascal Aquilanti
paquilanti@albertschool.com
pascal.albert-cyber.com
AP
Axel Pourreau
apourreau@albertschool.com
axel.albert-cyber.com
AF
Arsène Fayard
afayard@albertschool.com
arsene.albert-cyber.com
MN
Mathieu Nativel
mnativel@albertschool.com
mathieu.albert-cyber.com
Checklist Sécurité — 8 Points
- Root SSH désactivégrep PermitRootLogin /etc/ssh/sshd_config
- Clé SSH en placels ~/.ssh/authorized_keys
- Firewall UFW actifufw status
- SSL/HTTPS actifcurl -sI https://monsite.com | head -1
- Fail2ban installésystemctl status fail2ban
- wp-config.php sécuriséstat -c « %a » wp-config.php
- Backups configurésls /var/backups/
- Mises à jour automatiquesapt list –upgradable