Attaque de Simple Man in the Middle MitM (ARP Spoofing)

Qu'est-ce que l'usurpation d'identité ARP ?La technique Usurpation d'ARP Il consiste essentiellement à exploiter une vulnérabilité de conception dans le protocole ARP et à implémenter le cache ARP dans les hôtes.

Au niveau de la couche Réseau (ISO/OSI) les systèmes source et destination sont bien définis par leurs adresses IP, mais au niveau de la couche Lien, il est nécessaire de déterminer les adresses MAC de chaque hôte.

ARP (RFC 826) est un protocole de traduction d'adresses entre deux schémas d'adressage différents, comme c'est le cas entre le protocole IP et le protocole MAC. Fondamentalement, sa fonction dans un réseau Ethernet est de déterminer l'adresse MAC d'une station en fonction de son adresse IP. La traduction est effectuée par un échange de messages de requête et de réponses ARP.

Le mécanisme de base fonctionne en envoyant un message de 28 octets à l'adresse de diffusion et seul le bon hôte répond directement à l'expéditeur de la requête.

Pour que la requête ARP atteigne tous les appareils, l'adresse MAC de destination FF : FF : FF : FF : FF : FF (A.K.A. Broadcast MAC address) est spécifiée. Lorsqu'un commutateur reçoit une trame destinée à FF : FF : FF : FF : FF : FF, il procède à la transmission de ladite trame via tous les autres ports (l'intention est que tous les hôtes « écoutent » la question).

AGRANDIR

La réponse obtenue est utilisée pour déterminer l'adresse MAC de destination et ainsi la transmission peut commencer.

AGRANDIR

La relation IP-MAC obtenue sera temporairement stockée dans une table d'entrées ARP (cache ARP) de telle sorte que si Bob essaie à nouveau d'envoyer des données à Alice dans le futur, il n'aura qu'à consulter la table de cache ARP pour déterminer le MAC d'Alice. Pas besoin de "demander à nouveau".

Selon l'implémentation du système d'exploitation, ces entrées de cache ARP peuvent être mises à jour en fonction de leur dernière utilisation, de la dernière fois que l'adresse MAC a été « observée », et ainsi de suite. Ils peuvent également être réglés de manière statique, par configuration manuelle.

Dans tous les cas, le protocole ARP ne valide pas les données obtenues dans la réponse ARP, c'est-à-dire que si Bob reçoit une réponse ARP indiquant qu'un certain MAC est lié à l'IP d'Alice, Bob acceptera l'information "sans hésitation". Vous êtes autorisé à envoyer des réponses ARP sans question préalable, et sont appelés messages « ARP gratuits ». Ces messages seront utilisés par les systèmes qui les reçoivent pour mettre à jour les informations de la table de cache ARP.

Un attaquant peut délibérément envoyer des réponses ARP sans question préalable (« arp gratuit »), déclarant que son propre MAC correspond à l'IP d'Alice, et Bob acceptera ces réponses comme des « informations de dernière minute », et procédera à la mise à jour de l'entrée dans l'ARP table de cache pour l'IP d'Alice avec le MAC de l'attaquant.

La technique ARP Spoofing consiste à envoyer des informations incorrectes concernant la traduction MAC-IP; Lorsque Bob utilise ces fausses informations pour mettre à jour son cache ARP, une situation d'empoisonnement ARP (ARP Poisoning) se produit.

Cette situation fera en sorte que les trames que Bob envoie à l'adresse IP d'Alice seront livrées par le commutateur au port de l'attaquant (rappelez-vous que le commutateur regarde les MAC).

Maintenant, si l'attaquant applique la même technique à Alice, convainquant Alice que l'adresse MAC de l'attaquant correspond à l'adresse IP de Bob, alors l'attaquant a convaincu Bob qu'il est Alice et Alice qu'il est Bob, réalisant une situation intermédiaire (Homme dans le Milieu).

Il sera de la responsabilité de l'attaquant de transmettre les trames à chaque système pour maintenir le trafic actif et éviter les problèmes de communication dans la couche supérieure. De plus, l'attaquant peut inspecter le trafic, obtenir des données sensibles, manipuler des informations, etc.

Systèmes impliqués

Systèmes d'utilisation pour les testsBob AA : BB : CC : 11 : 22 : 33 (192.168.0.1/24)
Alice AA : BB : CC : 22 : 33 : 44 (192.168.0.2/24)
Attaquant AA : BB : CC : 88 : 88 : 88 (192.168.0.3/24)

Pour le système d'attaque, il sera utilisé GNU/Linux Ubuntu et pour les victimes, j'utiliserai Windows XP SP3, mais le système d'exploitation de la victime n'a pas vraiment d'importance. Tout d'abord, un outil permettant d'envoyer des messages ARP Spoofing aux victimes doit être utilisé pour tester l'ARP Poisoning. Pour ce tutoriel, j'utiliserai "dsniff", qui est essentiellement une boîte à outils pour renifler les mots de passe.

Parmi les outils inclus dans le paquet dsniff, c'est trouvé "arpspoof", qui effectue essentiellement l'usurpation d'identité ARP sur la victime désignée.

À installer dsniff taper dans un terminal :

 $ sudo apt-get install dsniff 
Avec ça, tu l'installes.

Analyse pré-attaque


A l'instant initial, Bob a une entrée dans son cache ARP qui indique que l'adresse IP d'Alice correspond au MAC AA : BB : CC : 22 : 33 : 44.

Pour afficher la table de cache ARP, accédez à :

  • Début
  • Cours
  • cmd

Dans le terminal Windows, écrivez :

 Grande tente 
Vous obtiendrez le contenu actuel de la table de cache ARP de Bob :

De même sur le PC d'Alice :

Attaque


Dans le premier cas, le peu de transfert dans le système de l'attaquant :
 # echo 1> / proc / sys / net / ipv4 / ip_forward 
De cette façon, la perte de paquets est évitée, Bob et Alice pourront interagir comme si de rien n'était.

Le commande arpspoof est utilisé comme suit :

 # arpspoof -i INTERFAZ_LAN -t IP_VICTIMA_POISONING IP_VICTIMA_SPOOFED 
D'où:

INTERFAZ_LANCarte réseau que nous utiliserons pour l'attaque, l'adresse MAC de cette interface sera prise pour les messages ARP Spoofing.

IP_VICTIME_EMPOISONNEMENTC'est l'adresse IP de la victime dont la table de cache ARP est empoisonnée.

IP_VICTIMA_SPOOFEDC'est l'adresse IP qui indique l'entrée dans la table de cache ARP de la victime à laquelle le MAC de l'attaquant sera associé.

Pour convaincre Alice que Bob a le MAC AA : BB : CC : 88 : 88 : 88, dans le terminal système de l'attaquant, exécutez arpspoof comme suit :

 # arpspoof -i eth0 -t 192.168.0.2 192.168.0.1
Des messages de réponse ARP seront envoyés à Alice avec des informations manipulées :

Démarrez UN AUTRE terminal (le précédent ne doit pas être interrompu) et exécutez l'attaque dans la direction opposée, pour convaincre Bob qu'Alice a le MAC AA: BB: CC: 88: 88: 88, dans le terminal système Attacker exécutez arpspoof comme suit :

 # arpspoof -i eth0 -t 192.168.0.1 192.168.0.2 
Des messages de réponse ARP seront envoyés à Bob avec des informations manipulées :

À partir de ce moment, l'attaquant conserve le statut d'intermédiaire (MitM) en envoyant des messages ARP manipulés :

AGRANDIR

En répétant les premières étapes, il est possible de vérifier comment les entrées de cache ARP de Bob et Alice ont été mises à jour avec le MAC de l'attaquant :

Cache ARP de Bob :

Cache ARP d'Alice :

Les trames que Bob envoie à Alice sont livrées à l'attaquant et l'attaquant les transmet à Alice. De la même manière, les trames envoyées par Alice sont livrées à l'Attaquant et il les transmet à Bob.

AGRANDIR

L'attaquant pourrait capturer du trafic avec sa carte réseau en mode promiscuité et obtenir par exemple des identifiants d'accès à un portail web n'utilisant pas SSL.

Par exemple, dans la capture de trafic suivante, un attaquant a obtenu les identifiants d'accès à un portail PHPMyAdmin : (User « root », mot de passe « ad00 »)

AGRANDIR

Enfin, pour clore l'attaque sans interrompre les communications, l'attaquant stoppe le terminal « arpspoof » en appuyant sur les touches :

Ctrl + C

Et l'outil enverra automatiquement des requêtes ARP à chaque victime afin que les informations du cache ARP soient mises à jour avec les données correctes.

À ce stade, l'attaquant libère les communications et peut se déconnecter du réseau pour analyser le trafic déjà obtenu.

Certains systèmes antivirus surveillent les modifications des entrées dans la table de cache ARP, même pour GNU / Linux, il existe un outil appelé "ARPWatch« Cela alerte sur un changement dans la relation ARP-IP dans les tables de cache ARP du système.

Dans un autre article, des techniques possibles pour empêcher Attaques MitM basées sur ARP Spoofing et ARP Poisoning.

Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave