# Fiches TP

Regroupe les différentes fiches et ressources TP.

# Réseau

# Fiche TP - PacketTracer - Révisions 1

### <span style="text-decoration: underline; color: rgb(52,73,94);">**I. Introduction**</span>

Cette fiche de TP vise à mettre en pratique les notions de bases du réseau sur cisco packet tracer.

Ce TP récapitulera les notions vues en première année, telles que :

- La création d'un premier réseau.
- La création des VLAN, access et Trunk.
- Le routage statique
- Le NAT / PAT
- Le DHCP
- La configuration des connexions à distance et la sécuritation des accès
- Les ACL

L'ensemble des systèmes et protocoles de redondance seront vu dans un second temps ( routage dynamique, rstp, agrégation de ports, topologie meshée)

<p class="callout danger">**Prérequis** : Pour commencer ce TP, il faut télécharger et installer Cisco Packet Tracer et disposer d'un compte netacad.</p>

<p class="callout success">**Conseil** : Au besoin, une version complétée du TP est disponible ci-joint.  
</p>

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**II. Réseau simple**</span>

#### <span style="color: rgb(35,111,161);">**2.1 Paramétrage de base**</span>

Le premier objectif est de créer un réseau simple avec 2 ou 3 Postes reliés par un switch et paramétrer basiquement le switch

Premier réseau : VLAN 11 - 192.168.1.0/24

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/79Timage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/79Timage-png.png)

Paramétrer 3 PC en ip fixe, puis relier un switch et effectuer le paramétrage de base de celui-ci :

<details id="bkmrk-param%C3%A9trage-switch-%23"><summary>Paramétrage ST1-SW01</summary>

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration ( fonctionne aussi avec 'conf t')
configure terminal

# Paramétrer le hostname, le domaine, la timezone et l'heure.
hostname ST1-SW01
ip domain-name lab.local
clock timezone CET 1

# Sortir du mode configuration
exit
clock set hh:mm:ss mois jour année


# Sauvegarder la configuration
copy running-config startup-config

```

</details>#### <span style="color: rgb(35,111,161);">**2.2 Ajout de routeur**</span>

L'objectif suivant est d'ajouter un second réseau et de les router afin que ceux-ci communiquent.

Second réseau : VLAN 12 - 192.168.2.0/24

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/si2image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/si2image-png.png)

Paramétrer un second switch comme pour le premier.

Ajouter un routeur avec le modèle '<span style="color: rgb(132,63,161);">***PT-Router***</span>'.

Puis paramétrer le routeur.

<details id="bkmrk-param%C3%A9trage-routeur-"><summary>Paramétrage ST1-RT01</summary>

```powershell
# Passer en mode privilèges
enable
# Passer en mode configuration ( fonctionne aussi avec 'conf t')
configure terminal

# Paramétrer le hostname, le domaine, la timezone et l'heure.
hostname ST1-RT01
ip domain-name lab.local
clock timezone CET 1
exit
clock set hh:mm:ss mois jour année

conf t

#Configurer les interface réseaux et adresses IP
interface GigabitEthernet 1/0
ip address 192.168.1.254 255.255.255.0
no shutdown
exit

interface GigabitEthernet 2/0
ip address 192.168.2.254 255.255.255.0
no shutdown
exit

# Sortir du mode configuration
exit

# Sauvegarder la configuration
copy running-config startup-config

```

</details>Les postes des deux réseaux sont désormais capable de se joindre.

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**III. Réseau avancé**</span>

#### <span style="color: rgb(35,111,161);">**3.1 Ajout de vlan + trunk**</span>

Nous allons ensuite créer un second site, avec un réseau administrateur et un réseau serveur.

Mais nous n'allons y mettre qu'un seul routeur avec 2 interface et un seul switch pour économiser sur le matériel.

<details id="bkmrk-rappel-%3A-d%C3%A9finition-"><summary>RAPPEL : Définition du VLAN</summary>

Un **<span style="color: rgb(132,63,161);">*VLAN*</span> (Virtual Local Area Network)** est un *<span style="color: rgb(132,63,161);">**domaine de broadcast logique**</span>* créé au sein d’un réseau local, permettant de segmenter un même switch physique en plusieurs réseaux virtuels indépendants. Cette segmentation se fait à la <span style="color: rgb(132,63,161);">***couche 2***</span> du modèle OSI (couche Liaison de données).

Cela permet notamment d'améliorer la sécurité en séparant les réseaux et d'en optimiser le fonctionnement en réduisant les domaines de collision.

Lorsque des VLANs doivent traverser un lien entre switches (trunk), on utilise le <span style="color: rgb(132,63,161);">***VLAN tagging***</span>, défini par la norme <span style="color: rgb(132,63,161);">***IEEE 802.1Q***</span>.

Le switch ajoute dans la trame Ethernet un champ de 4 octets contenant :

- **Tag Protocol Identifier (TPID)** : identifie qu’il s’agit d’une trame VLAN
- **Tag Control Information (TCI)**, qui inclut :

- **VLAN ID (12 bits)** → identifie le VLAN (0–4095, dont 1–4094 utilisables)
- **Priority Code Point (PCP)** → priorité (QoS)
- **DEI** → indication de congestion

Ce tag permet aux équipements réseau de savoir à quel VLAN appartient la trame lorsqu’elle circule sur un lien partagé.

</details>Réseau 1 : VLAN17 - 172.17.0.0/24

Réseau 2 : VLAN 16 - 172.16.0.0/24

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/4obimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/4obimage-png.png)

<details id="bkmrk-param%C3%A9trage-switch-%23-1"><summary>Paramétrage SIT2-SW01</summary>

```powershell
# Entrer en mode privilège
enable

# Entre en mode configuration
conf t

# Créer les VLAN
vlan 16
name server
exit

vlan 17
name admin
exit

# Attribuer les port dans les vlan
interface FastEthernet 0/1
switchport mode access
switchport access vlan 17
exit

interface range FastEthernet 0/2 - 4
switchport mode access
switchport access vlan 16
exit

# Créer le trunk
interface GigabitEthernet 0/1
switchport mode trunk
switchport trunk allowed vlan 16,17
switchport trunk native vlan 1
exit

# Sortir du mode configuration
exit

# Sauvegarder la conf
copy running-config startup-config

```

</details><details id="bkmrk-param%C3%A9trage-routeur--1"><summary>paramétrage SIT2-RT01</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Activer l'interface
interface GigabitEthernet 1/0
no shut
exit

# Créer les sous-interfaces VLAN virtuelles et les binder sur l'interface physique
interface GigabitEthernet 1/0.1
encapsulation dot1Q 16
ip address 172.16.0.254 255.255.255.0
no shut
exit

interface GigabitEthernet 1/0.2
encapsulation dot1Q 17
ip address 172.17.0.254 255.255.255.0
no shut
exit

# sortir du mode configuration
exit

# Sauvegarder la conf
copy running-config stratup-config

```

</details>#### <span style="color: rgb(35,111,161);">**3.2 Interconnexion et tables de routage**</span>

Nous allons maintenant créer un réseau d'interconnexion et écrire les tables de routage.

Ajouter un 'PT switch' qui servira de liaison interco. Pas besoin de configuration, il ne servira que pour les liaisons physiques.

Il faut ajouter un routeur qui fera office de 'box internet' sur ce réseau.

Réseau interco : VLAN 100 - 10.10.10.0/24

On part sur les adresses suivantes :

- SIT1-RT1 : 10.10.10.1
- SIT2-RT1 : 10.10.10.2
- BOX : 10.10.10.3

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/h0kimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/h0kimage-png.png)

<details id="bkmrk-param%C3%A9trage-sit1---r"><summary>Paramétrage ST1-RT01 (à gauche)</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Paramétrage interface interco
interface GigabitEthernet 0/0
ip address 10.10.10.1 255.255.255.0
no shut
exit

# Remplir la table de routage
ip route 172.16.0.0 255.255.255.0 10.10.10.2
ip route 172.17.0.0 255.255.255.0 10.10.10.2
ip route 0.0.0.0 0.0.0.0 10.10.10.3
exit

# Sauvegarder la conf
copy running-config startup-config

```

</details><details id="bkmrk-param%C3%A9trage-sit2-rt1"><summary>Paramétrage ST2-RT02 (à droite)</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Paramétrage interface interco
interface GigabitEthernet 0/0
ip address 10.10.10.2 255.255.255.0
no shut
exit

# Remplir la table de routage
ip route 192.168.1.0 255.255.255.0 10.10.10.1
ip route 192.168.2.0 255.255.255.0 10.10.10.1
ip route 0.0.0.0 0.0.0.0 10.10.10.3
exit

# Sauvegarder la conf
copy running-config startup-config

```

