ARP Poisonning: Explication, Detection et Protection

novembre 02, 2012  |   Blog   |     |   2 commentaires

Introduction et protection

Une méthode très utilisée sur un réseau local afin de réaliser une attaque de type Man In The Middle (MITM) est de faire de l’ARP Poisonning (parfois appelée ARP Spoofing). Cette attaque consiste à répondre en lieu et place de la cible de l’attaque sur le réseau, aux requêtes ARP afin de recevoir et analyser tout le trafic transitant vers cette cible. Aussi une méthode d’attaque courante est d’usurper l’adresse du routeur local, détournant ainsi toutes les trames sortantes du réseau local.

 

De ce fait, toutes les connexions devant traverser la cible passent d’abord au travers du PC de l’attaquant. Celui-ci peut alors extraire toutes les informations diffusées sans chiffrement (login/mot de passe envoyé en http, ftp, pop, smtp, …) et stocker les autres afin d’essayer de casser le chiffrement après coup.

Afin de se prémunir contre cette attaque, une solution pourrait consister à fixer les adresses MAC des équipements sensibles (routeurs, serveurs, …) dans les tables ARP des clients. De cette manière, une cible n’aurait pas besoin d’effectuer une requête ARP pour résoudre l’IP d’une de ces machines et enverrait systématiquement ses trames Ethernet à celles-ci, sans détour par le PC de l’attaquant. Cependant, cette solution ne fonctionne que pour des petits réseaux car trop fastidieuse à gérer à grande échelle.

Pour des réseaux plus importants, une solution assez efficace pour se prémunir de ce genre d’attaque est d’activer l’inspection protocolaire de l’ARP sur les switchs.
Ainsi, il sera possible aux switchs de voir qu’une réponse ARP est légitime en fonction de d’une base de donnée DHCP (ou ACL si IP statique). En cas d’attaque, les switchs observeront donc une réponse ARP avec une IP qui ne correspond pas à l’adresse MAC fournie. Dans ce cas, le switch pourra, suivant les constructeurs, bloquer le port, prévenir un administrateur ou simplement jeter le paquet.

Il est de plus à noter que cette attaque s’effectue au niveau de la couche 2 du réseau. De ce fait, la création de VLANs permet de limiter fortement le nombre de client vulnérable sur chaque domaine Ethernet. Même si les VLANs n’empeche pas l’attaque, ils permettent dans tous les cas d’en limiter l’impact.

Exemple de scénario avec un switch Cisco :

Nous voulons protéger le VLAN 1 de l’ARP Poisonning grâce à l’inspection protocolaire et le
DHCP snooping. Supposons que notre serveur DHCP soit connecté sur le port fa1/0/3 du switch.

Activer le DHCP Snooping sur le vlan 1:
#conf t
#ip dhcp snooping
#ip dhcp snooping vlan 1
#no ip dhcp snooping information option
#interface fastEthernet 1/0/3
#ip dhcp snooping trust

Verifier le fonctionnement du DHCP Snooping :

#show ip dhcp snooping ! -- Service DHCP Snooping
#show ip dhcp snooping binding ! -- Addresses distribuées

Activer l’inspection protocolaire du protocole ARP :
#conf t
#ip arp inspection vlan 1
#interface fastEthernet 1/0/3
#ip arp inspection trust
! -- Définir le port du serveur DHCP (ici le fa1/0/3) comme sûr.

Vérifier le fonction de l’inspection protocolaire :

#show ip arp inspection vlan 1

Détection

Dans cette partie nous prenons comme cible de l’attaque le routeur local. Cette cible pourrait tout autant être un serveur quelconque d’une entreprise.

Les routeurs sont généralement connectés sur les switchs sur des ports identifiés. Or afin de ne pas être découvert rapidement et mener à bien son attaque, le pirate doit relayer correctement tout le trafic vers sa cible (le routeur) afin de ne pas provoquer d’interruption de service durant son attaque.

Cette contrainte implique que le port du switch sur lequel est connecté le pirate reçoit tout le trafic destiné au routeur. Comme expliqué précédemment, le pirate doit ensuite relayer ces données vers le routeur. De ce fait, cette attaque provoque une utilisation importante de bande passante sur ce port (qui n’est pas celui d’un routeur) et ce, aussi bien en input qu’en output.

Cette attaque pouvant surtout être menée sur des postes utilisateurs, le pirate est donc connecté sur un switch d’extrémité où, généralement, le port avec le plus haut taux d’utilisation est celui du routeur. Une simple vigilance (ou surveillance) des graphes d’utilisation des ports permet donc d’observer que quelque chose d’anormal se passe sur le réseau.

2 Commentaires pour cet article

    Avatar
    ruzomb
    août 25th, 2014 on 11 h 02 min

    merci pour votre explication

    Avatar
    Daouda Ado
    mai 20th, 2018 on 2 h 04 min

    Merci vraiment pour votre aide sur cet article.