TP n°4 deuxième partie : ARP Poisoning

Durée : 2h

Compte rendu individuel

Vous devez obligatoirement déposer un compte rendu illustré individuel pour chaque TP au format TPi.[pdf|odt|docx] sur Moodle.

Vous pouvez compléter vos TP après une séance en déposant un nouveau fichier TPiv2.[pdf|odt|docx].

Environnement de travail

Objectif

Présentation

Dans cette deuxième partie de TP, nous allons nous intéresser au protocole ARP, et au détournement possible de son usage dans le cadre d'une attaque.

Rappel. Attention. Vous avez signé une charte en début d'année et ne devez pas utiliser d'attaques réseaux sur des machines ne vous appartenant pas (même pour "jouer").

Dans ce TP, vous allez attaquer une de vos machines dans votre réseau interne.

Le fonctionnement d'ARP a été rappelé en détail au TP1.

Fonctionnement en deux étapes : envoi d'une trame en broadcast de type "who-has @IP?", la machine ayant cette adresse IP répond uniquement à la machine ayant posé la question (message unicast) avec une trame "@IP is-at @MAC".

ARP Poisoning

L'attaque est connue sous le nom d'ARP Poisoning, et permet au pirate de rediriger le trafic d'une ou plusieurs machines du réseau vers la sienne. L'opération vise à modifier le cache ARP d'une ou plusieurs victimes en associant l'adresse IP de la passerelle (par exemple) à l'adresse MAC du pirate.

Tout le trafic Victime --> Passerelle est donc envoyé vers la machine de l'attaquant (@IPpasserelle est avec @MACattaquant).

À lui a rerouter ce flux vers la destination demandée, afin que la victime ne s'aperçoive de rien

Si l'attaquant empoisonne également le cache ARP de la passerelle pour associer l'adresse IP de la victime à son adresse MAC (@IPvictime est avec @MACattaquant), alors il récupérera également le trafic retour des messages (Tout le trafic Passerelle --> Victime passant alors par la machine de l'attaquant également). Ces deux empoisonnements ARP permettent une attaque Man-in-the-middle (L'homme au milieu en français).

Illustration d'une attaque Man-in-the-middle

Illustration d'une attaque Man-in-the-middle

Deux techniques sont possibles.

Rappelez vous (lors d'une analyse Wireshark par exemple) que dans chaque paquet ARP vous avez deux associations (@MAC - @IP) : une pour l'émetteur (sender) et une pour le récepteur (target).

Champs de données du protocole ARP

Champs de données du protocole ARP (source Wikipédia)

Notez que des parades simples existent à cette attaque comme mettre les associations en dur (arp -s), ou bien le système (ou un logiciel surveillant le cache ARP) peut aussi automatiquement détecter qu'une adresse mac est utilisée deux fois (par exemple la passerelle peut voir que l'@MAC de l'attaquant est associée à la fois à l'@IP de l'attaquant et à l'@IP de la victime). Wireshark le signale également.

La réalisation de ces attaques nécessite un générateur de paquet ARP, nous emploierons le générateur Scapy.

Le but va être d'associer l'adresse IP de votre passerelle (P) à l'adresse MAC de la machine attaquante (A) dans le cache ARP de la machine victime (V).

Machine Adresse IP Adresse MAC
V
Passerelle
A

Attaque par ARP reply

Pour aller plus loin

Au lieu de corrompre le cache ARP, on peut tenter de corrompre le cache DNS ou un serveur DNS pour faire cette attaque (DNS spoofing).

D'une manière générale, il est possible de mettre tous les "faux services" que l'on souhaite sur un réseau une fois que l'on a une machine avec les droits d'administration sur ce réseau.

Le module M4207 du semestre 4 sera une introduction à la sécurité dans les réseaux.