</details><details id="bkmrk-param%C3%A9trage-%22box%22-%23-"><summary>Paramétrage "box"</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Paramétrage interface interco
interface GigabitEthernet 0/0
ip address 10.10.10.3 255.255.255.0
no shut
exit

interface GigabitEthernet 0/1
ip address 8.8.8.1 255.255.255.0
no shut
exit

# Remplir la table de routage
ip route 192.168.1.0 255.255.255.0 10.10.10.1
ip route 192.168.2.0 255.255.255.0 10.10.10.1
ip route 172.16.0.0 255.255.255.0 10.10.10.2
ip route 172.17.0.0 255.255.255.0 10.10.10.2
exit

# Sauvegarder la conf
copy running-config startup-config

```

</details>---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**IV. Liaison "internet"**</span>

#### <span style="color: rgb(35,111,161);">**4.1 NAT / PAT**</span>

Pour émuler une connexion internet, nous allons ajouter un serveur à l'extérieur sur la patte du routeur 'box'.

Réseau "internet" : 8.8.8.0/24

serveur "google" : 8.8.8.8

<details id="bkmrk-rappel-%3A-d%C3%A9finition--1"><summary>RAPPEL : Définition du NAT / PAT</summary>

Le **<span style="color: rgb(132,63,161);">*NAT* </span>(Network Address Translation)** est un mécanisme permettant de <span style="color: rgb(132,63,161);">***traduire des adresses IP privées en adresses IP publiques***</span> (et inversement) lors du passage d’un routeur. Il agit principalement à la **<span style="color: rgb(132,63,161);">*couche 3*</span>** du modèle OSI (couche Réseau).

Cela permet d'économiser les adresses IP publiques, masquer la topologie interne du réseau (masquerading) et faciliter la modification ultérieure des plans d'adressages internes.

Il y a 3 types de NAT :

- NAT statique : 1 ip privée = 1 ip publique (NAT 1:1)
- NAT dynamique : un pool d'adresses publiques est attribué dynamiquement
- <span style="color: rgb(132,63,161);">***PAT*** </span>**(Port Address Translation)** : plusieurs ip privées = 1 ip publique sur des ports de sortie différents (sockets)

Le <span style="color: rgb(132,63,161);">***PAT***</span>, parfois appelé **NAT surcharge (overload)**, est une extension du NAT permettant à plusieurs hôtes privés de partager une seule adresse IP publique.

Le routeur translate non seulement l'ip privée en IP publique, mais également le port source.

Ainsi chaque flux sortant est identifié par in socket (couple ip/port) qui permet de maintenir une table de correspondance interne.

Le PAT à 3 avantages :

- Economie d'adresses publiques encore plus importante
- Fonctionne peut importe le nombre d'hôtes sortants
- Transparent pour les utilisateurs

</details>[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7kvimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7kvimage-png.png)

<details id="bkmrk-routeur-%22box%22-param%C3%A9"><summary>routeur "box" paramétrage NAT</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Définir les interfaces internes et externes

interface GigabitEthernet 0/0
ip nat inside
exit

interface GigabitEthernet 1/0
ip nat outside
exit

# Créer le pool d'adresses (ici une seule car PAT et pas NAT)
ip nat pool OUTips 8.8.8.1 8.8.8.1 netmask 255.255.255.0

# Créer les ACL
access-list 10 permit 172.16.0.0 0.0.0.255
access-list 10 permit 172.17.0.0 0.0.0.255
access-list 10 permit 192.168.1.0 0.0.0.255
access-list 10 permit 192.168.2.0 0.0.0.255

# Appliquer le PAT (ajout de overload pour passer en PAT et pas en NAT)
ip nat inside source list 10 pool OUTips overload

# Sortir de la conf
exit

# Sauvegarder la conf
copy running-config startup-config

```

</details>Le réseau est désormais pleinement fonctionnel.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ZCEimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ZCEimage-png.png)

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**V. DHCP interne**</span>

#### <span style="color: rgb(35,111,161);">**5.1 Réseaux utilisateurs (sur le routeur)**</span>

Sur cette étape, le but est d'utiliser le routeur comme serveur DHCP pour les deux réseaux utilisateurs.

<details id="bkmrk-routeur-sit2-rt1-%23-e"><summary>Routeur SIT1-RT01</summary>

```powershell
# Entrer en mode privilèle
enable

# Entrer en mode configuration
conf t

# Définir les pools dhcp
ip dhcp pool CLI1
network 192.168.1.0 255.255.255.0
default-router 192.168.1.254
dns-server 172.16.0.2
domain-name lab.local
exit

ip dhcp pool CLI2
network 192.168.2.0 255.255.255.0
default-router 192.168.2.254
dns-server 172.16.0.2
domain-name lab.local
exit

# Définir les plages d'exclusions
ip dhcp excluded-address 192.168.1.21 192.168.1.254
ip dhcp excluded-address 192.168.2.21 192.168.2.254

# Sortir du mode config
exit

# sauvegarder la conf
copy running-config startup-config

```

</details>#### <span style="color: rgb(35,111,161);">**5.2 Réseau admin (via relai)**</span>

Sur cette étape, le but est de paramétrer le relai DHCP sur le routeur SIT1-RT1 pour que le routeur relaye les demandes au DHCP tier.

On part du principe que le serveur DHCP est installé dans le réseau ***<span style="color: rgb(132,63,161);">172.16.0.0/24</span>*** et à l'adresse <span style="color: rgb(132,63,161);">***172.16.0.1***</span>.

<details id="bkmrk-routeur-sit1-rt1-%23-e"><summary>Routeur SIT2-RT01</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Activer le relai DHCP
interface GigabitEthernet 1/0.2
ip helper-address 172.16.0.1
exit

# Sortir du mode config
exit

# sauvegarder les modifs
copy running-config startup-config

```

</details>---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**VI. Activation du SSH + Sécurisation**</span>

#### <span style="color: rgb(35,111,161);">**6.1 Activation SSH**</span>

Nous allons activer le SSH sur les équipements afin de pouvoir en centraliser l'administration.

<p class="callout danger">**Prérequis** : les paramètres suivant doivent avoir été initialisés : hostname, domaine, adresse IP.</p>

<p class="callout info">**Info** : Voici une liste des privilèges.</p>

Par défaut, il existe trois niveaux de commande sur le routeur :

- privilege level 0 : inclut les commandes disable, **enable**, **exit**, **help** et **logout**
- privilege level 1 : inclut toutes les commandes de niveau *utilisateur* à l'invite `router>`.
- privilege level 15 : inclut toutes les commandes *enable*-level à l'invite `router>`

Les manipulations doivent être effectuées sur toutes les équipements à manager.

<details id="bkmrk-activation-ssh-%23-ent"><summary>Activation SSH</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# créer l'utilisateur SSH
username admin privilege 15 password <motdepasse>

# Générer les clé
crypto key generate rsa general-keys modulus 512

# Configurer la ligne SSH
line vty 0 15
login local
transport input ssh
ip ssh version 2
end

# Ecrire la configuration de la ligne
write

# Chiffrer les mots de passe
service password-encryption

# Sortir du mode config
exit

# Enregistrer la conf
copy running-config startup-config

```

</details>Il est également possible d'ajouter une bannière à la connexion :

<details id="bkmrk-ajout-de-banni%C3%A8re-in"><summary>Ajout de bannière</summary>

<p class="callout info">**Info** : Il existe 4 types de bannières : **MODT** (message apparaissant avant la connexion pour indiquer une maintenance ou autre...), **Login** (apparaissant à la connexion), **Exec** (message apparaissant après la connexion).</p>

