Empecher l’arp poisoning / arp spoofing / Détecter si quelqu’un sniffe votre réseau
John JEAN
Posté le 28 avril 2009
Partant du postulat qu’aucun réseau n’est fiable, je suis souvent pris de crise de paranoïa. En effet, comment savoir si le Wifi sur lequel je suis connecté à l’hôtel ou dans un café n’est pas victime de sniff d’un petit bidouilleur du coin. Au final, ce schéma n’est pas si paranoïaque que cela, le bidouilleur en question peut tout a fait avoir cracké la clé wep de la connexion et sniffer tout ce qui passe sur le réseau à mon insu. Je ferai prochainement un billet sur les attaques de type Man in The Middle, en attendant voici pour la théorie sur l’ARP poisoning.
Grosso modo le sniffing repose sur une faiblesse du protocole ARP. Sans entrer dans les détails, ce protocole sert à gérer l’association des adresses MAC / IP. Si vous tapez arp -a dans votre shell, vous verrez la plage ARP que votre ordinateur a en cache. Donc dans l’idée, si ce cache est vide, j’envoie une requête broadcasté pour émettre ma trame = > tous les ordinateurs du réseau sont au courant de cette requête et l’ordinateur concerné me renvoie son adresse MAC; après association, ma trame est envoyée. Si j’ai déjà l’association en cache, ma trame est envoyée immédiatement.
L’astuce va consister à usurper une adresse IP au sein du réseau en utilisant des packets forgés. Comment cela se passe ? Si je veux sniffer ce qu’Etienne et Alix se disent, je vais envoyer à Etienne un packet avec en adresse IP source, l’ip de la machine d’Alix et l’adresse MAC de ma carte réseau. On imagine aisément la suite, j’envoie un packet à Alix avec l’adresse IP d’Etienne en source et mon adresse MAC à nouveau. Lorsque les deux vont vouloir communiquer, c’est moi qui vais recevoir les trames. Une fois que les trames arrivent chez moi, j’ai plusieurs choix: Ecouter ce qu’ils se disent (conversations MSN, Surf, etc) avec du Man in the Middle, donc rerouter les packets ensuite; paralyser le réseau en réalisant un Ddos: MITM sans relayer les packets; décider de ne pas router les packets après réception: bloquage du réseau. Ainsi je peux écouter l’intégralité des informations échangées sur le réseau où je suis.
Pour éviter ce type d’attaque on peut par exemple mettre des entrées statiques dans les cache ARP, mais cette méthode a ses limites: il faut un faible nombre de machines sur le réseau, et c’est biensûr impossible sur un Wifi ouvert d’hôtel. Sinon, on peut surveiller le réseau, et couper les accès aux adresses IP usurpées (Victime 1, Victime 2, Attaquant).
Si l’on est victime de ce type d’attaque, on peut limiter le casse: le bon usage voudrait que l’on utilise SYSTÉMATIQUEMENT des connexions en SSL pour rappatrier ses mails, se loger sur ses comptes favoris (gmail, analytics, etc), et se limiter à l’essentiel dans ce surf. Bref tout cela reste problématique et assez peu déterministe. D’autant plus que de configurer un proxy SSL pour son IM n’est pas toujours possible, et un pirate peut aisément extraire les trames spécifiques qui l’interesse. Par exemple en cas de sniffing, si sous Wireshark j’utilise: msnms contains « text/plain » && ip.addr == 192.168.0.10, je pourrais lire l’intégralité des conversations msn de la victime.
Tout cela pour dire que j’ai trouvé un soft qui se lance au démarrage de votre machine et vous alerte en cas d’ARP Poisoning. Je ne peux plus m’en passer, ma paranoia diminue, bref tout va pour le mieux dans le meilleur des mondes.
Le soft en question s’appelle Xarp, téléchargeable ici. Donc comme précisé, il se lance au démarrage et analyse les associations ARP, et permet de déceller si vous êtes victime d’ARP Poisoning. S’il détecte une attaque, il pop une alerte avec l’adresse IP de l’attaquant et celles des victimes.
Sinon si vous voulez vous la jouer un peu plus old school, vous avez arpwatch.

