Les attaques d'empoisonnement ARP ou également connues sous le nom d'usurpation d'identité ARP, sont l'une des attaques Man in the Middle les plus connues et les plus dangereuses que l'on puisse trouver dans les réseaux filaires et sans fil. Si un cybercriminel effectue correctement cette attaque, il pourra intercepter toutes les communications entre la victime et la connexion Internet, de plus, avec des techniques un peu plus avancées, il pourra même modifier le trafic à la volée et même « augmenter » la sécurité de le protocole HTTPS pour en faire HTTP et violer notre sécurité. Aujourd'hui, dans cet article, nous allons expliquer ce que fait une attaque d'empoisonnement ARP, comment cela se fait avec le populaire Kali Linux/Unix distribution et comment nous pouvons nous protéger de cette attaque de réseau.
Qu'est-ce que le protocole ARP ?
Le protocole ARP (Address Resolution Protocol) est l'un des protocoles fondamentaux des réseaux IPv4, sans ce protocole nous ne pourrions pas obtenir une adresse IP par DHCP ou communiquer avec d'autres ordinateurs, même si nous avons mis une adresse IP privée sur notre ordinateur. Le protocole ARP permet aux communications réseau d'atteindre correctement leur destination, son objectif est de traduire des adresses IP (adresses logiques) en une adresse MAC (adresses physiques) et vice versa. Le protocole ARP est chargé de former une table avec la paire IP-MAC, et que les différents ordinateurs du réseau local puissent communiquer entre eux sans problème, en plus, il assure également que les ordinateurs peuvent communiquer avec le routeur pour accéder au Internet Puisque le routeur aura également une adresse IP LAN et une adresse MAC, où les différents PC et appareils enverront leurs trames pour être gérées par le routeur.
Le protocole ARP n'existe que dans les réseaux IPv4, dans les réseaux IPv6 ce même travail est réalisé par ICMPv6, qui intègre plus de fonctions qu'en IPv4. Nous pouvons nous-mêmes voir la table ARP de notre ordinateur pour voir tous les ordinateurs du réseau local avec lesquels il y a actuellement une communication, si nous ouvrons une console et mettons la commande suivante :
arp -a
Dans l'image suivante, vous pouvez voir les adresses IP privées (adresses Internet) ainsi que les adresses MAC de tous les appareils (adresse physique). Nous pouvons voir toutes les tables ARP des différentes cartes réseau que nous avons, un détail très important est que nous pouvons supprimer ou mettre des paires IP-MAC de cette table ARP manuellement.
Tous les ordinateurs conservent cette table ARP en cache, elle sera donc temporairement renouvelée ou au fur et à mesure de l'apparition de nouveaux ordinateurs avec lesquels nous voulons communiquer, c'est-à-dire qu'il s'agit d'une table dynamique et qu'elle change en fonction des communications que nous allons effectuer. De cette façon, si un certain ordinateur ne connaît pas le MAC d'une adresse IP, il devra envoyer un paquet de requête ARP, demandant l'adresse MAC correspondante à d'autres ordinateurs.
L'une des entrées les plus importantes de la table ARP est celle affichée par le routeur, généralement la première adresse IP du sous-réseau. Les attaques d'empoisonnement ARP sont spécifiquement axées sur cette entrée, et nous allons maintenant expliquer pourquoi. Le protocole ARP n'a pas été conçu dans le but d'être sécurisé, il ne vérifie donc à aucun moment que la réponse à une requête ARP provient bien d'un hôte légitime, n'importe qui pourrait usurper l'identité d'un autre hôte facilement et rapidement, effectuant une attaque ARP Poisoning.
Qu'est-ce que l'attaque d'empoisonnement ARP ?
L'attaque ARP Poisoning consiste à empoisonner la table ARP d'une victime, en faisant croire que le routeur est l'attaquant, dans le but que la victime transmette tout son trafic à cet attaquant pour effectuer un reniflement de chacune des connexions qui effectuer. De cette façon, un appareil victime pourrait sans le savoir envoyer tout son trafic réseau à cet attaquant, et mener deux types d'attaques différents :
- attaque DoS : si l'attaquant ne transmet pas les connexions au routeur pour accéder à Internet, nous ferons un déni de service à la victime, c'est-à-dire que nous la laisserons sans connexion Internet.
- Homme au milieu de l'attaque : si l'attaquant transmet les connexions au routeur pour aller sur Internet, nous ferons une attaque MitM, obtenant tout son trafic réseau pour une étude plus approfondie, de plus, les informations envoyées ou reçues pourraient également être modifiées à la volée par la victime , en fait, l'une des attaques les plus dangereuses est le SSL Stripping, par lequel un attaquant est capable de « lever » le trafic HTTPS et de le convertir en HTTP pour espionner toutes les communications. L'attaquant pourra continuer à acheminer toutes les communications et obtenir toutes les informations, ce qui est la chose la plus normale, en fait, il pourra voler les cookies de la victime et se faire passer pour lui sans avoir besoin de voler les comptes d'utilisateurs et les mots de passe.
Afin d'effectuer une Attaque d'empoisonnement ARP , il est nécessaire de répondre à certaines exigences :
- L'attaquant doit être dans le même réseau que la victime, même réseau filaire ou même réseau WiFi.
- Vous devez scanner l'ensemble du réseau local à la recherche de l'adresse IP de la victime, pour lancer plus tard l'attaque.
- Vous devez utiliser différents outils, afin de créer un faux paquet ARP et de l'envoyer à la victime. Deux outils bien connus pour effectuer cette tâche sont Arpspoof et BetterCap, à partir de ce dernier, vous avez un tutoriel complet dans cet article.
- Une fois les faux paquets ARP envoyés à la victime, elle croira que nous sommes le routeur. Mais pour que la communication soit bidirectionnelle il faut aussi faire croire au routeur que nous sommes la victime, il va donc falloir lancer deux attaques ARP Poisoning, l'une sur la victime et l'autre sur le routeur.
Une fois que la victime et le routeur ont reçu les faux paquets ARP, ils communiqueront avec l'attaquant directement au lieu de l'un avec l'autre, et en ce moment l'attaquant sera au milieu de la communication. Maintenant l'attaquant
Comment faire une attaque d'empoisonnement ARP avec Kali Linux
La première chose que nous devons faire, dans la liste des applications, est de rechercher la section « 9. Reniflement et usurpation d'identité », puisque c'est là que nous trouverons les outils nécessaires pour mener à bien cette attaque informatique. Ensuite, nous allons ouvrir « Ettercap-graphique » et nous verrons une fenêtre similaire à la suivante.
Maintenant, nous devrons entrer le mot de passe super utilisateur, c'est-à-dire le mot de passe "root", par défaut le mot de passe est "kali".
L'étape suivante consiste à sélectionner les paramètres de base Ettercap, nous pouvons le laisser avec les paramètres par défaut, c'est-à-dire commencer à renifler au début, nous sélectionnerons la carte réseau que nous voulons, par défaut c'est eth0. Nous laissons le reste des options telles quelles et cliquons sur le bouton en haut à droite pour accepter les modifications.
Une fois que nous avons démarré le programme, nous devrons cliquer sur la "loupe" que vous voyez en haut à gauche, ce qu'Ettercap fera est de scanner l'ensemble du réseau local auquel nous sommes connectés à la recherche des différents appareils qui sont connectés , et donc, une victime à attaquer.
Ici, nous devrions obtenir tous les hôtes ou périphériques connectés à notre réseau. Cependant, au cas où ils n'apparaissent pas tous, nous pouvons effectuer un scan complet du réseau simplement en cliquant à nouveau sur la « loupe » que nous avons en haut à gauche. Après quelques secondes, la liste d'avant devrait être mise à jour en affichant tous les appareils, avec leurs IP et MAC respectifs, connectés à notre réseau.
En cas de vouloir mener une attaque dirigée contre un seul hôte, par exemple, supplanter l'identité de la passerelle pour surveiller les connexions de la victime qui apparaît dans la liste des appareils, avant de commencer l'attaque, nous devons établir les deux objectifs.
Pour ce faire, sous la liste des hôtes, nous pouvons voir trois boutons, bien que nous ferons attention aux deux derniers :
- Cible 1 – Nous sélectionnons l'adresse IP de l'appareil à surveiller, dans ce cas, l'appareil victime, et cliquez sur ce bouton.
- Cible 2 – Nous appuyons sur l'IP que nous voulons usurper l'identité, dans ce cas, celle de la passerelle.
Tout est prêt. Il ne nous reste plus qu'à choisir le " MITM ” menu en haut et, dans celui-ci, choisissez le ” Empoisonnement ARP "Option.
Une petite fenêtre de configuration apparaît, dans laquelle il faut veiller à marquer « Renifler les connexions à distance «. Nous devons également laisser l'option "seulement poison unidirectionnel" décochée, cette option n'effectuera pas d'empoisonnement ARP dans les deux sens mais dans un seul, par conséquent, nous n'avons pas de communication bidirectionnelle. Il est très important de laisser cette option « empoisonner uniquement à sens unique » décochée, c'est-à-dire telle qu'elle est par défaut.
On clique sur « Ok » et l'attaque aura lieu. Maintenant, nous pouvons avoir le contrôle sur l'hôte que nous avons défini comme " Cible 1 " .
La prochaine chose que nous devons faire est, par exemple, d'exécuter Wireshark pour capturer tous les paquets réseau et de les analyser à la recherche d'informations intéressantes ou de recourir aux différents plugins que Ettercap nous propose, comme, par exemple, le navigateur Web distant, où il nous chargera tous les sites Web que la cible visite. Par exemple, nous avons fait le ping typique à Google, l'équipe attaquante a tout capturé correctement.
Ces techniques sont uniquement destinées à un usage privé au sein de notre propre réseau, ou dans un réseau sur lequel nous avons l'autorisation, logiquement ces techniques peuvent être appliquées à des fins illégales. Si nous utilisons ces techniques pour surveiller les systèmes d'autres personnes, nous commettons un crime.
Une fois que nous avons déjà appris comment effectuer cette attaque avec Kali Linux facilement et rapidement, voyons comment nous pouvons atténuer cette attaque.
Détectez et atténuez cette attaque pour surfer en toute sécurité
Cette attaque sur les réseaux de données est très populaire et accessible à tous, pour cette raison, il est très important de savoir comment détecter si cette attaque est menée contre nous, et aussi comment nous pouvons atténuer cette attaque afin qu'elle ne réussir. Dans de nombreux cas, la seule chose que nous puissions faire est de crypter toutes nos communications afin que, bien qu'elles puissent capturer toutes les informations, elles ne puissent rien lire du tout. Ci-dessous, vous pouvez voir tous les détails pour détecter et atténuer cette attaque.
Comment puis-je détecter que cette attaque est menée contre moi ?
Le moyen le plus simple de détecter qu'une attaque ARP Poisoning ou ARP Spoofing est en cours est de vérifier la table ARP, avec la commande précédente de «arp -a», nous pouvons voir la table ARP complète de notre appareil, au cas où nous en aurions deux Adresses IP avec la même adresse MAC physique, cela signifie que quelqu'un mène une attaque Man in the Middle avec un empoisonnement ARP. Par exemple, imaginons que nous ayons la table ARP suivante :
Adresse Internet Adresse physique
192.168.1.1 00-01-02-03-04-05
192.168.1.2 00-01-02-03-04-AA
192.168.1.3 00-01-02-03-04-05
Dans ce cas, on peut parfaitement voir que le routeur et le deuxième PC ont exactement la même adresse MAC. Cela signifie que la table ARP est empoisonnée. Il existe des programmes de sécurité qui nous permettent de détecter automatiquement si une telle attaque est menée contre nous, il vérifiera continuellement la table ARP pour trouver s'il y a une adresse MAC en double, puis il enverra une alerte à l'utilisateur.
Mesures pour atténuer cette attaque
Pour un utilisateur, la seule mesure qui peut être prise pour atténuer cette attaque est de utiliser un VPN , cela garantira la confidentialité et l'authenticité de toutes les connexions. Nous devons nous rappeler que, dans certains cas, il est possible de violer les connexions HTTPS en utilisant les techniques de stripping SSL, par conséquent, si vous souhaitez être protégé contre cette attaque, nous vous recommandons d'utiliser IPsec, OpenVPN ou WireGuard type VPN, tous nous garantiront la sécurité et la confidentialité du réseau.
Une autre mesure qu'un utilisateur pourrait prendre est pour enregistrer une entrée statique dans notre table ARP , cependant, cela ne fonctionnera que si nous nous connectons toujours aux mêmes réseaux, sinon nous devrions enregistrer et supprimer l'entrée ARP , ce qui est très inconfortable. S'il s'agit d'un ordinateur statique tel qu'un ordinateur de bureau, cela pourrait être fait de cette façon, cependant, il est préférable de le faire au niveau du réseau par l'administrateur.
Dans le cas des administrateurs du réseau lui-même, actuellement les commutateurs et les routeurs/pare-feu ont des techniques anti-usurpation d'ARP , de cette façon, si nous activons ces mesures de sécurité, cela empêchera un attaquant d'attaquer un autre utilisateur au sein de notre propre réseau, par conséquent, ce serait une fonctionnalité très importante pour protéger ses propres utilisateurs. On pourrait aussi activer le DHCP Snooping pour empêcher un attaquant de mettre en place son propre serveur DHCP pour fournir un adressage à une victime spécifique ou à plusieurs.
Enfin, une fois que nous avons mis en œuvre ces mesures d'atténuation, notre recommandation est que vous réalisiez vous-même ce type d'attaque pour vérifier que vos défenses sont efficaces, c'est-à-dire qu'il est très important que vous vérifiiez votre propre sécurité.