Ici, il s'agit d'ajouter une Login banner qui sera affichée au moment de la connexion SSH.

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Mettre en place la banière (les # font partie de la commande)
banner login #
Vous vous connectez sur un équipement de la companie lab.local
Toutes les tentatives de connexions sont enregistrées et tracées.
Si vous accédez à cet equipement par erreur, merci de vous déconnecter.
#

# Sortir du mode configuration
exit

# Enregistrer la configuration
copy runnin-config startup-config

```

</details>#### <span style="color: rgb(35,111,161);">**6.2 Protection par adresses MAC**</span>

Nous allons maintenant activer la protection sur les adresses MAC pour éviter qu'un PC tente de prendre la place du pc d'administration.

Cette manipulation se fait sur le switch sur lequel le poste admin est connecté.

<details id="bkmrk-configuration-sur-sw"><summary>configuration sur SIT2-SW01</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Entrer en mode de configuration sur l'interface sur laquelle le PC admin est branché
interface FastEthernet 0/1

# Activer la protection MAC
switchport port-security

# Deux possibilités : apprendre les adresses une par une manuellement
# switchport port-security mac-address <MACduPC>
# ou lancer une phase d'apprentissage
switchport port-security mac-address sticky

```

Le port rentre en mode apprentissage, la prochaine MAC qui se connectera sera mémorisée et fixée dans la table ARP du port.

Pour lister les MAC sur un port : `show mac-address-table`

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/lFDimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/lFDimage-png.png)

Une fois la MAC apprise, choisir l'action à appliquer :

- **shutdown** : éteinds le port (nécessite une action manuelle pour le restart)
- **protect** : ignore le trafic provenant de la MAC non autorisée mais laisse le port allumé
- **restrict** : idem que protect, mais logue les évènement, incrémente le compteur de violation et peut envoyer une trap snmp.

Pour cela, re-entrer dans la configuration de l'interface et ajouter :

```powershell
# Verouiller l'apprentissage et appliquer les actions de sécu
switchport port-security violation shutdown
exit

# quitter le mode config.
exit

# Enregistrer la conf
copy running-config startup-config

```

A posteriori, il sera possible de vérifier les statuts et les compteurs de violations avec

```
show port-security interface FastEthernet 0/1
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/t0Kimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/t0Kimage-png.png)

Pour augmenter le nombre d'adresses mémorisées par port, entrer en mode configuration de l'interface puis :

```
switchport port-security maximum <nbAdresseMax>
```

</details>#### <span style="color: rgb(35,111,161);">**6.3 Activer l'authentification sur le port console**</span>

Si l'on tente une connexion en port console aux équipements :

Choisir un câble '<span style="color: rgb(132,63,161);">***console***</span>', se connecter sur le port '<span style="color: rgb(132,63,161);">***RS 232***</span>' du PC admin, puis sur le mort console du switch '<span style="color: rgb(132,63,161);">***SIT2-SW01***</span>'.

<table id="bkmrk--38" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td class="align-center" style="border-style: hidden;">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/f31image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/f31image-png.png)</td><td style="border-style: hidden;">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/JbHimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/JbHimage-png.png)

</td></tr></tbody></table>

Lancer une connexion en mode console depuis le PC portable admin.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/meHimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/meHimage-png.png)

La connexion ne demande pas de mot de passe.

<details id="bkmrk-activer-l%27authentifi"><summary>Activer l'authentification sur le port console</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Créer un utilisateur
user admin privilege 15 secret <MotDePasse>

# Configurer l'authentification sur la console
line console 0
login local
end

# Sortir du mode configuration
exit

# Sauvegarder la conf.
copy running-config startup-config

```

</details>#### <span style="color: rgb(35,111,161);">**6.4 Activer le mot de passe 'enable'**</span>

Pour plus de sécurité, il est également possible d'ajouter un mot de passe enable.

<details id="bkmrk-ajout-de-mot-de-pass"><summary>Ajout de mot de passe enable et configure.</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Activer le secret Enable
enable secret <MotDePasse>

# Quitter le mode configuration
exit

# Sauvegarder la conf.
copy running-config startup-config

```

</details>---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**VII. Mise en place des ACL**</span>

#### <span style="color: rgb(35,111,161);">**7.1 Restreindre la connexion SSH au PC admin**</span>

Pour des raisons de sécurité, il faut interdire l'accès au port SSH aux réseaux non autorisés afin que seul le réseau admin puisse y accéder.

<details id="bkmrk-cr%C3%A9ation-acl-ssh-%23-e"><summary>Création ACL SSH</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Créer les ACL
ip access-list extended SSH
permit tcp 172.17.0.0 0.0.0.255 any eq 22
deny tcp any any eq 22
exit

# Ajout des acl dans la conf SSH
line vty 0 15
access-class SSH in
exit

# Quitter le mode configuration
exit

# Enregistrer la conf.
copy running-config startup-config

```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/T9Dimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/T9Dimage-png.png)

</details>#### <span style="color: rgb(35,111,161);">**7.2 Interdire l'accès au réseau admin depuis les autres réseaux.**</span>

Il est également nécessaire de protéger le réseaux admin d'éventuels mouvements latéraux.

<details id="bkmrk-cr%C3%A9ation-d%27acl-%22pare"><summary>Création d'ACL "pare-feu"</summary>

```powershell
# Entrer en mode privilège
enable

# Entrer en mode configuration
conf t

# Créer les ACL
ip access-list extended ADMIN
permit ip 172.17.0.0 0.0.0.255 any
deny ip any 172.17.0.0 0.0.0.255
permit any any
exit

# Appliquer les ACL
interface GigabitEthernet 1/0
ip access-group ADMIN in
exit

# Sortir du mode configuration
exit

# Sauvegarder la conf.
copy running-config stratup-config

```

</details>

# Fiche TP - PacketTracer - Révisions 2

<p class="callout danger">***<span style="color: rgb(52,73,94);">DISCLAIMER : Cette page est actuellement en cours de rédaction et son contenu peut être incomplet ou inexact</span>***</p>

### <span style="text-decoration: underline; color: rgb(52,73,94);">**I. Introduction**</span>

Cette fiche de TP vise à mettre en pratique les notions de bases du réseau sur cisco packet tracer.

Ce TP récapitulera les notions vues en première année, telles que :

- Protocoles redondance de lien ( LAGG, LACP )
- Protocole de routage dynamique ( RIP, OSPF )
- Protocole de redondance de routage ( VRRP )
- Protocole de topologie ( RSTP )

<p class="callout danger">**Prérequis** : Pour commencer ce TP, il faut télécharger et installer Cisco Packet Tracer et disposer d'un compte netacad.</p>

<p class="callout info">**Info** : Ce TP fait suite à : [**Fiche TP - CiscoPacketTracer - Révisions 1**](https://docs.labs404.fr/books/fiches-tp/page/fiche-tp-packettracer-revisions-1 "Fiche TP - CiscoPacketTracer - Révisions 1")</p>

<p class="callout success">**Conseil** : Au besoin, une version complétée du TP est disponible ci-joint.  
</p>

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**II. Protocoles de redondance de lien**</span>

#### <span style="color: rgb(35,111,161);">**2.1 Paramétrage du LACP ( switches )**</span>

<p class="callout info">**Info** : Plus d'information sur la redondance de lien : **[Réseau - L'agrégation de liens (LAGG)](https://docs.labs404.fr/books/cours-theoriques/page/reseau-lagregation-de-liens-lagg "Réseau - L'agrégation de liens (LAGG)")**</p>

Le premier objectif sera d'ajouter un switch central côtés VLAN utilisateurs afin de pouvoir ajouter de nouveaux VLANs ou bâtiments dans le futur. Puis de configurer du LACP entre les switch upstream et downstream afin de créer de la redondance de lien.

<p class="callout warning">**Attention** : pour éviter les erreurs et les boucles réseaux, il faut connecter les liens à la fin (après que les configurations soient faites).</p>

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/UA5image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/UA5image-png.png)

Il va falloir :

1. Ajouter les cartes réseaux nécessaires sur les différents équipements.
2. Déclarer les VLAN sur les différents switches
3. Attribuer les ports aux VLAN
4. Configurer les LAGG
5. Configurer le LAGG / Trunk sur le ST1-SW03
6. Configurer les LAGG / Trunk sur le routeur

Les différents mode de LAGG sont les suivants :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/nL2image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/nL2image-png.png)

Les différents protocoles sur les switches sont :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/GJYimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/GJYimage-png.png)

<details id="bkmrk-param%C3%A9trage-switch-%23"><summary>Paramétrage ST1-SW01</summary>

<p class="callout info">**Info** : Pas d'interfaces à ajouter.</p>

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration ( fonctionne aussi avec 'conf t')
configure terminal

# Configurer le VLAN 11
vlan 11
name VLAN11-USR

# Sortir de la config du VLAN
exit

# Attribuer les ports du siwtch au vlan
int range fa 0/1 - 24
sw mode access
sw access vlan 11
exit

# Monter le LAGG
int range gi 0/1-2
channel-group 1 mode active
channel-protocol lacp
exit

