Complete some missing infos
continuous-integration/drone/push Build is passing Details

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

View File

@ -188,6 +188,9 @@ They have the actual network topology at their disposal, as well as an IP addres
![Network topology provided for students to find their way around](topology.png)
This step enables them to learn how to read a topology and practice with subnet masks.
Some students will forget the mask when adding the IP to their interface, preventing them from contacting the server.
The risk of such an exercise is that several students will take the same address and create IP conflicts, which would make the exercise far too difficult.
To eliminate any risk of conflict, each student is given a protected address: this address is registered in the server's ARP table so that it can only communicate with its own workstation.
@ -285,7 +288,7 @@ Whereas up to now all tokens had to be sent to a web server over an unencrypted
So far, everything has seemed coherent, but this seemingly straightforward step - switching from HTTP to HTTPS - will reveal an unexpected problem, to say the least:
```
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
```
@ -302,6 +305,12 @@ If the clock is too far off, the student receives a message reminding him that r
To get past this stage, students are expected to discover clock synchronization tools, using the DMZ's NTP server.
Once this stage has been validated, it's important to review the certificate stores with the students.
Under normal circumstances, on a freshly installed machine, such a request should not have worked, as it is impossible to obtain a valid TLS certificate for a private IP.
In this case, I had placed an additional authority in their system store, which I control.
So I'm able to intercept any encrypted traffic their applications might emit.
This is a particularly important point of awareness.
### Step 8: Domain name resolution
@ -334,6 +343,7 @@ To ensure that all students without exception are confronted with this problem,
The students are thus forced to find the server's true MAC among all the MACs responding to requests.
They also discover the static entries in the ARP table.
This step also opens the door to *ARP spoofing* and the dangers of unprotected wireless access points.
### Step 10: Traceroute
@ -377,6 +387,11 @@ A virtual disk is created at system start-up, a file is created with a unique to
This bonus is designed to show the experienced student how to use file recovery tools.
### 4. Send an e-mail with the command line
The aim of this bonus is to introduce students to the format of e-mails, making them aware that the sender is just a header and can be easily falsified.
## Variants
I'm showing here a standard framework for the exercise I've designed. Depending on expected needs, it is possible to deviate from this scenario.

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.