Les attaques basées sur le protocole ARP
Les attaques basées sur le protocole ARP
-
Objectifs
- Dans cet article, vous découvrirez ce qu’est une attaque d’usurpation ARP.
-
Présentation
- Une des attaques man in the middle les plus célèbres consiste à exploiter une faiblesse du protocole ARP (Address Resolution Protocol) dont l’objectif est de permettre de retrouver l’adresse IP d’une machine connaissant l’adresse physique (adresse MAC) de sa carte réseau.
- Une usurpation ARP, également connue sous le nom d’empoisonnement ARP, ou d’ARP Spoofing en anglais, est une attaque de type « Man in the Middle » (MitM) qui permet aux attaquants d’intercepter les communications entre les dispositifs du réseau.
- L’objectif de l’attaque consiste à s’interposer entre deux machines du réseau et de transmettre à chacune un paquet ARP falsifié indiquant que l’adresse ARP (adresse MAC) de l’autre machine a changé, l’adresse ARP fournie étant celle de l’attaquant.
- Les deux machines cibles vont ainsi mettre à jour leur table dynamique appelée cache ARP. On parle ainsi d’ARP cache poisoning (parfois ARP spoofing ou ARP redirect) pour désigner ce type d’attaque.
- De cette manière, à chaque fois qu’une des deux machines souhaitera communiquer avec la machine distante, les paquets seront envoyés à l’attaquant, qui les transmettra de manière transparente à la machine destinatrice.
-
Le protocole ARP
-
Définition du protocole ARP
- En général tout échange de données se fait suivant un protocole, c’est-à-dire un ensemble de règles permettant d’assurer la communication entre 2 machines.
- L’Address Resolution Protocol (ou protocole de résolution d’adresse) a été défini en 1982 dans la RFC 826, pour obtenir la résolution des adresses IPv4 dans les adresses MAC.
- Le protocole ARP, pour Address Resolution Protocol (protocole de résolution d’adresse), est utilisé pour établir une correspondance entre adresses IPv4 et adresses MAC. Les cartes réseau raisonnent par adresses MAC, et donc il faut leur dire à quelle adresse MAC correspond telle IP : c’est là qu’intervient l’ARP.
- Le protocole ARP est utilisé au sein d’un réseau local pour faire la correspondance entre les adresses physiques MAC et les adresses logiques IP.
- L’ARP est un protocole de couche 2 du modèle OSI et TCP/IP), lors des échanges sur un réseau, les adresses MAC sont utilisées pour la formation des trames Ethernet et le rôle de l’ARP est donc de fournir, à partir d’une adresse IP, l’adresse MAC correspondante.
- Le protocole ARP interroge les machines du réseau pour connaître leurs adresses physiques, puis crée une table de correspondance entre les adresses logiques et les adresses physiques dans une mémoire cache.
- Le protocole ARP est nécessaire au fonctionnement d’IPv4 utilisé au-dessus d’un réseau de type Ethernet. En IPv6, les fonctions de ARP sont reprises par le Neighbor Discovery Protocol (NDP).
-
Notion de trame Ethernet
- Une trame Ethernet complète doit donc forcément avoir un couple IP-MAC correcte dans les champs destination pour transiter sans encombre d’un hôte A à un hôte B.
-
Notion de réseau switché
- « Sur un réseau connecté autour d’un HUB, les trames Ethernet sont envoyées à tous les ports (Broadcast) sans se soucier de l’adresse MAC de destination, ce qui rend l’écoute passive triviale. Il suffit juste d’une carte configurée en mode « promiscious » pour intercepter le trafic.«
- « Sur un réseau organisé autour de Switchs, les trames ne sont plus automatiquement envoyées à tous les ports, ce qui permet notamment de réduire les congestions sur le réseau. Un Switch étant capable d’apprendre quelles sont les adresses MAC connectées à ses ports il peut stocker ces informations dans une table, que l’on appelle table de transmission. Pour cela, il va extraire les adresses MAC sources des trames Ethernet, noter le port sur lequel la trame est arrivée et ajouter l’association dans sa table.«
- « Lorsqu’une trame de niveau deux arrive, un Switch examine l’adresse de destination et consulte sa table de transmission. S’il ne connait pas encore le port correspondant, à cette adresse, il va envoyer la trame à tous les ports. A contrario si la table de transmission contient déjà un port correspondant à une adresse MAC la trame sera envoyée uniquement à ce port.«
- « Ce mécanisme rend plus difficile l’écoute passive sur un réseau switché. Si l’on place un sniffer sur un port d’un Switch, il récupérera uniquement le trafic à destination de ce port ou le trafic broadcasté.«
-
Faiblesses du fonctionnement d’ARP
- Par défaut, une carte réseau refuse les paquets reçus n’ayant pas son adresse MAC comme adresse MAC de destination. On pourrait comparer cela au fait de recevoir une lettre alors que le nom du destinataire n’est pas le notre, nos cartes réseaux, en individus sages et réfléchis, refusent donc d’ouvrir ces lettres.
-
ARP Spoofing
- L’élément de base d’un réseau informatique actuel est le switch. Plus évolué que le hub, il permet de diriger le trafic uniquement en direction de la bonne machine en se basant sur l’adresse MAC indiquée dans la couche Ethernet des paquets. De plus, cette méthode a l’avantage de permettre une largeur de bande maximale pour chaque port et non plus au niveau du concentrateur comme pour un hub.
- Ainsi, lors d’une écoute du réseau via un analyseur, les messages n’étant pas destinés à sa propre machine ne sont pas visibles. Cependant, il existe une méthode bien connue pour « remédier » avec le protocole ARP.
- Chaque machine conserve en cache une table de correspondance entre les adresses MAC et IP des correspondants connus. Il suffit alors d’envoyer des massages forgés indiquant l’adresse MAC de l’attaquant à la place d’une machine existante pour que ceux-ci lui soit envoyés. Il redirigera ensuite les messages au bon destinataire afin que la communication ne soit pas altérée.
- Une évolution de ceci est l’attaque « Man-in-the-middle » qui permet de faire passer tout le trafic entre deux points par la machine de l’attaquant. Cette attaque est facilement réalisable avec l’aide d’un outil spécialisé comme par exemple ettercap, une application open-source disponible pour les principales plateformes actuelles.
Sources:
- http://www.secuobs.com/news/print04102006-ettercap.shtml
- https://www.it-connect.fr/comprendre-les-attaques-via-arp-spoofing-mitm-dos/