# Paramétrer le vlan sur le LAGG
int port-channel 1
sw mode access
sw access vlan 11
exit

# Sortir du mode config
exit

# Sauvegarder la configuration
copy running-config startup-config

```

</details><details id="bkmrk-param%C3%A9trage-st1-sw02"><summary>Paramétrage ST1-SW02</summary>

<p class="callout info">**Info** : Pas d'interfaces à ajouter.</p>

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration ( fonctionne aussi avec 'conf t')
configure terminal

# Configurer le VLAN 12
vlan 12
name VLAN12-USR

# Sortir de la config du VLAN
exit

# Attribuer les ports du siwtch au vlan
int range fa 0/1 - 24
sw mode access
sw access vlan 12
exit

# Monter le LAGG
int range gi 0/1-2
channel-group 2 mode active
channel-protocol lacp
exit

# Paramétrer le vlan sur le LAGG
int port-channel 2
sw mode access
sw access vlan 12
exit

# Sortir du mode config
exit

# Sauvegarder la configuration
copy running-config startup-config

```

</details><details id="bkmrk-param%C3%A9trage-st1-sw03"><summary>Paramétrage ST1-SW03</summary>

Créer un PT-Switch et ajouter 6 interfaces CGE.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/nanimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/nanimage-png.png)

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration ( fonctionne aussi avec 'conf t')
conf t

# Faire la configuration de base
hosname ST1-SW03
ip domain-name lab.local
clock timezone CET 1
exit
clock set hh:mm:ss mois jour année

# Revenir en mode config
conf t

# Configurer les vlan
vlan 11
name VLAN11-USR
vlan 12
name VLAN12-USR
exit

# Monter les LAGG
int range gi 0/1, gi 1/1
channel-group 1 mode active
channel-protocol lacp

int range gi 2/1, gi 3/1
channel-group 2 mode active
channel-protocol lacp

exit

# Paramétrer les vlan sur les LAGG
int port-channel 1
sw mode access
sw access vlan 11

int port-channel 2
sw mode access
sw access vlan 12

int gi 4/1
sw mode access
sw access vlan 11

int gi 5/1
sw mode access
sw access vlan 12

exit

# Sortir du mode config
exit

# Sauvegarder la configuration
copy running-config startup-config

```

</details>Pour vérifier l'état des différent lagg

```
show etherchannel summary
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/eZHimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/eZHimage-png.png)

A ce stade, toutes les adresses peuvent être PING et le fait de couper un lien ne coupe pas le réseau.

Cependant, lors de la reconnexion, quelques paquets sont perdus le temps que le LACP recalcule. Cela ne s'observe pas avec autant de latence dans la vie réelle.

#### <span style="color: rgb(35,111,161);">**2.2 Paramétrage du LACP ( routeur )**</span>

Pour le routeur, cela va se compliquer.

En effet, les routeurs ne travaillent que sur la L3 et le LACP est un protocole L2.

Les deux problématiques (routages / LACP) deviennent donc inconciliables.

C'est notamment pour répondre à ces problématiques qu'il va faloir introduire un nouvel équipement : Le switch L3.

Il s'agit de switches manageables, capables de gérer à la fois la couche L2 et la couche L3. Ce switch viendra alors remplacer à la fois le ST1-SW03 et le ST1-RT01 et agira donc en qualité de switch/routeur.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/rLFimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/rLFimage-png.png)

*Modèle 3650-24PS*

Voici la nouvelle topologie :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Mnpimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Mnpimage-png.png)

Il faut enfin configurer le switch L3.

<details id="bkmrk-param%C3%A9trage-st1-rt01"><summary>Paramétrage ST1-RT01</summary>

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration ( fonctionne aussi avec 'conf t')
conf t

# Faire la configuration de base
hosname ST1-RT01
ip domain-name lab.local
clock timezone CET 1
exit
clock set hh:mm:ss mois jour année

# Revenir en mode config
conf t

# Configurer les vlan
vlan 11
name VLAN11-USR

vlan 12
name VLAN12-USR

exit

# créer les LACP
int range gi 1/0/1-2
channel-group 1 mode active
channel-protocol lacp

int range gi 1/0/3-4
channel-group 2 mode active
channel-protocol lacp

exit

# Configurer les interfaces (L2)
int port-channel 1
sw mode access
sw access vlan 11

int port-channel 2
sw mode access
sw access vlan 12

int gi 1/0/24
sw mode access
sw access vlan 1

exit

# Configurer les interfaces (L3)
int vlan 11
ip addr 192.168.1.254 255.255.255.0

int vlan 12
ip addr 192.168.2.254 255.255.255.0

exit

# Paramétrage interface interco
interface vlan 1
ip address 10.10.10.1 255.255.255.0
no shut
exit

# Activer la fonction routage
ip routing

# Refaire les tables de routages
ip route 172.16.0.0 255.255.255.0 10.10.10.2
ip route 172.17.0.0 255.255.255.0 10.10.10.2
ip route 0.0.0.0 0.0.0.0 10.10.10.3
exit

# Refaire les pools dhcp
ip dhcp pool CLI1
network 192.168.1.0 255.255.255.0
default-router 192.168.1.254
dns-server 172.16.0.2
domain-name lab.local
exit

ip dhcp pool CLI2
network 192.168.2.0 255.255.255.0
default-router 192.168.2.254
dns-server 172.16.0.2
domain-name lab.local
exit

# Refaire les plages d'exclusions
ip dhcp excluded-address 192.168.1.21 192.168.1.254
ip dhcp excluded-address 192.168.2.21 192.168.2.254

# Sortir du mode config
exit

# Sauvegarder la configuration
copy running-config startup-config
```

</details>Les liens entre les switches terrain et le central L3 sont désormais redondés.

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**III. Passage en routage dynamique**</span>

#### <span style="color: rgb(35,111,161);">**3.1 RIP (Legacy)**</span>

<p class="callout info">**Info** : Plus d'informations sur le RIP : **[Réseau - Protocole RIP](https://docs.labs404.fr/books/cours-theoriques/page/reseau-protocole-rip "Réseau - Protocole RIP")**</p>

##### <span style="color: rgb(53,152,219);">***3.1.1 Configuration***</span>

Il est possible sur les routeurs d'activer des protocole de routage dynamique.

Ils vont ainsi s'échanger leur réseaux connus afin d'apprendre eux-même leurs table de routage.

Il va pour cela falloir configurer les trois routeurs.

<details id="bkmrk-param%C3%A9trage-st1-rt01-1"><summary>Paramétrage ST1-RT01</summary>

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration ( fonctionne aussi avec 'conf t')
conf t

# Supprimer les routes internes et ne garder que la default en statique
no ip route 172.16.0.0 255.255.255.0 10.10.10.2
no ip route 172.17.0.0 255.255.255.0 10.10.10.2

# Activer le RIP
router rip
version 2
no auto-summary
network 192.168.1.0
network 192.168.2.0
network 10.10.10.0

# N'écouter que sur les interfaces nécessaires
passive-interface default
no passive interface vlan 1

exit

# Sortir du mode config
exit

# Sauvegarder la configuration
copy running-config startup-config
```

</details><details id="bkmrk-param%C3%A9trage-st2-rt01"><summary>Paramétrage ST2-RT01</summary>

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration ( fonctionne aussi avec 'conf t')
conf t

# Supprimer les routes internes et ne garder que la default en statique
no ip route 192.168.1.0 255.255.255.0 10.10.10.1
no ip route 192.168.2.0 255.255.255.0 10.10.10.1

# Activer le RIP
router rip
version 2
no auto-summary
network 172.16.0.0
network 172.17.0.0
network 10.10.10.0

# N'écouter que sur les interfaces nécessaires
passive-interface default
no passive interface gi 0/0

exit

# Sortir du mode config
exit

# Sauvegarder la configuration
copy running-config startup-config
```

</details><details id="bkmrk-param%C3%A9trage-box-%23-pa"><summary>Paramétrage Box</summary>

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration ( fonctionne aussi avec 'conf t')
conf t

# Supprimer les routes internes et ne garder que la default en statique
no ip route 192.168.1.0 255.255.255.0 10.10.10.1
no ip route 192.168.2.0 255.255.255.0 10.10.10.1
no ip route 172.16.0.0 255.255.255.0 10.10.10.2
no ip route 172.17.0.0 255.255.255.0 10.10.10.2

# Activer le RIP
router rip
version 2
no auto-summary
network 10.10.10.0

# N'écouter que sur les interfaces nécessaires
passive-interface default
no passive interface gi 0/0

exit

# Sortir du mode config
exit

# Sauvegarder la configuration
copy running-config startup-config
```

