Attaque ARP Spoofing – Théorie, mise en pratique et contre-mesures.

Attaque ARP Spoofing – Théorie, mise en pratique et contre-mesures.

Rappel : L’article qui va suivre contient des techniques et méthodes qui peuvent s’avérer être dangereuses si elles sont utilisées à mauvais escient. Ce tutoriel a pour unique but de vous enseigner à vous protéger contre les “black-hat” (Hackers mal intentionnés) et ne doit en aucun cas être utilisé contre une entreprise, une organisation ou une administration publique de quelconque pays. Je me dédouane de toute responsabilité en cas de problèmes ou d’incidents de quelque nature que ce soit. Bon visionnage 🙂

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.

Petit rappel, ces adresses MAC  sont des nombres uniques de 48 bits, et permettent d’identifier chaque appareil d’un réseau LAN de manière unique grâce à sa carte réseau. 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.

Les adresses MAC sont attribuées par les fabricants de matériel respectifs, et chacune est unique au monde. En théorie, elles sont adaptées à un adressage global, mais ceci ne fonctionne pas dans la pratique, car les adresses IPv4 (4 294 967 296 d’adresse IPV4 publique) sont trop courtes pour représenter complètement les adresses MAC (241 milliards de possibilités)

Reprenons, L’objectif de cette attaque consiste à s’interposer entre deux machines ou plus du réseau et de transmettre à chacune un paquet ARP falsifié indiquant que l’adresse MAC d’un équipement (typiquement la passerelle (gateway) a changé. l’adresse transmise étant celle de l’attaquant.

Les deux machines cibles vont ainsi mettre à jour leur table dynamique appelée Cache ARP. On parle ainsi « ARP spoofing » ou d’ARP Poisoning 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.

Ethical Hacking - ARP Poisoning - Tutorialspoint

Démonstration

Pour réaliser ce tutoriel, vous aurez besoin au minimum de :

  • Une cible (Debian 10.X pour moi) : 192.168.11.132/24
  • Un attaquant (Debian 10.X pour moi, mais pas obligatoire) : 192.168.11.133/24
  • Passerelle : 192.168.11.2
  • Connexion Internet, pour les deux postes

Sur la machine de l’attaquant, nous allons devoir installer le paquet suivant : apt install dsniff

Premièrement, nous allons usurper l’identité de la passerelle (.2), afin de faire croire à notre cible (192.168.11.133) que la passerelle de son réseau n’est plus 192.168.11.2 mais 192.168.11.132 (Attaquant), Ce qui aura pour effet de rediriger tout le réseau « sortant » de la cible vers la machine de notre attaquant.

Cette manipulation permet de cibler une machine en particulier et non tous le réseaux ! (Partie suivante :)). la commande doit être exécutée en root

arpspoof -i ens33 192.168.11.2 -t 192.168.11.133 -r
# ens33 est la carte réseau de l'attaquant qui est sur le même réseau que la machine cible.

Cette fois-ci, nous allons viser le réseau tout entier, et faire croire à chaque machine connectée à celui-ci que la passerelle n’est plus 192.168.11.2, mais 192.168.11.132. De cette manière tout le trafic du r »seau 192.168.11.0/24 sortant serra redirigé vers la machine de l’attaquant.

Tapez la commande suivante sur la « machine de l’attaquant » :

arpspoof -i ens33 192.168.11.2

Comme vous pouvez le constater, le client (terminal à droite), ne peut plus pinguer google.com, car nous avons détourner tout le trafic « DNS », pour faire en sorte qu’il passe par notre machine. Et vu que nous n’avons pas activer le reroutage des packet sur notre machine, la req ping échoue.

Schéma :

Contre-mesures

Sécurité Passive

Il s’agit de mesures visant à empêcher l’ARP cache poisoning, en figeant l’association IP/MAC sur les OS (utilisation des entrées statiques des tables ARP). Ceci est lourd et pratiquement inexploitable à grande échelle. Le verrouillage IP/MAC peut également être pris en charge au niveau applicatif. Par exemple, certains firewalls (dont iptables) sont capables de contrôler l’association IP/MAC des paquets entrants. L’utilisation de commutateurs de niveau 3, capables de gérer l’association MAC/IP/port est également une solution au problème.

Sécurité Active

Lorsqu’il n’est pas réaliste de verrouiller les entrées ARP de chaque machine, il est possible de mettre en œuvre une solution de détection centralisée, qui agit comme une sonde de détection. L’utilisation de logiciels comme arpwatch permet de centraliser les associations MAC/IP, et de contrôler en temps réel les messages ARP pour vérifier qu’un poisoning n’est pas en cours. Des alertes sont alors générées en cas de divergence. Il pourrait même être envisagé un système de contre mesure consistant à repositionner la bonne association MAC/IP sur une machine venant de se faire poisoner. Ce repositionnement pourrait s’effectuer par le même processus que celui qui a permis l’attaque : par ARP cache poisoning

à bientôt 🙂

brlndtech

Geoffrey Sauvageot-Berland

Related Posts

Configuration d’un relais Tor (Guard/Middle Node)

Configuration d’un relais Tor (Guard/Middle Node)

Reconstruction d’OS non chiffrés : Analyse post-exploitation

Reconstruction d’OS non chiffrés : Analyse post-exploitation

Exfiltrer des données depuis une session meterpreter (Post Exploitation)

Exfiltrer des données depuis une session meterpreter (Post Exploitation)

Reverse/Bind shell – Quésaco

Reverse/Bind shell – Quésaco