Complete some missing infos
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
nemunaire 2023-06-08 11:19:00 +02:00
commit aa9ca28809
2 changed files with 35 additions and 4 deletions

View file

@ -189,6 +189,9 @@ Ils ont à leur disposition la véritable topologie du réseau, ainsi qu'une adr
![Topologie du réseau qui est fournie aux étudiants pour se repérer](topology.png)
Cette étape leur permet d'apprendre à lire une topologie et à s'exercer avec les masques de sous-réseau.
Quelques étudiants oublieront notamment le masque en ajoutant l'IP à leur interface, ce qui les empêchera de contacter le serveur.
Le risque d'un tel exercice est que plusieurs étudiants prennent la même adresse et créent des conflits d'IP, ce qui rendrait l'exercice bien trop difficile.
Pour annihiler tout risque de conflit, chaque étudiant se voit confier une adresse protégée: cette adresse est inscrite dans la table ARP du serveur pour qu'elle ne puisse communiquer qu'avec son poste exclusivement.
@ -286,7 +289,7 @@ Alors que jusqu'à maintenant tous les jetons devaient être envoyés vers un se
Si jusque-là tout semblait être cohérent, cette étape qui avait pourtant l'air simple: passer du protocole HTTP au HTTPS, va révéler un problème pour le moins inattendu:
```
42sh# curl
42sh# curl https://172.23.200.1/challenge
curl: (60) SSL certificate problem: certificate is not yet valid
More details here: https://curl.haxx.se/docs/sslcerts.html
```
@ -303,6 +306,12 @@ Si l'horloge est trop éloignée, l'étudiant reçoit un message lui rappelant q
Pour passer cette étape, il est attendu de découvrir les outils de synchronisation d'horloge, en utilisant le serveur NTP de la DMZ.
Une fois l'étape validée, il est important de faire un point avec les étudiants sur les magasins de certificats.
En temps normal, sur une machine fraîchement installée, une telle requête n'aurait pas dû fonctionner car il est impossible d'obtenir un certificat TLS valide pour une IP privée.
En l'occurrence, j'avais placé dans le magasin de leur système une autorité supplémentaire, que je contrôle.
Je suis donc en mesure d'intercepter tout le trafic chiffré que leurs applications pourraient émettre.
Il s'agit d'un point de sensibilisation particulièrement important.
### Étape 8: résolution des noms de domaine
@ -335,11 +344,13 @@ Pour que tous les étudiants sans exception soient confrontés à ce problème,
Les étudiants sont donc obligés de retrouver la véritable MAC du serveur parmi toutes les MAC qui répondent aux requêtes.
Ils découvrent à cette occasion les entrées statiques dans la table ARP.
En complément, cette étape permet d'ouvrir sur l'*ARP spoofing* et les dangers notamment des points d'accès sans fils non protégés.
### Étape 10: Traceroute
L'ultime étape nécessite de comprendre le cheminement des paquets sur le réseau.
En découvrant l'outil `tracerooute`, l'étudiant peut s'apercevoir que ses paquets sont systématiquement détruits au 4ème routeur!
En découvrant l'outil `traceroute`, l'étudiant peut s'apercevoir que ses paquets sont systématiquement détruits au 4ème routeur!
L'exercice est quelque peu cavalier, mais il revient sur la configuration du noyau.
La durée de vie des paquets IP a volontairement été fixée à 4, pour produire ce résultat.
@ -378,6 +389,11 @@ Un disque virtuel est créé au démarrage du système, un fichier est créé av
Ce bonus vise à montrer à l'étudiant averti l'usage d'outils de récupération de fichiers.
### 4. Envoyer un courriel avec la ligne de commande
Ce bonus vise à faire découvrir le format des courriels aux étudiants, pour notamment les sensibiliser au fait que l'expéditeur n'est qu'un en-tête et qu'il peut être falsifier très facilement.
## Variantes
Je montre ici une trame standard de l'exercice que j'ai conçu. Selon les besoins attendu il est possible de dévier de ce scénario.
@ -396,7 +412,7 @@ D'autre part ils sont reconnaissants de l'originalité du format, qui les stimul
Un tel format de cours prend tout de même un temps conséquent à préparer.
Initialement j'y ai passé près de 165heures réparties entre:
- 40heures de reflexions initiales sur les objectifs et le scénario,
- 40heures de réflexions initiales sur les objectifs et le scénario,
- 20heures pour réaliser quelques preuves de concepts sur les zones d'ombre à éclairer,
- 100heures de conception du serveur et des différents mécanismes,
- 5heures de tests sur place pour s'assurer de la compatibilité de l'ensemble du scénario.