</details>##### <span style="color: rgb(53,152,219);">***3.1.2 Commandes utiles***</span>

Voici les commandes utiles pour le RIP :

- Vérifier les synchro en temps réel

```powershell
# activer le debug
debug ip rip

# désactiver le debug
undebug all
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7Hoimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7Hoimage-png.png)

- Vérifier le contenu des tables de routage RIP

```
show ip route rip
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ffximage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ffximage-png.png)

- Vérifier les partenaires de synchro

```
show ip rip database
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/fwsimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/fwsimage-png.png)

- Vérifier le status du RIP

```
show ip protocols
```

##### <span style="color: rgb(53,152,219);">***3.1.3 Propager la route par défaut***</span>

Il est également possible de propager la route par défaut à l'ensemble des routeurs.

Retirer des routeurs **ST1-RT01** et **ST2-RT01** la route par défaut avec

```
no route 0.0.0.0 0.0.0.0 10.10.10.3
```

Puis sauvegarder les configurations.

<details id="bkmrk-param%C3%A9trage-box-%23-en"><summary>Paramétrage BOX</summary>

```powershell
# Entrer en mode privilèges
enable

# Entrer en mode configuration
conf t

# Configurer la propagation de la route par défaut
router rip
default-information originate
exit

# Sortir du mode config
exit

# Enregirstrer les modifications
copy running-config startup-config

```

</details>##### <span style="color: rgb(53,152,219);">***3.1.4 Authentification RIP***</span>

<p class="callout danger">**Attention** : Cisco packet tracer ne prends pas en charge l'authentification RIP. Seuls les firmwares IOS le prennent en charge.</p>

Pour plus de sécurité, il est préférable d'authentifier les flux RIP.

Les routeurs seront ainsi en mesure de se reconnaitre et rejeter les modification effectuées par un routeur non authentifié.

Pour cela, il faut utiliser une clé et les routeurs doivent utiliser :

- Le même nom de clé
- le même numéro de clé
- le même contenu de clé

Voici les configuration à effectuer sur chaque routeur :

<details id="bkmrk-param%C3%A9trage-des-rout"><summary>Paramétrage des routeurs</summary>

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration ( fonctionne aussi avec 'conf t')
conf t

# Déclarer la clé
key chain RIP-KEYS
key 1
key-string <LaCléIci>
exit
exit

# Configurer l'authentification sur l'interface
interface vlan 1
ip rip authentication mode md5
ip rip authentication key-chain RIP-KEYS

# Sortir du mode config
exit

# Sauvegarder la configuration
copy running-config startup-config
```

</details>#### <span style="color: rgb(35,111,161);">**3.2 OSPF**</span>

**<span style="background-color: rgb(230, 126, 35);">&lt;todo&gt;</span>**

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**IV. RSTP**</span>

<p class="callout info">**Info** : Par défaut, il n'est pas possible de créer des boucles réseaux, cela entrainerait des tempêtes de broadcast. Le protocole STP/RSTP, permet de répondre à cette problématique. Plus d'informations : </p>

<p class="callout success">**Conseil** : Il est préférable, pour éviter les tempêtes de broadcast, de ne brancher les câbles de fermeture de la boucles qu'une fois le paramétrage des ports terminés.</p>

#### <span style="color: rgb(35,111,161);">**4.1 RSTP ( boucle )**</span>

Ajouter tout d'abord 4 switch-PT-Empty. Puis changer les interfaces CFE par des interfaces CGE.

Relier les 3 premiers switches. Pour plus de facilité, l'on peut partir de l'interface 0/1 de chaque switch pour arriver sur l'interface 1/1 du suivant.

Ajouter 2 PC qui vont être branchés sur les switchs opposés pour tester les ruptures de liens (sur les ports 3/1, car c'est là que viendrons se brancher les routeurs par la suite).

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/9cqimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/9cqimage-png.png)

Configurer les switches :

<details id="bkmrk-param%C3%A9trage-4-switch"><summary>Paramétrage 4 switches interco</summary>

```powershell
# Entrer en mode privilèges
enable

# Entrer en mode configuration
conf t

# Faire la configuration de base
hosname INT-SW01
ip domain-name lab.local
clock timezone CET 1
exit
clock set hh:mm:ss mois jour année

# Revenir en mode config
conf t

# Configurer les vlan
vlan 100
name interco
exit

# Activer le rstp
spanning-tree mode rapid-pvst

# Passer le switch en master ( !!!!! que pour le sw01 !!!!! )
spanning-tree vlan 100 priority 4096

# Configurer les ports de liaisons avec les autres switches
int range gi 0/1, gi 1/1, gi 2/1
sw mode trunk
sw trunk allowed vlan 100
spanning-tree link-type point-to-point
no shut
exit

# Configurer le port 3/1 qui recevra le routeur
int gi 3/1
sw mod access
sw access vlan 100
spanning-tree portfast
# Protéger le port des packets BPDU
spanning-tree bpduguard enable
exit

# Sortir du mode configuration et sauvegarder la configuration
exit
copy run start

```

</details>Fermer la boucle.

Si tout c'est bien passé, le réseau ne déclenche pas de tempête de broadcast (voyants clignotants frénétiquement) et ne désactive pas les ports.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/BfMimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/BfMimage-png.png)

Les deux pc sont joignables et ce, même si l'on coupe un lien.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/pi3image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/pi3image-png.png)

Si il s'agissait du chemin utilisé, le poste loupe un ping, le temps que la cicatrisation réseau se fasse.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/hkPimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/hkPimage-png.png)

#### <span style="color: rgb(35,111,161);">**4.2 RSTP ( mesh )**</span>

Les ports 2/1 ayant déjà été configurés à l'étape précédente, ils participent déjà la la topologie. Il ne reste qu'a les brancher.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/dRqimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/dRqimage-png.png)

Il est possible de vérifier le status du RSTP et des interfaces avec :

```
show spanning-tree active
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7O2image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7O2image-png.png)

```
show spanning-tree detail
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/UMMimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/UMMimage-png.png)

Ainsi que plusieurs commandes supplémentaires.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7Gnimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7Gnimage-png.png)

#### <span style="color: rgb(35,111,161);">**4.3 Raccordement**</span>

Maintenant que tout est configuré, il est possible de raccorder l'interco meshée au reste de l'infra en remplacement du switch de base.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/QIlimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/QIlimage-png.png)

Comme visible sur ce schéma, le port qui relie le switch L3 s'est désactivé instantanément. En effet le BPDU guard a fait son travail.

Le switch L3 tel que configuré permet bien de faire le routage, mais le port qui le relie est en mode switch. Il est donc capable d'envoyer et d'interpréter les trames BPDU. Ce qui a activé la sécurité sur le switch int-sw02.

Pour remédier à ce problème, il faut tout d'abord reconfigurer le ST1-RT01 correctement.

<details id="bkmrk-param%C3%A9trage-st1-rt01-2"><summary>Paramétrage ST1-RT01</summary>

```powershell
# Passer en mode privilège
enable

# Passer en mode configuration
conf t

# Désactiver les interfaces de vlan.
vlan 1
no ip addr
exit

# Confugrer l'interface 1/0/24 en interface de routeur et non en port de switch.
int gi 1/0/24
no switchport
ip addr 10.10.10.1 255.255.255.0
exit

# Sortir du mode config et sauvegarder le fichier
exit
copy run start

```

</details>Puis vérifier le status sur le switch int-sw02 et résactiver le port.

