ARP cache poisoning : comment un pirate peut espionner votre Wi-Fi

Ettercap
Ettercap

Dernière mise à jour : 20 janvier 2024

On parle souvent des failles applicative concernant l’erreur humain, dans cet article, nous allons voir que des vulnérabilités peuvent aussi venir des protocoles réseaux.

L’arp cache poisoning est une attaque qui consiste à exploiter la faille du protocole ARP situé en couche 3 du modèle OSI. Il consiste à bombarder un routeur de requête ARP en lui faisant croire que l’on est quelqu’un d’autre. Au bout d’un moment, cela va provoquer la mise à jour du cache ARP. Le but est de se placer entre la victime et son routeur afin de capturer tout le trafic entre deux machines distantes.

A quoi sert le protocole ARP ?

Le protocole ARP permet de connaître l’adresse physique d’une carte réseau correspondant à une adresse IP, c’est pour cela qu’il s’appelle Protocole de résolution d’adresse.

Le protocole ARP permet de déterminer l’adresse MAC d’une machine distante. Lorsqu’une machine souhaite connaître l’adresse MAC d’une autre, elle envoie à tous les membres de son sous-réseau un packet arp who-as en demandant quelle est l’adresse MAC de la machine qui a telle adresse ip.

La machine qui possède cette adresse IP sera la seule à répondre en envoyant à la machine émettrice une réponse ARP du type « je suis adresse IP et voici mon adresse MAC  ».

La machine à l’origine de la requête ARP reçoit la réponse, met à jour son cache ARP et peut donc commencer à envoyer des messages.
Le contenu de ce cache est temporaire. Cela signifie qu’il faudra tout de même réitérer l’envoi de requête ARP mais de façon beaucoup moins fréquente.

Pour voir le contenu du cache sous Windows, tapez la commande suivante :

 arp -a

sous Linux :

arp -n

Ou se situe la faille du protocole ARP ?

Avec le protocole ARP, nous pouvons communiquer à une machine notre adresse MAC  à n’importe quel moment en lui envoyant un simple packet ARP reply. Cela mettra à jour son cache ARP. Maintenant, imaginez qu’on envoie un packet arp reply à une machine avec de fausses informations…C’est à ce moment que l’arp cache poisoning intervient. On peut facilement passer pour une machine qu’on n’est pas et de ce fait intercepte le dialogue entre deux hôtes.

Comment réaliser cette attaque ?

Lors d’une navigation normale sur internet, les données d’un utilisateurs sont envoyées au routeur, puis du routeur, sont envoyées au serveur web.
Lors d’une attaque de type ARP poisoning, le pirate va se glisser entre les données envoyés par l’utilisateur et le routeur.

Pour réaliser ce type d’attaque et capturer du trafic entre deux hôtes distants, il est possible de se munir de différent outils. Ici nous utiliserons l’outil « Ettercap » qui est spécialisé dans ce genre d’attaque.
Ettercap est un logiciel libre. Il est pré-installer sur la distribution Backtrack (Kali Linux). Pour l’installer sur une autres distribution linux, lancez la commande suivante :

apt-get install ettercap wireshark

Une fois installé, il suffira de taper dans le terminal la commande suivante:

ettercap -T -q -M arp:remote /192.168.230.128/ /192.168.230.1/ -w « monfichier »

Explication de la commande :

-T : lance ettercap en mode texte
-M : indique qu’on doit se placer entre les deux IP et que l’on veut une attaque de type « Man in the middle »
-w : enregistre le résultat de la capture dans un fichier

Dans mon cas,  la machine cible à l’adresse IP 192.168.230.128 et  le routeur de sortie a l’adresse IP 192.168.230.1

Pour finir l’attaque et récupérer les données,  il faut appuyer sur la touche q.

Enfin vous pouvez ouvrir le fichier de sorti « monfichier » avec un logiciel comme « Wireshark » pour analyser chaque requête faite à travers le réseau.