|
6 months ago | |
---|---|---|
README.md | 6 months ago | |
docker-compose.yml | 6 months ago |
README.md
TP : Simulation d'une Attaque ARP Spoofing avec Docker
Exercice 1
Introduction
-
Allez sur vdn
-
Chargez le réseau docker
-
Démarrez la machine et ouvrez un terminal
Partie 1 : Mise en place de l'environnement
-
Clonez le repository git
git clone https://codefirst.iut.uca.fr/git/adam.bonafos/TP_ARP-Spoofing.git
-
Vérifiez le contenu du fichier docker-compose.yml
Le fichier
docker-compose.yml
sert à simuler un réseau local avec trois machines : un attaquant, une victime, et une passerelle (gateway).Fichier
docker-compose.yml
:version: '3' services: attacker: image: kalilinux/kali-rolling container_name: attacker priviliged: true networks: localnet: ipv4_address: 192.168.0.10 tty: true stdin_open: true victim: image: kalilinux/kali-rolling container_name: victim priviliged: true networks: localnet: ipv4_address: 192.168.0.20 tty: true stdin_open: true gateway: image: kalilinux/kali-rolling container_name: gateway priviliged: true networks: localnet: ipv4_address: 192.168.0.30 tty: true stdin_open: true networks: localnet: driver: bridge ipam: config: - subnet: 192.168.0.0/24
- Ce fichier définit trois machines dans le même réseau local (subnet
192.168.0.0/24
).
- Ce fichier définit trois machines dans le même réseau local (subnet
-
Démarrage des conteneurs
-
Dans le même répertoire que le fichier
docker-compose.yml
, exécutez la commande :docker-compose up -d
-
Vérifiez que les conteneurs sont bien en cours d'exécution avec :
docker ps
-
Partie 2 : Lancement de l'attaque ARP Spoofing
-
Configurer les machines
- Connectez-vous à chaque machine pour les préparer à l'attaque.
- Depuis votre terminal, exécutez les commandes suivantes pour accéder à chaque conteneur :
- Pour l'attaquant :
docker exec -it attacker /bin/bash
- Pour la victime :
docker exec -it victim /bin/bash
- Pour la passerelle :
docker exec -it gateway /bin/bash
- Pour l'attaquant :
-
Installer les outils nécessaires
- Sur chaque machine, mettez à jour les paquets et installez dsniff (qui inclut arpspoof).
- Exécutez cette commande sur chaque machine :
apt-get update && apt-get install -y dsniff iputils-ping
- Exécutez sur la machine victim :
apt-get install net-tools
-
Test de connectivité
-
Vérifiez que la victime peut pinguer la passerelle
-
Vous devriez obtenir des réponses de la passerelle.
-
-
Observer l'état de la table ARP de la victime
- Sur le conteneur victim vérifiez l'état de la table ARP (n'hésitez pas à utiliser le man).
- Quel est l'adresse MAC de la passerelle et à quelle adresse IP est-elle associé ?
-
Lancer l'attaque ARP Spoofing
- Depuis le conteneur attacker, exécutez la commande suivante pour lancer l'attaque ARP Spoofing :
arpspoof -i eth0 -t [adresse de la victime] [adresse de la passerelle]
- Cette commande trompe la victime en lui faisant croire que l'attaquant est la passerelle.
- Depuis le conteneur attacker, exécutez la commande suivante pour lancer l'attaque ARP Spoofing :
-
Observer l'effet de l'attaque
-
Sur le conteneur victim vérifiez l'état de la table ARP (n'hésitez pas à utiliser le man).
-
Quel est donc maintenant l'adresse MAC associé à l'adresse IP de la passerelle ?
-
Partie 3 : Analyse et conclusion
-
Impact sur le trafic
- Pinguez la passerelle depuis la victime pendant que l'attaque est en cours. Observez ce qu'il se passe au niveau des paquets.
-
Proposez des solutions pour contrer cette attaque
-
Nettoyage
- Pour arrêter l'attaque et les conteneurs :
docker-compose down
- Pour arrêter l'attaque et les conteneurs :
Exercice 2
Configurer une table ARP statique permet de définir manuellement des associations entre des adresses IP et des adresses MAC, empêchant ainsi la modification dynamique de ces associations. Cela peut être utile pour prévenir des attaques telles que l'ARP Spoofing.
Configuration d'une table ARP statique sous Linux
Tu peux utiliser la commande arp
pour ajouter des entrées statiques à la table ARP. Voici les étapes pour configurer une table ARP statique sous Linux.
-
Afficher la table ARP actuelle :
arp -n
-
Ajouter une entrée statique à la table ARP : La commande suivante lie une adresse IP à une adresse MAC de manière statique.
sudo arp -s [adresse IP] [adresse MAC]
-
Vérifier que l'entrée statique a bien était ajoutée à la table
-
Supprimer une entrée statique :
sudo arp -d [adresse IP]
⚠️ Warning
Les changements apportés ne sont pas persistants après un redémarrage. Pour rendre ces changements persistants, il est nécessaire d'ajouter ces commandes dans des scripts qui sont exécutés au démarrage (par exemple viacrontab
pour Linux).
Exercice 3 - Bonus
Réécrivez l'attaque arpspoof en utilisant python.
⚠️ Warning
Pour réaliser cet exercice, il vous faut installer :
- Un éditeur de texte comme nano ou VIM sur l'image de l'attaquant
- Python3 et pip
- La librairie scapy (
apt install python3-scapy
)