Man in the middle
Une attaque qui intercepte les communications
Notions théoriques
Une attaque Man in the Middle se produit quand une personne mal intentionnée s’insère entre 2 parties qui communiquent :
- 2 ordinateurs
- 1 ordinateur et 1 serveur
- 1 smartphone et un réseau social
- 1 smartphone et un service de jeux en ligne
- etc
Ces 2 parties pensent parler directement l’une à l’autre, mais en réalité, l’attaquant intercepte tout.
L’objectif d'une attaque Man in the Middle peut être :
- d'écouter les échanges,
- de voler des informations
- ou même de modifier ce qui est envoyé.
Imaginez une conversation par lettre entre 2 amis.
- Si quelqu’un ouvre les enveloppes en secret, lit les messages, et les remet ensuite, c’est une attaque passive.
- S’il change les mots avant de renvoyer la lettre, c’est une attaque active.
Sur un réseau informatique, c’est pareil, mais avec des données numériques.
Il existe plusieurs façons de faire une attaque MitM :
- L’ARP Spoofing trompe les machines d’un réseau local pour qu’elles envoient leurs données à l’attaquant.
- Le DNS Spoofing redirige vers un faux site Web.
- Le SSL Stripping enlève le chiffrement d’une connexion sécurisée.
- Un Wi-Fi Evil Twin crée un faux réseau Wi-Fi pour piéger les utilisateurs.
Les risques sont sérieux : vol de mots de passe, d’informations bancaires, ou encore injection de virus.
Pour se protéger, il faut utiliser des connexions sécurisées comme HTTPS, vérifier les certificats, ou employer un VPN.
Mettre à jour ses logiciels aide aussi à limiter les failles exploitables.
Ces attaques sont discrètes, mais elles peuvent causer beaucoup de dégâts si elles réussissent.
Comprendre comment elles marchent permet de mieux sécuriser ses données.
Exemple pratique
Il est possible de simuler une attaque MitM sur un réseau local avec des outils simples.
Prenons un cas avec 3 ordinateurs :
- 2 ordinateurs qui communiquent (A et B)
- et 1 ordinateur (C) qui joue l’attaquant.
-
Configurer d’abord un réseau local où A et B échangent des données, comme des messages ou des fichiers.
-
Sur C, installer Wireshark, un logiciel pour capturer le trafic réseau.
-
Ensuite, utiliser une technique comme l’ARP Spoofing pour faire croire à A que C est B, et à B que C est A.
-
Lancer Wireshark sur C pour voir les données passer :
- Si A envoie un message à B, C l’intercepte et peut le lire.
- Modifier les données est aussi possible avant de les renvoyer.
- Par exemple, si A envoie “Salut”, C pourrait changer ça en “Coucou” sans que A ou B ne s’en rende compte.
Une attaque MitM peut être invisible et puissante sur un réseau non sécurisé.
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Objectif
Simuler une attaque Man in the Middle (MitM) par ARP Spoofing dans un réseau local isolé, composé exclusivement de machines virtuelles sous Proxmox :
- une VM Debian avec LXDE (client),
- une VM Debian Server (serveur Web),
- une VM Debian (attaquant).
L’attaquant va intercepter le trafic HTTP entre le client et le serveur, puis va l'analyser avec Wireshark.
Matériel requis
- Proxmox VE installé
- 3 VM Debian créées à partir d'un template (minimum 2 Go RAM, 1 CPU)
- VM 1 : Debian avec interface graphique LXDE (Client)
- VM 2 : Debian Server sans GUI (Serveur Web)
- VM 3 : Debian Server sans GUI (Attaquant)
- Toutes les machines connectées au même pont réseau (Bridge)
vmbr0pour simuler un réseau local. - Les adresses IP sont statiques (pas de DHCP).
Sous Proxmox, créez les 3 VM nécessaires avant de commencer la configuration.
Qu'est ce que dsniff ?
dsniff est une collection d'outils pour l'audit de sécurité et le test de pénétration réseaux.
Il inclut arpspoof, qui permet de falsifier les réponses ARP pour intercepter le trafic sur un réseau local (attaque Man in the Middle).
Il est souvent utilisé pour démontrer l'importance du chiffrement des données.
Qu'est ce que Wireshark ?
Wireshark est un analyseur de protocole réseau gratuit et open source.
Il permet de capturer les paquets de données circulant sur un réseau et de les examiner en détail. C'est un outil incontournable pour le dépannage réseau et l'analyse de sécurité.
Plan du TP
- Configuration réseau avec IPs statiques
- Installation et configuration du serveur Web
- Préparation de la machine Debian pour l’attaque
- Lancement de l’attaque ARP Spoofing
- Interception et analyse du trafic avec Wireshark
- Réflexion sur les protections
Étape 1 : Configuration réseau avec IPs statiques
Objectif
Assigner manuellement des adresses IP aux 3 machines pour qu’elles puissent communiquer sans DHCP sur le même réseau virtuel.
Remplacez
eth0par le nom de votre interface (souventens18ouenp0s3) si nécessaire, via la commandeip a.
VM Debian LXDE (client)
Ouvrir un terminal et éditer la configuration réseau :
sudo nano /etc/network/interfaces
Modifier ou ajouter la configuration de l'interface principale :
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
Appliquer les changements :
sudo systemctl restart networking
Vérifier l'adresse IP :
ip addr show
VM Debian Server (serveur)
Éditer la configuration réseau :
sudo nano /etc/network/interfaces
Ajouter :
auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
Redémarrer le réseau :
sudo systemctl restart networking
Vérifier la connectivité (depuis le client vers le serveur) :
ping 192.168.1.20
VM Debian (attaquant)
Même procédure avec une adresse différente :
sudo nano /etc/network/interfaces
Configuration :
auto eth0
iface eth0 inet static
address 192.168.1.30
netmask 255.255.255.0
Appliquer :
sudo systemctl restart networking
Étape 2 : Installer Apache sur la VM Debian Server
Sur la VM Debian Server (192.168.1.20) :
sudo apt update
sudo apt install apache2 -y
Créer une page de test simple :
sudo nano /var/www/html/index.html
Y ajouter :
<h1>Site Web Interne - Serveur 192.168.1.20</h1>
S'assurer qu'Apache est actif :
sudo systemctl status apache2
Test depuis la VM Client (LXDE)
Lancer le navigateur web (par exemple Firefox ou Chromium) sur la VM LXDE et accéder à :
http://192.168.1.20
Le message "Site Web Interne" doit s’afficher.