```
show interfaces status
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/zVdimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/zVdimage-png.png)

Le port gi 3/1 est bien en mode "<span style="color: rgb(132,63,161);">***err-disabled***</span>"

Pour le réactiver, se mettre sur l'interface et la réinitialiser avec un '<span style="color: rgb(132,63,161);">***shut / no shut***</span>'.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Xprimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Xprimage-png.png)

# Sécurité

# Fiche TP - Kali 01 - intrusion système

### <span style="text-decoration: underline;">**<span style="color: rgb(52,73,94); text-decoration: underline;">I. Introduction</span>**</span>

<p class="callout danger">**Disclaimer** : Merci de lire les notes suivantes avant d'aller plus loin dans ces TP.</p>

- Il est essentiel d'avoir pris connaissance et signé le contrat remis par le moniteur chargé des cours en cybersécurité.
- Ces TP ont pour vocations à être utilisés dans les environnement de tests prévus à cet effet.
- Pour rappel, toute utilisation des compétences évoqués plus bas à des fins malveillantes sont sévèrement punies par la loi.

#### <span style="color: rgb(35,111,161);">***1.1 Contexte***</span>

<table id="bkmrk-%C2%A0-%C2%A0-%C2%A0-la-soci%C3%A9t%C3%A9-ban" style="border-collapse: collapse; width: 100%; height: 192.391px;"><colgroup><col style="width: 27.0238%;"></col><col style="width: 72.9762%;"></col></colgroup><tbody><tr style="height: 192.391px;"><td style="border-style: none; height: 192.391px;">[![logo.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/logo-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/logo-png.png)

</td><td style="border-style: none; height: 192.391px;">La société bancaire VulnBank à vu les données de ses clients exposées à la suite d'une fuite de donnée.

Elle vous a missionné pour reproduire l'attaque afin d'en comprendre le déroulé et d'en tirer une série de correction amenant à ce qu'elle ne se reproduise pas.

</td></tr></tbody></table>

#### ***<span style="color: rgb(35,111,161);">1.2 Objectifs</span>***

<table id="bkmrk-d%C3%A9roul%C3%A9-d%27une-attaqu" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td class="align-center" style="border-style: hidden;">Déroulé d'une attaque :</td><td class="align-center" style="border-style: hidden;">Processus de défense ( PICERL )</td></tr><tr><td class="align-center" style="border-style: hidden;"><div drawio-diagram="346"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1772114945-png.png" alt="drawing-1-1772114945.png"/></div>

</td><td class="align-center" style="border-style: hidden;"><div drawio-diagram="347"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1772115528-png.png" alt="drawing-1-1772115528.png"/></div>

</td></tr></tbody></table>

L'objectif de la team <span style="color: rgb(186,55,42);">***RED***</span> va être ici de dérouler le processus de l'attaque sur un serveur linux contenant un accès SSH remote, un site en http et une base de donnée. Le but final est d'organiser une fuite de donnée.

L'objectif de la team <span style="color: rgb(35,111,161);">***BLUE***</span> est habituellement de défendre son serveur, en anticipant les vecteurs d'attaques, en analysant le déroulé de l'attaque de la <span style="color: rgb(186,55,42);">***RED*** </span>team et en essayant de trouver à posteriori des mesures pour contrer ce type d'attaque.

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**II. Préparation du TP**</span>

<table id="bkmrk-red-blue-installer-u" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td class="align-center" style="height: 29.7969px;"><span style="color: rgb(186,55,42);">***RED***</span></td><td class="align-center" style="height: 29.7969px;"><span style="color: rgb(35,111,161);">***BLUE***</span></td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">- Installer une machine Kali standard

</td><td style="height: 29.7969px;">- Installer un serveur Debian et le préparer avec le script fourni.

</td></tr></tbody></table>

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**III. Phase 1 : Reconnaissance**</span>

<details id="bkmrk-pour-la-red-team-l%27%C3%A9"><summary>Pour la RED team</summary>

<span style="text-decoration: underline;">**Objectif**</span><span style="text-decoration: underline;"> :</span> Identifier les surfaces d'attaques

L'équipe <span style="color: rgb(186,55,42);">***RED***</span> va tout d'abord scanner le réseau afin de déterminer quelles sont les machines de l'équipe <span style="color: rgb(35,111,161);">***BLUE***</span>.

Pour cela, il faudra utiliser l'outil nmap :

```bash
nmap -sn <cidrDuRéseau>
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/auiimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/auiimage-png.png)

Pourra s'ensuivre une phase de découverte des ports ouverts sur cette machine afin de déterminer les angles d'attaques possibles.

```
nmap -sV -A <ipdelacible>
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/kNeimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/kNeimage-png.png)

Ici, deux vecteurs immédiats possibles :

- le SSH : 22
- le HTTP : 80

Il est possible de compléter l’analyse avec un scan web. Récupérer le fichier dictionnaire dans le fichier joint.

```
gobuster dir -u http://<ipduserveur>/ -w ./weblist.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/aUmimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/aUmimage-png.png)

Énumérer également les fichiers dans les répertoires intéressants comme db par exemple

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Y7eimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Y7eimage-png.png)

<span style="text-decoration: underline;">**Livrables attendus** :</span>

- Carte des services explosés
- Cartographie du site web
- Vulnérabilités potentielles

</details><details id="bkmrk-pour-la-blue-team-%C2%A0"><summary>Pour la BLUE team</summary>

<span style="text-decoration: underline;">**Objectif :**</span> Détecter la reconnaissance

De son côté, l'équipe <span style="color: rgb(35,111,161);">***BLUE*** </span>va analyser le trafic avec wireshark. Vérifier si elle vois les traces des scans de ports.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/f0Yimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/f0Yimage-png.png)

Logs du serveur apache sur le scan :

```
tail -f /var/log/apache2/access.log
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/aSPimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/aSPimage-png.png)

Puis lors du scan web, examiner le fichier de log apache :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/5G2image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/5G2image-png.png)

L'idée pour l'équipe <span style="color: rgb(35,111,161);">***BLUE***</span> est d'arriver sur les pistes de réflexions suivantes :

- Comment contrer la reconnaissance réseau ?
- Comment contrer les scans de ports ?

*Mise en place d'un pare-feu en amont, mise en place du masquerading pour rendre plus difficile la récolte d'information.*

*Changer les ports d'écoute par défaut de tous les services pouvant l'être.*

*Mise en place d'un IDS/IPS pour repérer et bloquer les tentatives de scan.*

*Mise en place d'un centralisateur de logs et d'un SIEM ( **S**ecurity **I**nformation and **E**vent **M**anagement ).*

<span style="text-decoration: underline;">**Livrables attendus:**</span>

- Tableau des événements suspects
- Hypothèses d'intention de l'attaquant

</details>---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**IV. Phase 2 : Préparation**</span>

<details id="bkmrk-pour-la-red-team-l%27%C3%A9-1"><summary>Pour la RED team</summary>

<span style="text-decoration: underline;">**Objectif :**</span> Préparer les outils nécessaire à l'attaque

L'équipe <span style="color: rgb(186,55,42);">***RED***</span> va ensuite préparer son attaque par dictionnaire, pour cela il va falloir en créer un ou en copier des existants.

Récupérer les dictionnaires fournis en pièces jointes pour l'accès initial.

<table style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td class="align-center" style="border-style: none;">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/G8gimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/G8gimage-png.png)

</td><td class="align-center" style="border-style: none;">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/TFMimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/TFMimage-png.png)

</td></tr></tbody></table>

Le but étant ultimement d'exploiter des codes de cartes bleues à 4 chiffres, il sera nécessaires également de préparer un dictionnaire contenant tous les codes possibles.

Pour le générer, utiliser crunch :

```
crunch 4 4 0123456789 -o pin.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/EEEimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/EEEimage-png.png)

<p class="callout info">**Info** : Si une partie du mot de passe est connue, (par exemple och\*\*\*\*\*), ajouter -t och@@@ pour générer un dictionnaire plus précis et réduire les possibilités.</p>

</details><details id="bkmrk-pour-la-blue-team-de"><summary>Pour la BLUE team</summary>

<span style="text-decoration: underline;">**Objectif :**</span> Identifier les faiblesses structurelles

De son côté, l'équipe <span style="color: rgb(35,111,161);">***BLUE***</span> va réfléchir à comment sécuriser ses accès.

L'idée pour l'équipe <span style="color: rgb(35,111,161);">***BLUE***</span> est d'arriver sur les pistes de réflexions suivantes :

- Comment choisir et protéger ses mots de passes ?
- Quels éléments vérifier lors de la mise en oeuvre du service ?

*Utiliser des mots de passes complexes, hors dictionnaire, les changer régulièrement, utiliser des canaux sécurisés pour leur transmission.*

*Utiliser un Générateur de mots de passe et un vault.*

*Vérifier les permissions, les comptes de services, analyses des mots de passe faibles.*

*Analyse des fichiers de configurations (*<span style="color: rgb(132,63,161);">**/etc/ssh/sshd\_config**</span>*)*

</details>---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**V. Phase 3 : Intrusion**</span>

<details id="bkmrk-pour-la-red-team-l%27%C3%A9-2"><summary>Pour la RED team</summary>

<span style="text-decoration: underline;">**Objectif :**</span> Obtenir un accès initial