Everything dynamic and very positively! :)
Thank you
SSL protégera de l’écoute malveillante du réseau mais pas d’un mitm associé à un arp spoofing.
A propos de la 2e partie du titre (« Détecter si quelqu’un sniffe votre réseau »), on peut utiliser l’outil antisniff ou sinon, à la main, on peut envoyer des arp who-has à destination de ff:ff:ff:ff:ff:fe.
SSL empêchera de collecter les informations utilisateurs, sauf si celui-ci ne voit pas les faux que l’attaque MITM génère :) Là on ne peut plus rien faire :]
Salut For all
une Vidéo ARP Poisoning Avec Cain
http://www.youtube.com/watch?v=2U2aVf-0aFw
Merci tout le monde and Nice Work Mr.John
Bonjour,
je tiens a preciser qu’il existe un autre soft pour la detection & le blocage de l’arp poisoning : AntiArp
de colorsoft, je le prefere a xarp
En version Workstation & Server
http://www.antiarp.com/english.html
http://download.antiarp.com/tmp/antiarp_eng.rar
Version : v6.0.1
Size : 7.35 MB
Release Date : 2009-02-24
Platform : Windows2000/XP/2003/Vista
Language : English
Authorization : 15-days free trial
Cordialement
A oui, j’oubliai pour le petit pb de ssl & ssh, li ya le script sslstrip, outil destine a reroute du ssl sur du http en clair (facebook,Gmail,etc…) entre autre
Sput
++
http://www.thoughtcrime.org/software/sslstrip/
http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.2.tar.gz
Moi j’aimerais revenir sur « msnms contains « text/plain » && ip.addr == 192.168.0.10″.
En quoi ça permet de voir le contenu de la conversation msn ?
http://wiki.wireshark.org/MSNMS
En partant du principe que tu fais un MITM.
C’est bien de donner les références de ce genre d’outils… Mais c’est encore mieux de les tester (à en juger par la capture: host windoze… et le propos de l’article ne mentionnait pas l’usage d’un cable!)
Pour l’avoir fait avec un attaquant linux, sur un wlan avec le classique:
ettercap -i wlan0 -TqM arp:remote /IP_GW/ /IP_CIBLE/
et en parallèle, histoire de vérifier que ça marche, un sniff de mdp de connection à un site:
tcpdump -XX -vv -s0 -i wlan0 port 80 | grep -i -A5 login
Eh bien le Xarp windows, il ne tilte que dalle et mon tcpdump pendant ce temps a fait bonne pêche quand je me loggue via la machine attaquée!
A la reflexion, sans doute est-ce du au fait que Xarp s’appuie sur la version windows de la libpcap, vu que l’installateur la tire… librairie qui est connue pour ne pas fonctionner sur les interfaces wifi, pour cela il faut la airpcap, mais qui est payante et assez chère!
Alors pour espérer surfer tranquille au cyber café du coin avec Xarp, changez pour un vrai OS…
Reste à savoir pourquoi xarp, qui n’est pas censé sniffer mais monitorer le cache arp… a besoin d’une libpcap et probablement de passer l’interface en promiscuous, ce qui bloque la libpcap.
A la limite je trouve ça plutot inquiétant, pas vous? Mais je ne suis pas un pro de la sécurité non plus… juste un pol vigilant avec ce truc que je m’en vais désinstaller sur le champ, en espérant que ça suffise…
Lors de mes tests, il avait detecté mes tentatives, sinon je n’aurais pas posté l’article. Si vous souhaitez plus « inquiétant », voici une info lors d’un échange de mail avec son créateur:
[...]
Note, that XArp requires superuser priviledges for accessing the network
interfaces. I have not found any other way, maybe giving rights for only
accessing e.g. eth0 will suffice. Currently I always start XArp with
sudo ./xarp
Most of the functionality works, somehow the minimizing functionality is
messed up, so don’t minimize :) Furthermore, the MAC-Vendor database is
outdated, so most interfaces will be labeled « unknown ». If you require a
XArp version for 64bit I can try to get it compiled on 64bit. You are
welcome to test XArp on as many machines as you like with the given
registration information.
Voici le mail du créateur si vous souhaitez aller à la pêche aux infos: XArp Development xarp@chrismc.de, Tenez moi au courant ! ;)
Petit commentaire en plus… Le désinstalleur ne dégage pas la libpcap, ce qu’il faut faire manuellement. Pas super propre, jusque dans la désinstallation ce truc…
Le fait qu’il ne prévienne pas sous windows quand on est connecté en wifi, qu’il ne pourra pas fonctionner, peut de plus donner un faux sentiment de sécurité.
Je pense qu’il faudrait revoir l’article en conséquence…
Waouh! Ca c’est de la réponse rapide… et pourtant le post est un peu ancien :o)
Héhé, merci les alertes WordPress :D
bonjour,
tres bon soft merci des conseils…
par contre il me mets des alerte sur des machine avec « CorrupFilter : ethernet target does not matc arp target mac. »
je ne comprend pas ces alertes ! (surtout que souvent c’est des machines dem on reseau en client leger) ensuite je remarque qu’il me previens lors des brodcast de certain machine ! mais je suis en dhcp donc j’ai quand même souvent des broadcast….
Hello, cet article date pas mal, il faudrait que je rééessaie pour voir dans quel use-cases il fait ce type d’alerte. Si j’ai 5 minutes, je regarderais. J
ok merci
Bonjour!
Je vous remercie pour les softs pour la détection & le blocage de l’arp poisoning sur le ssl&ssh, mais je voudrais demander s’il y a une méthode d’identifier les trames ARP spoofer et non spoofer!
En vrais dire comment ces softs procède t-ils pour la détection de cette attaque.
Je vous remercie.
J’imagine qu’il consulte la table ARP.
merci pour l’info
mais le problème avec xArp est qu’il détécte souvent des fausses alertes, ici a la fac il y a 2 point d’accès Wifi, si je bascule entre eux, il me met des tonnes d’alertes, quand je regarde, je trouve que ces alertes proviennent toutes de mon pc!
C’est possible si tu as des VMs sur ta machine.
Mais ce billet date de très longtemps, le soft n’est peut-être plus maintenu.