wxPolicier ARP

L'ARP cache poisoning est une attaque qui consiste à fausser la correspondance entre les adresses IP et MAC des ordinateurs connectés sur un même réseau. Elle permet alors de détourner les communications pour mieux les espionner : révélation de mots de passe, vol de connexion partagée...

La faille est historique mais elle est très facilement détectable. Au-delà du fait qu'un switch a des capacités d'interception, un utilisateur peut de son côté initier des détections de façon à non se prémunir mais avoir connaissance des attaques.

Notre logiciel s'appuie sur une technique résolument simple et imparable : vous entrez statiquement la correspondance IP/MAC des unités que vous utilisez le plus souvent (passerelle réseau, serveur interne...) et le cache ARP sera régulièrement analysé pour détecter les incohérences, et donc les attaques.

Télécharger

Le logiciel est gratuit, illimité et disponible uniquement pour Windows (architecture NT).

Téléchargement :

  • Windows (1,19 Mo) - c501c8d8742ba5540b21857ddde397df
  • Linux n'est pas supporté, Wine non plus !

wxPolicer ARP

Notice :

Pour désinstaller le logiciel, supprimez l'application ainsi que le fichier "wxarp.ini" situé dans le répertoire "Documents and Settings" de l'utilisateur courant.

Le logiciel bride l'affichage du cache à 2048 entrées.

Le "mode gardien" consiste à réduire la fréquence de vérification du cache.

Fond documentaire

Sur un réseau local, les ordinateurs sont communément identifiés par une adresse IP. En réalité, une même IP peut correspondre à plusieurs ordinateurs, car le masque de sous-réseau permet de diviser logiquement tout ce qui transite. Chaque PC répond uniquement aux requêtes qui concerne son réseau.

Les adresses MAC interviennent au niveau du câblage : ce réseau est non partitionnable et chaque adresse est unique dès la fabrication du matériel pour éviter les collisions.

Le lien entre MAC et IP se fait par le protocole ARP qui est aussi simple que non sécurisé.

Le problème

L'établissement de la table de conversion se fait à la criée. En fournissant son adresse MAC, un ordinateur envoie un message à tout le monde pour demander qui est l'adresse IP qu'il recherche. L'ordinateur de destination répond de la même façon.

Or il est possible de forger spécialement un message en joignant l'adresse MAC d'un tiers : celle d'un usurpateur par exemple. Ainsi l'ordinateur de destination comprend que le message avec la vraie IP et la fausse MAC est une combinaison. Il met à jour son cache ARP et répond alors normalement au voleur dont le comportement a été modifié pour répondre à sa vraie MAC mais surtout à la fausse IP de son message. Dans cette situation, si l'ordinateur attaqué souhaite communiquer avec l'IP usurpée, la communication se fera via la MAC du voleur qui effectuera les adaptations nécessaires pour que le destinataire recoive la communication sans qu'il se doute qu'elle a été détournée.

Constater une attaque

Le cache de mon ordinateur contient une correspondance pour un ordinateur que je connais mais dont l'adresse MAC n'est certainement pas celle affichée. Je comprends aisément que je suis victime d'une attaque de l'homme du milieu et que je n'ai pas intérêt à me connecter en clair sur la machine 10.200.201.64.

Exemple d'attaque par spoofing

Prouver une attaque

Si je suis atteint, mon cache est faux. Il faut donc le forcer à se rafraîchir. Je vide donc mon cache puis je me connecte sur l'IP que je veux. Une résolution ARP normale va se produire et le cache va retrouver une valeur correcte. Si je constate une différence de MAC, celle que j'avais était donc celle du voleur à l'instant T donné.

En redemandant l'IP souhaitée, c'est le vrai ordinateur qui va répondre et non pas le voleur. En effet, il n'est pas possible d'avoir deux réponses à la même criée. Le voleur ne peut pas se prétendre être autre puisque le vrai ordinateur répondra juste en toutes circonstances. Il faut donc attendre une prochaine criée de la part du voleur pour confirmer que c'était bien lui à l'origine du détournement de mon trafic. Il le fera nécessairement puisqu'un cache correct implique qu'il ne m'intercepte plus pour le moment.

Dans l'exemple suivant, on comprend que la passerelle commune 10.200.0.1 a été spoofée par un ordinateur sur le réseau dont la MAC à l'instant T commence par "00-1B-24" (Quanta Computer).

Exemple d'attaque par spoofing

Comme dit précédemment, le voleur doit récidiver pour maintenir son attaque active. Il est possible alors d'écouter les requètes ARP des ordinateurs présents sur le même câble (tout réseau IP logique confondu). On retrouve facilement la trace du voleur.

Log de l'activité réseau

L'histoire prouvera que l'odieux bandit avait l'IP 10.200.0.255 et qu'il s'est échappé... sans même savoir si des mots de passe du proxy HTTP ont véritablement été volés.

Conclusion

Les réseaux de faible confiance expliquent pourquoi les entreprises sont scrupuleuses sur les machines qui accèdent à leur réseau. Le développement de notre modeste outil, illustré par ce cas d'étude très concret, est motivé par la volonté d'aider les utilisateurs à y voir plus clair lorsque les moyens techniques sont très limités.

Une solution consiste simplement à créer des tables statiques via la commande arp -s, mais elles sont difficilement maintenables.

Une autre technologie utilisée dans les hôtels et restaurants consiste à attribuer à tous les ordinateurs du réseau l'adresse MAC du portail wifi : modification à la volée des broadcasts ARP au niveau du switch. Les communications entre ordinateurs sont de facto strictement impossibles alors que les communications vers l'extérieur (ie. Internet) fonctionnent.

Avez-vous trouvé l'information que vous cherchiez ? Votre retour d'expérience sur le site nous intéresse.

Dernière modification le 7 octobre 2012 à 20:05