L'équipe <span style="color: rgb(186,55,42);">***RED***</span> va lancer son attaque sur le service SSH de la machine à l'aide des dictionnaires fournis.

```
medusa -U logins.txt -P passwords.txt -h <ipduhost> -M ssh
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/64eimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/64eimage-png.png)

Une fois le compte et le mot de passe identifié, il suffira d'ouvrir une session SSH avec :

```
ssh admin@<ipduserver>
```

Accepter la clé et entrer le mot de passe trouvé.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/I20image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/I20image-png.png)

Puis identifier les services qui se trouvent sur la machine :

```
service --status-all
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/H9Nimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/H9Nimage-png.png)

<span style="text-decoration: underline;">**Livrables attendus :**</span>

- Preuves d'accès (captures d'écran du shell).
- Commandes utilisées, dictionnaires utilisés.

</details><details id="bkmrk-pour-la-blue-team-de-1"><summary>Pour la BLUE team</summary>

<span style="text-decoration: underline;">**Objectif :**</span> Identifier l'intrusion

De son côté, l'équipe <span style="color: rgb(35,111,161);">***BLUE*** </span>va analyser les tentatives de connexions :

```
tail -f /var/log/auth.log | grep -E 'Failed|Accepted'
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/vu4image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/vu4image-png.png)

L'idée pour l'équipe <span style="color: rgb(35,111,161);">***BLUE***</span> est d'arriver sur les pistes de réflexions suivantes :

- Comment protéger son acces SSH contre la bruteforce ?

*Utiliser des mots de passes complexes, hors dictionnaire, les changer régulièrement, utiliser des canaux sécurisés pour leur transmission.*

*Mettre en places des mécanismes permettant de limiter le nombre de tentatives, mettre en place du blocage et du bannissement d'IP, interdire la connexion directe de comptes à privilèges.*

*Ultimement, utiliser une authentification par clé et non par mot de passe.*

*Mettre en place les logs et les audits de connexions pour pouvoir réagir rapidement en cas d'attaque.*

<span style="text-decoration: underline;">**Livrables attendus :**</span>

- Chronologie de l'intrusion
- Preuves logiques (extraits de logs)

</details>---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**VI. Phase 4 : Mouvement latéral**</span>

Le serveur est ici accessible en local et héberge lui-même tous les rôles. Pas de mouvement latéral requis.

Cependant, l'équipe <span style="color: rgb(35,111,161);">***BLUE***</span> peut néanmoins fournir une analyse quand à comment limiter les mouvement latéraux.

*Segmentation réseau : Mise en place de VLAN, routeurs et de pare-feu intermédiaire.*

*Comptes à privilèges minimaux*

*Durcissement SSH.*

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**VII. Phase 5 : Escalade de privilèges**</span>

<details id="bkmrk-pour-la-red-team-l%27%C3%A9-3"><summary>Pour la RED team</summary>

<span style="text-decoration: underline;">**Objectif :**</span> Devenir root.

L'équipe <span style="color: rgb(186,55,42);">***RED***</span> va chercher un moyen d'élever ses privilèges.

Cela commence par identifier les comptes à privilèges :

```
cat /etc/group | grep sudo
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/zPgimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/zPgimage-png.png)

Ici, deux comptes repérés : ste4d- et admin.

Le compte connecté est donc lui-même dans les sudoers.

Si l'on fait :

```
sudo -s
```

l'on peut basculer en super admin.

<p class="callout info">**Info** : Il aurait également été possible pour cette étape, d'injecter un exploit ou d'utiliser un compte de service mal paramétré par exemple.</p>

<span style="text-decoration: underline;">**Livrables attendus :**</span>

- Preuve de l'escalade
- Méthode utilisée (détaillée).

</details><details id="bkmrk-pour-la-blue-team-de-2"><summary>Pour la BLUE team</summary>

<span style="text-decoration: underline;">**Objectif :**</span> Comprendre comment l'élévation à été possible.

De son côté, l'équipe <span style="color: rgb(35,111,161);">***BLUE*** </span>va :

Analyser les permissions

Vérifier les SUID

Vérifier les journaux sudo.

```
tail -f /var/log/auth.log | grep sudo
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/NmIimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/NmIimage-png.png)

L'idée pour l'équipe <span style="color: rgb(35,111,161);">***BLUE***</span> est d'arriver sur les pistes de réflexions suivantes :

- Comment repérer une intrusion réussie ?
- Comment éviter une escalade de privilège ?

*Utiliser des mots de passes complexes, hors dictionnaire, les changer régulièrement, utiliser des canaux sécurisés pour leur transmission.*

*Mettre en place des mesures pour journaliser les connexions.*

*Séparer les comptes à privilèges des comptes d'utilisations courants.*

<p class="callout info">**Info** : ici, l'utilisation n'a pas nécessité la mise en place d'un exploit, mais cela peut être le cas. Le seul moyen de s'en prémunir efficacement reste l'installations d'EDR sur les machines.  
</p>

<span style="text-decoration: underline;">**Livrables attendus :**</span>

- Chronologie de l'intrusion
- Preuves logiques (extraits de logs)

</details>---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**VIII. Phase 6 : Persistance**</span>

La phase de persistance ne sera pas développée dans ce TP, mais dans les suivants.

Néanmoins, plusieurs méthodes :

- Ajout d'une clé SSH
- Ajout d'un utilisateur caché
- Ajout d'un CRON malveillant + exploit

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**IX. Phase 7 : Actions sur objectifs**</span>

<details id="bkmrk-pour-la-red-team-l%27%C3%A9-4"><summary>Pour la RED team</summary>

<span style="text-decoration: underline;">**Objectif :**</span> Exfiltrer les données.

L'équipe <span style="color: rgb(186,55,42);">***RED***</span> va chercher un moyen d'accéder à la donnée.

Il va donc falloir gagner un accès à la base. Cela peut se faire via des exploit webs, mais la solution ici sera plus simple.

En effet, le site à besoin de se connecter aux bases de données afin de procéder à l'authentification et à l'affichage du tableau de bord.

De plus, l'audit du site web a mise en évidence ce fichier.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/fJFimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/fJFimage-png.png)

Il y a effectivement un fichier <span style="color: rgb(132,63,161);">***config.php***</span> dans <span style="color: rgb(132,63,161);">***/var/www/vulnbank/db***</span>.

Essayons de l'afficher.

```
cat /var/www/vulnbank/db/config.php
```

Celui-ci à en effet été mal protégé.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/8WKimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/8WKimage-png.png)

Tentons une connexion à la base de donnée.

```
mysql -u vulnbank -p
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/4Wwimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/4Wwimage-png.png)

Il faut maintenant en comprendre la structure et essayer de retrouver les données qui nous intéressent. Cela se fera par des bases des Requêtes SQL.

```
SHOW TABLES FROM bank;
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/mbZimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/mbZimage-png.png)

Pour avoir toutes les informations, il va falloir croiser les informations présentes dans les tables.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wmfimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wmfimage-png.png)

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wo9image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wo9image-png.png)

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/g7Aimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/g7Aimage-png.png)

Maintenant que nous savons comment sont structurées les données, il faut lancer une requête qui va les agréger.

```
SELECT cu.first_name, cu.last_name, ca.number, ci.expirationdate, ci.cryptograme, ci.pin
FROM bank.customers cu
LEFT JOIN bank.cards ca
ON ca.customer_id = cu.id
LEFT JOIN bank.cardsinfo ci
ON ci.card_id = ca.id;
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/IeUimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/IeUimage-png.png)

Il ne reste plus qu'a déchiffrer les codes PIN. Ceux-ci sont visiblement hashés.

Pour plus de facilité, les réunir dans un fichier texte.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/EGfimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/EGfimage-png.png)

Il faut donc déjà identifier le type de hash :

```
hash-identifier 101951fe7ebe7bd8c77d14f75746b4bc
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Cceimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Cceimage-png.png)

Le plus probable est du 'MD5', il est maintenant possible de cracker les hashs :

```
hashcat -m 0 hashs.txt pin.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/WnCimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/WnCimage-png.png)

A la fin du process, les hashs qui ont été déchiffrés s'affichent.

Il est également possible de les ré afficher avec :

```
hashcat -m 0 hashs.txt pin.txt --show
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/4S3image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/4S3image-png.png)

<p class="callout info">**Info** : Plutôt que de traiter les informations sur place, il est plus intéressant de les exfiltrer pour les travailler de son côté.</p>

Faire un dump de la base :

```
mysqldump -u vulnbank -p bank > mondump.sql
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/U6Eimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/U6Eimage-png.png)

Malgré le message d'erreur, le fichier à bien été dumpé.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/9CKimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/9CKimage-png.png)

Il faut le récupérer, par exemple avec une connexion sftp.

```
sftp admin@<ipserveur>
get <chemin/vers/fichier/distant> <chemin/vers/fichier/local>
exit
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/fRKimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/fRKimage-png.png)

<span style="text-decoration: underline;">**Livrables attendus :**</span>

- Preuves de l'exfiltration
- Méthode utilisée

</details><details id="bkmrk-pour-la-blue-team-de-3"><summary>Pour la BLUE team</summary>

<span style="text-decoration: underline;">**Objectif :**</span> Détecter la fuite.

De son côté, il est temps pour l'équipe <span style="color: rgb(35,111,161);">***BLUE*** </span>de tirer les leçons de l'incident.

Analyser les différents logs applicatifs et reconstruire le déroulé de la fuite.

L'idée pour l'équipe <span style="color: rgb(35,111,161);">***BLUE***</span> est d'arriver sur les pistes de réflexions suivantes :

- Comment les attaquants ont-ils procédé ?
- Quel a été l'impact ?
- Comment sécuriser l'accès a ses données ?
- (Si déjà abordé) Faire une analyse EBIOS.

<span style="text-decoration: underline;">**Livrables attendus :**</span>

- Rapport d'incident.
- Mesures correctives.

</details>---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**Conclusion**</span>

A la fin de cet exercice, les deux équipes ont pu mieux cerner les implications en terme de sécurité de la bonne configuration ou non des services sur ces systèmes d'informations.

Les failles exploitées ici sont avant tout des failles d'origine humaines.

- Utilisations de mots de passes faibles.
- Mauvaises configuration des permissions.
- Non respect des bonnes pratiques.

# Fiche TP - Hash, chiffrement, utilisation et limitations.

Cette fiche TP Vise à accompagner le cour sur le hachage et le chiffrement. Le contenu sera déroulé en parallèle du cour pour illustrer le propos.

<p class="callout danger">**Prérequis :** Les TP ci-dessous seront réalisés sur openSSL.</p>

Installation sur debian : `apt install openssl`

Installation sur windows : `winget install openssl`

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**TP1 - Hashage**</span>

#### **<span style="color: rgb(35,111,161);">Objectif :</span>**

- Comprendre le fonctionnement des fonctions de hachage.
- Voir les différences entre les algorithmes.
- Observer un effet "avalanche"

#### **<span style="color: rgb(35,111,161);">Exercice 1 : Génération des empreintes et tests de hash</span>**

Créer un fichier texte qui contiendra un message simple :

```
echo "Bonjour les BTS SIO/CIEL !" > message.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ERiimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ERiimage-png.png)

Calculer un premier hash :

```
openssl dgst -sha1 message.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/PwOimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/PwOimage-png.png)

copier / coller le fichier en message1.txt et calculer également son hash.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Shtimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Shtimage-png.png)

<p class="callout info">**info** : On constate bien que si même donnée d'entrée, même donnée de sortie.</p>

Tester ensuite avec des algorithmes plus complexe ayant une clé suppérieure.

```
openssl dgst -sha256 message.txt
openssl dgst -sha512 message.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/yMvimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/yMvimage-png.png)

<p class="callout info">**Info** : On constate bien la différence de complexité d'un algo à l'autre.</p>

Tester maintenant l'effet "Boule de neige".

Modifier un caractère dans le fichier, en changeant par exemple le '!' en '?'. Recalculer le hash.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/MQwimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/MQwimage-png.png)

<p class="callout info">**Info** : On constate bien que toute modification, aussi infime soit-elle, entraîne une modification conséquente du hash.</p>

#### **<span style="color: rgb(35,111,161);">Exercice 2 : Limitation du hash sur les mots de passe faibles.</span>**

Chiffrer un mot de passe avec un algorithme volontairement vulnérable dans un fichier texte :

```
echo -n "azerty" | md5sum
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ev8image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ev8image-png.png)

Copier la chaîne de caractères sans le ' -' dans un fichier texte appelé par exemple 'password.txt'

Installer '<span style="color: rgb(132,63,161);">***hashcat***</span>'.

Récupérer ou éditer un dictionnaire simple ( il y en a un fourni en pièce jointe de cette page).

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/nmIimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/nmIimage-png.png)

Pour casser le hash, il suffit d'exécuter la commande suivante :

```
hashcat -m 0 password.txt dictionnaire.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/aC4image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/aC4image-png.png)

<p class="callout info">**Info** : On voit ici que le mot de passe a été correctement deviné et que cela à pris moins d'une seconde.</p>

Nous pouvons en conclure que l'utilisation de mots de passe simple et d'algorithmes obsolètes est à proscrire.

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**TP2 - Chiffrement symétrique**</span>

#### **<span style="color: rgb(35,111,161);">Objectif :</span>**

- Comprendre AES et les modes de chiffrement.
- Manipuler une clé symétrique.
- Observer les différences entre ECB et CBC.

#### **<span style="color: rgb(35,111,161);">Exercice 1 : chiffrer et déchiffrer un fichier</span>**

<p class="callout success">**Conseil** : Proposer aux étudiants de chiffrer un message, puis d'échanger leurs messages et se donner la clé sur un support à part ou à l'oral.</p>

Chiffrer le fichier 'message.txt'. Il va demander un mot de passe qui fera office de clé de chiffrement.

```
openssl enc -aes-256-cbc -salt -in message.txt -out message.enc
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/F2Vimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/F2Vimage-png.png)

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/KBsimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/KBsimage-png.png)

Déchiffrer le message :

```
openssl enc -aes-256-cbc -d -salt -in message.enc -out message.dec
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/5Wnimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/5Wnimage-png.png)

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/016image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/016image-png.png)

#### **<span style="color: rgb(35,111,161);">Exercice 2 : ECB vs CBC</span>**

Selon les cas, certaines méthodes de chiffrements sont plus efficaces que d'autres.

Récupérer l'image fournie dans le TP ou la télécharger. Puis créer deux version chiffrées de cette image.

```
openssl enc -aes-256-ecb -in Tux-PNG-Pic.png -out image1.enc
openssl enc -aes-256-cbc -in Tux-PNG-Pic.png -out image2.enc
```

Le résultat est qu'il est facile avec le SCB, d'isoler des paterns avec un editeur hexadécimal ou avec un visualiseur d'images chiffrées.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/YiQimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/YiQimage-png.png)

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ZGyimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ZGyimage-png.png)

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**TP3 - Chiffrement asymétrique**</span>

#### **<span style="color: rgb(35,111,161);">Objectif :</span>**

- Générer une paire de clés RSA.
- Chiffrer/déchiffrer.
- Signer/vérifier.

<p class="callout success">**Conseil** : Proposer aux étudiants d'échanger les clés publiques avec un binôme, puis de se faire passer un message chiffré.</p>

#### **<span style="color: rgb(35,111,161);">Exercice 1 : Générer un couple de clé privée/publique</span>**

Générer le couple de clé avec les commandes suivantes :

```
openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key
```

Échanger les clé ou procéder soi-même au chiffrement / déchiffrement.

Chiffrer le message avec la clé publique :

```
openssl pkeyutl -encrypt -inkey public.key -pubin -in message.txt -out message.enc
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/tnximage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/tnximage-png.png)

Déchiffrer ou faire déchiffrer par son binôme avec la clé privée :

```
openssl pkeyutl -decrypt -inkey private.key -in message.enc -out message_decrypt.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/gMUimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/gMUimage-png.png)

#### **<span style="color: rgb(35,111,161);">Exercice 2 : Signature numérique de document</span>**

Signer un document avec la clé privée :

```
openssl dgst -sha256 -sign private.key -out signature.bin message.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/UvBimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/UvBimage-png.png)

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/r2Ximage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/r2Ximage-png.png)

La signature (.bin) et le message (.txt) sont transmis au binôme ou vérifié par soi-même avec la clé publique.

```
openssl dgst -sha256 -verify public.key -signature signature.bin message.txt
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7oGimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/7oGimage-png.png)

<p class="callout info">**Info** : Le message 'verified OK' signifie que l'identité de l'émeteur du fichier est vérifié. Mais également que le message en question n'a pas été altéré.</p>

En effet, faire une modification sur le message.txt et relancer la commande :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/g5Simage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/g5Simage-png.png)