Les Forums

Les Forums

Les forums sont fermés. Ils restent présent pour consultation et archivage.
Vous pouvez désormais poser vos questions directement dans les commentaires en bas de chaque page du site.
Alors n'hésitez pas à participer

[Aide] ARP cache poisoning

Bonjour,

Supposant qu’on a deux machines (A et B) reliées en réseau entre elles. La machine A est connecté à Internet via un modem simple (non routeur). La machine A partage sa connexion Internet avec la machine B (la passerelle par défaut de B est A).
Donc A intercepte tout le trafic Internet de B, mais B ne peut pas intercepter le trafic Internet de A.
B --> A --> Internet
Internet --> A --> B

Mais supposant que la machine B veut espionner ce qu’émet A vers une autre machine X sur Internet ayant IP_X comme adresse IP.

La machine B modifie le cache ARP de A en lui envoyant une trame contenant MAC_B comme adresse source et IP_X comme IP source ; le cache ARP de A contiendra donc l'entrée IP_X --- MAC_B.
Sachant qu’une machine qui veux émettre un paquet regarde d’abord son cache ARP s’il y a l’entrée correspondante à cette IP elle envoi directement vers la MAC associé, sinon si une requête ARP ne donne pas de repense, elle envoi vers sa passerelle par défaut.

Alors si la machine A veut envoyer un paquet vers la machine X (IP_X), en regardant son cache ARP elle va trouver la correspondance entre IP_X et MAC_B, et elle envoi donc vers la machine B.

Est-ce que théoriquement ce que j’ai dit est possible ? Ou bien y a quelque chose qui close dans mes dires ?
A part si le cache ARP d’une machine n’accepte pas les adresses IP publique (non privé) je ne vois pas où est le problème ; est-ce que c’est le cas ?

Merci beaucoup.
Le principe est le bon, mais dans ton cas cela ne marche pas.

Il faut bien voir que l'attaque par arp cache poisoning ne fonctionne QUE sur un réseau local. Ainsi, comme la machine A a deux interfaces réseau, une vers Internet et une vers le réseau local, la machine B n'est pas dans le même réseau que A sur son interface externe. B ne pourra donc pas faire de arp cache poisoning avec A pour intercepter le trafic qui va vers Internet.
Bonjour elalitte,

en d'autre terme, ceci est dû au fait que: avant d'envoyer une trame sur le réseau, une machine regarde si l'IP de la machine avec laquelle elle veux communiquer appartient à la plage d'IP de son LAN, si c'est le cas elle utilise son cache ARP (ou fait une requête ARP), sinon elle envoi vers sa passerelle par défaut ?
Et puisque IP_X n'appartient pas au LAN où ce trouve la machine B, donc A ne va pas regarder son cache ARP, et va envoyé vers sa passerelle par défaut (qui est elle même -A- au passage) ?

Encore merci.
C'est bien ça !
J'ai vu sur votre cours présent ici http://www.lalitte.com/cours_reseau.pdf
dans la parti qui parle de ARP.

[img:db1e24615c]http://imgs.imagup.com/member3/1220364099_ok.jpg

Si on a un PC A appartenant à un LAN 1 et un PC B appartenant à un autre LAN, et y a un routeur reliant les deux réseau (comme sur l'image).
Alors s'il y a une machine P sur le même LAN que A, elle peut modifié le cache ARP de A liant son adresse MAC_P avec l'IP de B (IP_B). Ok.

Vous dites ensuite que tout les paquet de A passerons par P avant d'être redirigé vers le routeur ensuite à B ...

Mais sachant qu'avant d'envoyer une trame sur le réseau, une machine regarde si l'IP de la machine avec laquelle elle veux communiquer appartient à la plage d'IP de son LAN, si c'est le cas elle utilise son cache ARP (ou fait une requête ARP), sinon elle envoi vers sa passerelle par défaut.
Donc dans notre cas IP_B n'appartient pas à la plage d'IP du LAN où ce trouve A, et donc A va envoyé le paquet vers sa paserelle par defaut directement, sans regardé son cache ARP.
P ne pourra donc pas faire de ARP cache poisoning sur A pour intercepter le trafic qui va vers B. Non ?
Si, puisque quand A veut parler à B, sa table de routage lui dit de parler au routeur. le pirate va donc se faire passer pour le routeur et pas pour B, et il sera sur d'intercepter le traffic pour B 🙂

Comment est ce que le pirate P va il se faire passer pour le routeur ? à moins qu'il ne puisse modifié la table de routage de A, je ne vois pas comment faire :p
Le routeur est une machine comme une autre, l'attaque par arp cache poisoning va fonctionner vu que P est sur le meme réseau que A et le routeur.
P va se faire passer pour le routeur et non pour B vis à vis de A.
Donc P va se faire passé pour le routeur en modifiant le cache ARP de A en lui envoyant une trame contenant MAC_P comme MAC source et IP_Routeur comme IP source (une entré IP_Routeur --- MAC_P sera ajouté dans le cache ARP de A).

et donc la trame avec laquelle il fait du ARP cache poisoning à A est:
[img:d9d396f1fb]http://imgs.imagup.com/member3/1220370521_ipr.jpg

et non pas

[img:d9d396f1fb]http://imgs.imagup.com/member3/1220370535_ipb.jpg
Tout à fait !
ça m'as confus au début car j'ai lu IP_B dans la trame envoyé par P à A.
Merci beaucoup pour l'éclaircissement 😀
Si tu as besoin de faire des tests réseaux etc, tu peux utiliser un logiciel que j'avais fait y a un moment de çà 🙂

[url=http://requesthelp.free.fr/Download/PacketCreator_v2.2_Setup.exe]PacketCreator[/url]

A+

NB: Tu dois pouvoir capturer avec wireshark en parallèle pour voir les trames ARP en détail.
Salut analyzer,
T'as programmé ça en langage C ? Si oui, peux-tu me passer le code source de cette application si possible ?
Merci.

ShNaYkHs.
salut, merci analyzer, je cherchais justement à faire des testes réseaux avec ce que j'ai appris théoriquement 🙂
t'as pas un fichier d'aide ou une petite doc qui explique l'utilisation de ton programme stp ?
merci bien