Empoisonnement du cache Arp et reniflement de paquets

Dans un environnement réseau commuté, les paquets sont envoyés à leur port de destination par adresse MAC. Ce processus nécessite que les systèmes du réseau maintiennent une table associant des adresses MAC aux ports. Dans un environnement commuté, les paquets ne sont envoyés qu’aux périphériques auxquels ils sont destinés. Même dans cet environnement commuté, il existe des moyens de renifler les paquets d’autres périphériques. Une telle façon consiste à usurper votre adresse MAC et à empoisonner la table arp. Comme arp ne conserve aucune information d’état, le cache arp peut être écrasé (sauf si une entrée est explicitement marquée comme permanente).

L’empoisonnement du cache Arp met l’attaquant en position d’intercepter les communications entre les deux ordinateurs. L’ordinateur A croit qu’il communique avec l’ordinateur B, mais à cause de la table arp empoisonnée, la communication va en fait à l’ordinateur de l’attaquant. L’attaquant peut alors soit répondre à l’ordinateur A (prétendant être l’ordinateur B), soit simplement transférer les paquets vers sa destination prévue, mais seulement après que les informations sur le paquet ont été capturées et enregistrées pour une utilisation ultérieure par l’attaquant. De même, la réponse de l’ordinateur B peut être capturée et enregistrée par l’attaquant, qui a également utilisé l’empoisonnement par Arp pour faire croire à l’ordinateur B que l’ordinateur de l’attaquant est l’ordinateur A. Ce type d’attaque est connu sous le nom d’attaque de l’Homme au Milieu.

Cet article couvre un certain nombre d’outils utilisés dans les attaques d’empoisonnement du cache arp, notamment ettercap, arpspoof, nemesis, p0f, dsniff et scapy.

Exécution d’Ettercap

Pour que l’empoisonnement du cache arp ait lieu, l’attaquant doit se trouver dans le même segment de réseau que les systèmes attaqués. La première étape consiste à obtenir une liste d’adresses IP et leurs adresses MAC associées. Plusieurs outils vous aideront à obtenir ces informations; un exemple est un outil appelé ettercap(http://ettercap.sourceforge.net/). Ettercap est une suite pour les attaques man in the middle sur un réseau local local. Il propose de renifler les connexions en direct, de filtrer le contenu à la volée, etc. Ettercap prend en charge la dissection active et passive de nombreux protocoles parmi plusieurs protocoles. La commande suivante:

# ettercap -T -M arp:remote //

reniflera rapidement tous les hôtes de votre sous-réseau; pour afficher les résultats, tapez L ou appuyez sur h pour le menu d’aide et vous verrez une liste de commandes.

DOS de cache Arp

Pour empoisonner une adresse IP donnée et mettre le système hors ligne afin qu’il ne puisse communiquer avec personne, utilisez arpspoof de la suite dsniff (http://monkey.org/~dugsong/dsniff/), une collection gratuite d’outils d’audit de réseau et de tests de pénétration. La suite dsniff comprend des outils tels que dsniff, filesnarf, mailsnarf, nsgsnarf, urlsnard et webspy, qui surveillent passivement un réseau à la recherche de données intéressantes. (Les outils Arpspoof, dnsspoof et macof facilitent l’interception du trafic réseau normalement indisponible pour un attaquant en raison de la commutation de couche 2.)

Arpspoof(http://arpspoof.sourceforge.net/) est beaucoup plus simple que ettercap pour rediriger des paquets :

#arpspoof-i eth0-t < target > host

La spécification de l’interface est facultative mais requise si plusieurs interfaces sont présentes. L’option -t spécifie l’hôte particulier du poison arp ; si l’hôte n’est pas spécifié, tous les hôtes du réseau local seront empoisonnés. L’hôte peut être la passerelle par défaut, ce qui empêchera la cible de communiquer au-delà du segment local. Arpspoof redirige les paquets d’un hôte cible ou de tous les hôtes du réseau LOCAL en forgeant des réponses ARP. La beauté de ce programme vient de la fonction arp_send(), qui utilise également libnet pour usurper des paquets. arp_send() envoie un paquet arp avec les adresses matérielles IP et Ethernet source/cible fournies par l’utilisateur. Libnet est une API réseau générique qui donne accès à plusieurs protocoles.

Pour mieux comprendre le processus d’empoisonnement du cache arp, envisagez un outil alternatif appelé Nemesis. Si vous avez l’adresse IP et le MAC de la cible et de l’hôte prévus, vous pouvez utiliser Némésis pour empoisonner la cible. Nemesis (http://nemesis.sourceforge.net/) est un utilitaire de création et d’injection de paquets réseau en ligne de commande. Nemesis peut créer et injecter des paquets ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF, RIP, TCP et UDP. En fabriquant votre propre paquet à l’aide de Nemesis, vous pouvez voir comment fonctionne l’empoisonnement du cache arp:

$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E

Ensuite, vous créez un paquet à envoyer dans l’autre sens:

$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \-D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C

Ces deux commandes usurpent les réponses ARP de 192.168.1.2 à 192.168.1.133 puis de 192.168.1.33 à 192.168.1.2. L’option arp Nemesis – S spécifie l’adresse IP source, – D spécifie l’adresse IP de destination, – h spécifie l’adresse MAC de l’expéditeur, -m affiche l’adresse MAC cible, – H l’adresse MAC source et – M l’adresse MAC de destination. Ces deux commandes envoient de fausses réponses ARP pour garder les caches ARP empoisonnés et le trafic redirigé.

Pour vous assurer que le cache reste empoisonné, rejouez les commandes toutes les 10 secondes avec une boucle.

$ while true>do> sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E> sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \ -D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C> echo "Redirecting"> sleep 10> done

Une fois cela fait, la boîte ciblée sera hors ligne et ne pourra pas communiquer avec le reste du réseau. J’ai fait une vidéo sur mon site qui démontre cette attaque et est disponible à http://pbnetworks.net.

Renifler le LAN

L’un des objectifs de l’empoisonnement du cache arp est de mettre l’attaquant en position de capturer et de consigner les informations du réseau. Les intrus disposent de plusieurs outils pour écouter sur le réseau local et enregistrer les données pour une analyse ultérieure.

Le mode pont d’Ettercap vous permet d’intercepter des paquets que vous pouvez ensuite lire, renifler ou modifier avant de les envoyer à la victime. Le mode pont nécessite deux interfaces placées dans le segment réseau. Si vous configurez le mode en ligne avec le mode pont réseau, vous êtes très difficile à détecter.

# ettercap -Tq -i eth0 -B eth1

Le -i définit l’interface primaire comme eth0, le -B définit la deuxième interface de pontage. Si vous exécutez ettercap dans l’interface utilisateur GTK+, sélectionnez Renifler/Renifler pontée.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.