Termes. Tout sur l'attaque de l'homme du milieu (MitM) Comprendre le fonctionnement d'Internet

Un processus en trois étapes pour démarrer une session TCP. Le client envoie un paquet avec le drapeau SYN au serveur. Après avoir reçu un paquet avec le drapeau SYN du client, en réponse, le serveur envoie un paquet avec les drapeaux SYN + ACK et passe à l'état ESTABLISHED. Après avoir reçu une réponse correcte du serveur, le client envoie un paquet avec le drapeau ACK et passe à l'état ESTABLISHED

Liste d'interdiction

Liste des clients qui n'ont pas droit à certaines actions. Une liste d'interdiction est généralement utilisée pour limiter les capacités des robots lorsqu'une attaque DDoS est détectée. De plus, dans la réalité des serveurs de jeux, cette liste comprend des joueurs de mauvaise réputation, utilisant des codes de triche ou commettant des actions illégales.

Le robot

L'ordinateur utilisé pour mener l'attaque DDoS avec un trafic "réel". Dans la plupart des cas, il s'agit de l'ordinateur d'un utilisateur ordinaire infecté par un virus. Souvent, l'utilisateur ne peut pas remarquer que son ordinateur est infecté et est utilisé à des fins illégales

serveur Web

Un ordinateur sur un réseau qui accepte les requêtes HTTP des clients, généralement des navigateurs Web, et leur envoie des réponses HTTP. En règle générale, avec la réponse HTTP, le serveur Web répond avec une page HTML, une image, un flux multimédia ou d'autres données.

service Web

Les services Web sont des services rendus sur Internet. Lorsque vous utilisez ce terme, nous pouvons parler de recherche, de messagerie Web, de stockage de documents, de fichiers, de signets, etc. Habituellement, les services Web peuvent être utilisés quel que soit l'ordinateur, le navigateur ou l'emplacement d'accès à Internet.

Domaine

Le domaine peut être utilisé dans une variété de contextes lorsqu'il s'agit de technologies de mise en réseau. Le plus souvent, un domaine désigne le nom de domaine du site. Les domaines sont divisés en différents niveaux, par exemple, dans le domaine example.com, com est le domaine de premier niveau et example est le domaine de deuxième niveau. Pour simplifier la communication, les gens utilisent également le terme « sous-domaine », ce qui signifie un domaine avec un niveau supérieur à deux. Par exemple, dans le domaine mail.example.com, mail est un sous-domaine.

Robot de recherche

Service de moteur de recherche pour découvrir de nouvelles pages sur Internet et modifier les pages existantes. Le principe d'action est similaire au navigateur. Il analyse le contenu de la page, le stocke sous une forme spéciale sur le serveur du moteur de recherche auquel il appartient et est envoyé via des liens vers les pages suivantes.

Bande passante

La quantité maximale possible de données transmises par unité de temps. Souvent, les fournisseurs d'accès Internet, promettant un accès Internet haut débit, ne tiennent pas leurs promesses. Dans la plupart des cas, cela est dû à la consommation totale de la bande passante.

18.10.2016 | Vladimir Khazov

Les plans du FSB, du ministère des Télécoms et des Communications de masse et du ministère de l'Industrie et du Commerce pour mettre en œuvre les dispositions de la loi Yarovaya en termes d'interception et de décryptage de la correspondance des Russes ne sont plus seulement des plans, et commencent déjà à être déclenchée par une ordonnance de préparation d'un avis d'expert sur la possibilité d'intercepter des messages WhatsApp, Viber, Facebook Messenger, Telegram, Skype à l'aide d'attaques MITM et démonstration d'un prototype d'un tel outil.

Nous avons parlé du projet d'organisation d'une attaque "légitime" du MITM dans le dernier article. Aujourd'hui nous allons nous attarder plus en détail sur le principe même d'une telle attaque et les modalités de sa mise en œuvre.

Qu'est-ce qu'une attaque MITM

Man In The Middle (MITM) se traduit par "l'homme au milieu". Ce terme désigne une attaque réseau où un attaquant se situe entre l'internaute et l'application à laquelle il accède. Pas dans le plan physique, bien sûr, mais à l'aide d'un logiciel spécial. Il est présenté à l'utilisateur par l'application demandée (il peut s'agir d'un site Web ou d'un service Internet), simule son utilisation et le fait de manière à donner l'impression d'un fonctionnement et d'un échange d'informations normaux.

La cible de l'attaque sont les données personnelles de l'utilisateur, telles que les identifiants de connexion pour divers systèmes, les coordonnées bancaires et les numéros de carte, la correspondance personnelle et d'autres informations confidentielles. Dans la plupart des cas, les attaques ciblent les applications financières (banques clientes, banques en ligne, services de paiement et de transfert d'argent), les services SaaS d'entreprise, les sites de commerce électronique (boutiques en ligne) et d'autres sites où une autorisation est requise pour entrer dans le système.

Les informations reçues par l'attaquant peuvent être utilisées à diverses fins, notamment les transferts d'argent illégaux, le changement de compte, l'interception de correspondance personnelle, l'achat aux frais de quelqu'un d'autre, la compromission et le chantage.

De plus, après le vol des identifiants et le piratage du système, des malfaiteurs peuvent installer des logiciels malveillants sur le réseau de l'entreprise pour organiser le vol de propriété intellectuelle (brevets, projets, bases de données) et causer des dommages économiques en supprimant des données importantes.

Une attaque MITM peut être comparée à un facteur qui, lors de la livraison de votre correspondance, ouvre une lettre, réécrit son contenu pour un usage personnel, ou encore, ayant falsifié une écriture manuscrite, ajoute quelque chose qui lui est propre, puis scelle l'enveloppe et la livre au destinataire comme si de rien n'était... De plus, si vous avez crypté le texte de la lettre et que vous souhaitez communiquer personnellement le code de décryptage au destinataire, le facteur se présentera comme le destinataire afin que vous ne remarquiez même pas la substitution.

Comment une attaque MITM est menée

L'exécution d'une attaque MITM comprend deux phases : l'interception et le décryptage.

  • Interception

La première étape d'une attaque consiste à intercepter le trafic d'un utilisateur vers une cible désignée et à le diriger vers le réseau de l'attaquant.

Le moyen le plus courant et le plus simple d'intercepter est une attaque passive, lorsqu'un attaquant crée des points d'accès Wi-Fi avec un accès gratuit (pas de mot de passe ni d'autorisation). Au moment où un utilisateur se connecte à un tel point, l'attaquant accède à tout le trafic qui le traverse et peut en extraire toutes les données pour l'interception.

La deuxième méthode est l'interception active, qui peut être effectuée par l'une des options suivantes :

Usurpation d'adresse IP- usurper l'adresse IP de la cible dans l'entête du paquet avec l'adresse de l'attaquant. En conséquence, les utilisateurs, au lieu d'aller à l'URL demandée, se retrouvent sur le site de l'attaquant.

Usurpation d'ARP- substitution de l'adresse MAC réelle de l'hôte à l'adresse de l'attaquant dans la table ARP de la victime. En conséquence, les données envoyées par l'utilisateur à l'adresse IP de l'hôte requis parviennent à l'adresse de l'attaquant.

Usurpation DNS - Infection du cache DNS, infiltration du serveur DNS et substitution d'un enregistrement de correspondance d'adresse de site Web. En conséquence, l'utilisateur essaie d'accéder au site demandé, mais reçoit l'adresse du site de l'attaquant du serveur DNS.

  • Décryptage

Après l'interception, le trafic SSL bidirectionnel doit être décrypté, et cela doit être fait de manière à ce que l'utilisateur et la ressource demandée par lui ne remarquent pas l'interférence.

Il existe plusieurs méthodes pour cela :

Usurpation HTTPS- un faux certificat est envoyé au navigateur de la victime au moment d'établir une connexion au site utilisant le protocole HTTPS. Ce certificat contient la signature numérique de l'application compromise, ce qui fait que le navigateur accepte la connexion avec l'attaquant comme fiable. Une fois qu'une telle connexion est établie, l'attaquant accède à toutes les données saisies par la victime avant qu'elles ne soient transmises à l'application.

SSL BÊTE(exploit de navigateur contre SSL / TLS) - L'attaque exploite la vulnérabilité SSL dans les versions TLS 1.0 et 1.2. L'ordinateur de la victime est infecté par du code JavaScript malveillant qui intercepte les cookies cryptés envoyés à l'application Web. Cela compromet le mode de chiffrement "cipher block chaining" afin que l'attaquant obtienne les cookies déchiffrés et les clés d'authentification.

piratage SSL- transfert de fausses clés d'authentification à l'utilisateur et à l'application au moment du début de la session TCP. Cela crée l'apparence d'une connexion sécurisée alors qu'en fait la session est contrôlée par un homme au milieu.

Décapage SSL- Déclasse la connexion de HTTPS sécurisé à HTTP simple en interceptant l'authentification TLS envoyée par l'application à l'utilisateur. L'attaquant fournit à l'utilisateur un accès non crypté au site, et il maintient lui-même une session sécurisée avec l'application, obtenant ainsi la possibilité de voir les données transmises par la victime. \

Protection contre les attaques MITM

Une protection fiable contre les attaques MITM est possible lorsque l'utilisateur effectue plusieurs actions préventives et utilise une combinaison de méthodes de cryptage et d'authentification par les développeurs d'applications Web.

Actions de l'utilisateur :

  • Évitez de vous connecter à des points d'accès Wi-Fi qui n'ont pas de protection par mot de passe. Désactivez la fonction de connexion automatique aux points d'accès connus - un attaquant peut déguiser son Wi-Fi en légitime.
  • Faites attention à la notification du navigateur concernant la transition vers un site non protégé. Un tel message peut indiquer une transition vers un faux site d'un attaquant ou des problèmes avec la protection d'un site légitime.
  • Déconnectez-vous de l'application si elle n'est pas utilisée.
  • N'utilisez pas les réseaux publics (cafés, parcs, hôtels, etc.) pour des transactions confidentielles (correspondance commerciale, transactions financières, achats dans les magasins en ligne, etc.).
  • Utilisez un antivirus avec des bases de données à jour sur votre ordinateur ou ordinateur portable, il vous aidera à vous protéger contre les attaques utilisant des logiciels malveillants.

Les développeurs d'applications et de sites Web doivent utiliser des protocoles sécurisés TLS et HTTPS, qui compliquent grandement les attaques d'usurpation d'identité en cryptant les données transmises. De plus, leur utilisation empêche l'interception du trafic afin d'obtenir des paramètres d'autorisation et des clés d'accès.

Il est considéré comme une bonne pratique de sécuriser TLS et HTTPS non seulement des pages d'autorisation, mais également de toutes les autres sections du site. Cela réduit le risque qu'un attaquant vole les cookies de l'utilisateur au moment où il navigue sur des pages non protégées après avoir passé l'autorisation.

La protection contre les attaques MITM est de la responsabilité de l'utilisateur et de l'opérateur télécom. Pour l'utilisateur, le plus important est de ne pas perdre sa vigilance, de n'utiliser que des méthodes éprouvées d'accès à Internet, et de choisir des sites avec cryptage HTTPS pour transférer des données personnelles. Les opérateurs de télécommunications peuvent être invités à utiliser des systèmes d'inspection approfondie des paquets (DPI) pour détecter les anomalies dans les réseaux de données et empêcher les attaques par usurpation d'identité.

Les agences gouvernementales prévoient d'utiliser l'attaque MITM pour protéger les citoyens, et non leur nuire, contrairement aux attaquants. L'interception de messages privés et autres trafics d'utilisateurs est réalisée dans le cadre de la législation en vigueur, réalisée par décision des autorités judiciaires pour lutter contre le terrorisme, le trafic de drogue et autres activités interdites. Pour les utilisateurs ordinaires, les attaques MITM « légitimes » ne sont pas dangereuses.

Désigne une situation où un attaquant est capable de lire et de modifier à volonté les messages échangés par les correspondants, et aucun de ces derniers ne peut deviner sa présence dans le canal.


Fondation Wikimédia. 2010.

Voyez ce qu'est « L'homme au milieu (attaque) » dans d'autres dictionnaires :

    Attaque "man in the middle", attaque MITM (anglais Man in the middle) est un terme en cryptographie, désignant une situation où un cryptanalyste (attaquant) est capable de lire et de modifier à volonté les messages qui sont échangés..... . Wikipédia

    - ... Wikipédia

    La cryptanalyse (du grec caché et analyse) est la science des méthodes permettant d'obtenir la valeur initiale des informations cryptées sans avoir accès aux informations secrètes (clé) nécessaires pour cela. Dans la plupart des cas, cela signifie ... ... Wikipedia

    L'attaque de hacker au sens étroit du terme est aujourd'hui comprise comme « tentative sur le système de sécurité », et tend davantage vers le sens du terme suivant « attaque de cracker ». Cela s'est produit en raison de la distorsion du sens du mot "hacker" ... Wikipedia

    - (de l'autre grec. κρυptός caché et analyse) la science des méthodes de décryptage des informations cryptées sans clé destinée à un tel décryptage. Le terme a été inventé par le cryptographe américain William F. Friedman en 1920. Informellement ... ... Wikipédia

L'attaque de l'homme du milieu est un nom générique pour diverses techniques visant à accéder au trafic en tant qu'intermédiaire. En raison de la grande variété de ces techniques, il est problématique de mettre en œuvre un seul outil de détection de ces attaques qui fonctionnerait dans toutes les situations possibles. Par exemple, dans une attaque man-in-the-middle sur un réseau local, l'usurpation d'identité ARP est généralement utilisée. Et de nombreux outils de détection d'attaques de l'intercepteur surveillent les changements dans les paires Ethernet/adresse ou signalent les activités ARP suspectes en surveillant passivement les demandes/réponses ARP. Mais si cette attaque est utilisée sur un serveur proxy configuré de manière malveillante, un VPN ou dans d'autres cas où l'empoisonnement ARP n'est pas utilisé, alors ces outils sont impuissants.

Le but de cette section est d'examiner certaines des techniques de détection des attaques de l'homme du milieu, ainsi que certains outils conçus pour déterminer si une attaque MitM a lieu contre vous. En raison de la variété des méthodes et des scénarios de mise en œuvre, il est impossible de garantir une détection à 100 %.

1. Détection de modification du trafic

Comme déjà mentionné, l'usurpation d'ARP n'est pas toujours utilisée dans les attaques de type man-in-the-middle. Par conséquent, alors que la détection d'activité au niveau ARP est la méthode de détection la plus populaire, la détection de modification du trafic est une méthode plus générale. Le programme mitmcanary peut nous y aider.

Le principe du programme est qu'il effectue des requêtes de "contrôle" et enregistre les réponses reçues. Après cela, il répète les mêmes demandes à certains intervalles et compare les réponses reçues. Le programme est suffisamment intelligent et pour éviter les faux positifs, il détecte les éléments dynamiques dans les réponses et les traite correctement. Dès que le programme a enregistré des traces de l'activité des outils d'attaques MitM, il le signale.

Exemples de la façon dont certains outils peuvent « hériter » :

  • MITMf, par défaut, remplace toutes les URL HTTPS du code HTML par HTTP. Révélé en comparant le contenu HTTP.
  • Zarp + MITMProxy, MITMProxy a une fonctionnalité qui vous permet d'effacer la compression HTTP, cela est utilisé pour la transparence du trafic transmis, ce bundle est détecté par la disparition de la compression précédemment présente
  • Répondeur, détecté par des changements soudains dans la conversion des réponses mDNS : réponse inattendue ; la réponse est interne, mais externe est attendue ; la réponse est différente de l'IP attendue
  • MITMCanary vs MITMf :

  • MITMCanary vs Répondeur :

  • MITMCanary vs Zarp + MITMProxy :

Sudo pip install Cython sudo apt-get install python-kivy python-dbus sudo pip install plyer uuid urlopen analyse demande simplejson datetime git clone https://github.com/CylanceSPEAR/mitmcanary.git cd mitmcanary /

Comme déjà mentionné, mitmcanary devrait commencer par les demandes de contrôle. Pour cela, allez dans le répertoire

Service CD /

Et lancez le fichier setup_test_persistence.py:

Python2 setup_test_persistence.py

Cela prendra un certain temps - attendez la fin. Aucun message d'erreur ne doit s'afficher (si c'est le cas, il vous manque des dépendances).

Quelque chose comme ceci sera affiché :

[email protégé]: ~ / bin / mitmcanary / service $ python2 setup_test_persistence.py Ancienne version de configuration détectée (0 au lieu de 14) Mise à niveau de la configuration en cours. Journal de purge déclenché. Analyse... Purge terminée ! Enregistrez la connexion /home/mial/.kivy/logs/kivy_16-11-01_0.txt v1.9.1 v2.7.12 + (par défaut, 1er septembre 2016, 20:27:38)

Après la fin de ce processus, dans le même répertoire, exécutez (cela démarrera le processus en arrière-plan) :

Python2 main.py

Après cela, ouvrez une nouvelle fenêtre de terminal et accédez au répertoire horse avec mitmcanary. J'ai ce répertoire bin/mitmcanary/, donc j'entre

Bac à cd / mitmcanary /

et y exécuter :

Python2 main.py

La première fenêtre affiche quelque chose comme :

[email protégé]: ~ / bin / mitmcanary / service $ python2 main.py Enregistrez la connexion /home/mial/.kivy/logs/kivy_16-11-01_1.txt v1.9.1 v2.7.12 + (par défaut, 1er septembre 2016, 20:27 : 38) en utilisant pour socket à l'écoute de Tuio sur 127.0.0.1:3000 En veille pendant 60 secondes En veille pendant 60 secondes En veille pendant 60 secondes En veille pendant 60 secondes En veille pendant 60 secondes En veille pendant 60 secondes

Celles. le programme fait des demandes de contrôle une fois par minute et recherche les signes d'une attaque de l'homme du milieu.

La deuxième fenêtre contient également la sortie + une fenêtre sombre s'ouvre, les auteurs du programme appellent cette fenêtre une "interface graphique":

Vous pouvez attendre un peu, surfer sur Internet pour vous assurer que le programme ne donne pas de faux avertissements.

Essayons le programme classique Ettercap.

Je lance une attaque MitM régulière avec usurpation d'ARP. Le mitmcanary ne réagit pas lui-même à la gravure. L'outil mitmcanary génère lui-même du trafic, c'est-à-dire qu'aucune action de l'utilisateur n'est requise. Après un certain temps, un seul avertissement apparaît, qui n'est pas confirmé lors des vérifications suivantes. Mais un avertissement similaire apparaît après quelques minutes. Sans analyse supplémentaire, j'ai du mal à dire s'il s'agit d'un exemple de faux positif - c'est très similaire à cela. Il est possible que cet avertissement soit causé par une panne de communication causée par la nécessité pour le trafic de passer des routes supplémentaires, ou par les particularités de ma connexion Internet de mauvaise qualité.

Puisque le résultat n'est pas évident (plus "non" que "oui"), essayons le programme Bettercap, qui possède une variété de modules. Je n'ai aucun doute que lors de l'utilisation de divers plugins Ettercap et/ou programmes supplémentaires pour étendre les fonctionnalités, nous « allumerions » également pour mitmcanary.

Pour la pureté de l'expérience, je redémarre l'équipement, lance mitmcanary sur la machine attaquée et Bettercap sur celle qui attaque. Dans le même temps, il n'est pas nécessaire de refaire des demandes de contrôle sur la machine attaquée - elles sont enregistrées dans un fichier à l'intérieur du répertoire avec le programme. Celles. il suffit de démarrer le service et l'interface graphique.

Et dans la machine attaquante, nous exécuterons Bettercap avec les parseurs activés :

Sudo bettercap -X

Des avertissements individuels apparaissent, qui ressemblent également davantage à des faux positifs.

Mais en exécutant une commande comme celle-ci :

Sudo bettercap -X --proxy

Sur la machine attaquée, il génère un grand nombre d'avertissements concernant une éventuelle attaque man-in-the-middle :

Ainsi, plus un outil d'attaque man-in-the-middle est fonctionnel, plus il laisse de traces dans le trafic. Pour l'utilisation pratique de mitmcanary, les conditions suivantes doivent être remplies :

  • effectuer des requêtes initiales sur un réseau de confiance lorsque vous êtes sûr qu'il n'y a pas d'intermédiaire dans la transmission du trafic ;
  • modifier les ressources auxquelles les demandes de vérification sont faites, car un attaquant professionnel peut ajouter des ressources par défaut aux exceptions, ce qui le rendra invisible pour cet outil.

2. Révéler l'usurpation d'ARP (empoisonnement du cache ARP)

Très souvent, une attaque man-in-the-middle sur un réseau local commence par un empoisonnement ARP. C'est pourquoi de nombreux outils destinés à détecter les attaques MitM reposent sur un mécanisme de suivi des évolutions du cache ARP, dans lequel la correspondance entre Ethernet (adresses MAC) et adresses IP est attribuée.

Des exemples de tels programmes incluent arpwatch, arpalert et un grand nombre de nouveaux programmes. ArpON surveille non seulement les modifications du cache ARP, mais le protège également contre celles-ci.

À titre d'exemple, exécutons arpwatch en mode débogage, sans fork en arrière-plan et sans envoyer de messages par mail. Au lieu de cela, les messages sont envoyés à stderr (sortie d'erreur standard).

Sudo / usr / sbin / arpwatch -d

Lancez Ettercap sur la machine attaquante et lancez l'usurpation d'ARP. Sur la machine attaquée, on observe :

Le programme arpwatch vous aidera à découvrir rapidement les nouveaux appareils connectés à votre réseau local, ainsi que les modifications apportées au cache ARP.

Un autre outil pour détecter l'usurpation d'ARP en temps réel est un plugin d'Ettercap lui-même appelé arp_cop... Lancez Ettercap sur la machine attaquée comme suit :

Sudo ettercap -TQP arp_cop ///

Et sur l'attaquant, commençons la gravure ARP. La machine attaquée commence immédiatement à afficher des avertissements :

3. Détection d'usurpation DNS

L'usurpation DNS indique qu'il existe un intermédiaire entre vous et la destination qui peut modifier votre trafic. Comment savoir si les enregistrements DNS ont été falsifiés ? La façon la plus simple de le faire est de comparer avec les réponses d'un serveur de noms de confiance. Mais les enregistrements de la réponse envoyée à votre demande peuvent également être falsifiés...

Celles. vous devez vérifier soit via un canal crypté (par exemple, via Tor), soit utiliser des paramètres non standard (un autre port, TCP au lieu d'UDP). C'est à peu près à quoi sert le programme sans de XiaoxiaoPu (du moins c'est ce que je comprends). En utilisant ce programme, j'ai réussi à rediriger les requêtes DNS via Tor et via des paramètres non standard vers mon serveur DNS. Mais je n'ai toujours pas réussi à l'amener à me montrer des messages sur l'usurpation de réponses DNS. Et sans cela, le sens du programme est perdu.

Je ne pouvais pas trouver d'alternatives plus valables.

En principe, étant donné que les usurpateurs DNS ne surveillent généralement que le port 53 et uniquement le protocole UDP, il suffit alors, même manuellement, de vérifier le fait de l'usurpation DNS, bien que cela nécessite votre propre serveur DNS avec une configuration non standard. Par exemple, sur la machine attaquante, j'ai créé le fichier dns.conf avec le contenu suivant :

Local mi-al.ru

Celles. lors de la demande d'un enregistrement DNS pour le site mi-al.ru, au lieu de l'adresse IP réelle, l'adresse IP de la machine de l'attaquant sera envoyée.

Je l'exécute sur la machine attaquante :

Sudo bettercap --dns dns.conf

Et sur l'attaqué je fais deux vérifications :

Creusez mi-al.ru # et creusez mi-al.ru -p 4560 @ 185.117.153.79

Résultats:

[email protégé]: ~ $ creuser mi-al.ru;<<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru ;; options globales : + cmd ;; Réponse obtenue : ;; - >> EN-TÊTE<<- opcode: QUERY, status: NOERROR, id: 51993 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 86400 IN A 192.168.1.48 ;; Query time: 2 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Nov 02 09:25:20 MSK 2016 ;; MSG SIZE rcvd: 42 [email protégé]: ~ $ creuser mi-al.ru -p 4560 @ 185.117.153.79;<<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru -p 4560 @ 185.117.153.79 ;; options globales : + cmd ;; Réponse obtenue : ;; - >> EN-TÊTE<<- opcode: QUERY, status: NOERROR, id: 401 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 3799 IN A 185.26.122.50 ;; Query time: 304 msec ;; SERVER: 185.117.153.79#4560(185.117.153.79) ;; WHEN: Wed Nov 02 09:25:27 MSK 2016 ;; MSG SIZE rcvd: 53

On peut voir que l'IP locale 192.168.1.48 a été envoyée pour une requête DNS "normale", et l'IP de serveur correcte est envoyée lors de l'interrogation du DNS sur un port atypique.

Si le serveur était configuré pour fonctionner avec TCP (pas UDP), la commande ressemblerait à ceci :

Creusez mi-al.ru -p 4560 + tcp @ 185.117.153.79

Il manque clairement un outil qui lui-même suivrait les réponses DNS dans le trafic, les revérifierait par rapport à une source alternative et déclencherait une alarme en cas d'usurpation d'identité.

Pour éviter de configurer votre propre DNS distant, vous pouvez interroger le serveur de noms sur Tor. Étant donné que tout le trafic Tor est crypté, les réponses DNS obtenues de cette manière sont trop difficiles pour un intermédiaire. Si Tor n'est pas déjà installé, installez-le.

Outil d'installation Sudo apt-get

Sudo pacman -Stor

Démarrer le service :

Sudo systemctl start tor

Si vous en avez besoin, ajoutez ce service au démarrage :

Activation de Sudo systemctl

Ouvrir le fichier /etc/tor/torrc et ajoutez-y les lignes suivantes :

DNSPort 530 AutomapHostsOnResolve 1 AutomapHostsSuffixes .exit, .onion

Faites attention au numéro 530. Il s'agit du numéro de port, au lieu de 530, vous pouvez spécifier n'importe quel autre port (inoccupé). L'essentiel est de s'en souvenir.

Nous effectuons à nouveau des vérifications :

Creusez mi-al.ru # et creusez mi-al.ru -p 530 @localhost

Maintenant, nous spécifions comme serveur hôte local, et écrivez le numéro de port que vous avez spécifié dans les paramètres /etc/tor/torrc.

Comme vous pouvez le voir sur la capture d'écran suivante, une attaque d'usurpation DNS est en cours contre la machine sur laquelle le contrôle a été effectué :

4. Recherche d'interfaces réseau en mode promiscuité

Si votre réseau local possède (et surtout s'il est apparu soudainement) des équipements dans un mode illisible, c'est très suspect, même si cela n'indique pas sans équivoque une attaque de l'homme du milieu.

Dans ce mode, la carte réseau permet de recevoir tous les paquets, quelle que soit leur destinataire.

Dans l'état normal, l'interface Ethernet utilise le filtrage de paquets de couche liaison, et si l'adresse MAC dans l'en-tête de destination du paquet reçu ne correspond pas à l'adresse MAC de l'interface réseau actuelle et n'est pas diffusée, le paquet est abandonné. En mode promiscuité, le filtrage sur l'interface réseau est désactivé et tous les paquets, y compris ceux qui ne sont pas destinés à l'hôte actuel, sont autorisés dans le système.

La plupart des systèmes d'exploitation nécessitent des droits d'administrateur pour activer le mode promiscuité. Celles. La promotion d'une carte réseau est une action délibérée qui peut être utilisée à des fins de détection.

Pour rechercher des interfaces réseau en mode promiscuité, il existe un plugin Ettercap appelé recherche_promisc.

Un exemple de démarrage d'un plugin :

Sudo ettercap -TQP search_promisc ///

Le plug-in n'est pas totalement fiable, il peut y avoir des erreurs dans la détermination du mode de l'interface réseau.

Conclusion

Certaines attaques de type man-in-the-middle laissent de nombreuses traces, et certaines (comme la recherche passive d'informations d'identification sur un proxy) sont impossibles ou presque impossibles à détecter.

Principe d'attaque

L'attaque commence généralement par l'écoute du canal de communication et se termine lorsque le cryptanalyste essaie de remplacer le message intercepté, d'en extraire des informations utiles et de le rediriger vers une ressource externe.

Supposons que l'objet A envisage de transmettre des informations à l'objet B. L'objet C connaît la structure et les propriétés de la méthode de transfert de données utilisée, ainsi que le fait du transfert prévu des informations réelles que C envisage d'intercepter. Pour effectuer une attaque, C "semble" à l'objet A comme B, et à l'objet B comme A. L'objet A, croyant à tort qu'il envoie des informations à B, les envoie à l'objet C. L'objet C, ayant reçu des informations, et ayant effectué certaines actions avec lui (par exemple avoir copié ou modifié à leurs propres fins) envoie les données au destinataire proprement dit - B; le sujet B, à son tour, pense que l'information a été reçue directement de A.

Un exemple d'attaque

Injection de code malveillant

Une attaque man-in-the-middle permet à un cryptanalyste d'injecter son code dans des e-mails, des instructions SQL et des pages Web (c'est-à-dire autorise l'injection SQL, l'injection HTML / script ou les attaques XSS), et même de modifier les binaires téléchargés par l'utilisateur pour pour accéder à un compte utilisateur ou modifier le comportement d'un programme téléchargé par un utilisateur à partir d'Internet.

Attaque de rétrogradation

Le terme "Downgrade Attack" fait référence à une attaque dans laquelle un cryptanalyste oblige l'utilisateur à utiliser des fonctions moins sécurisées, des protocoles qui sont toujours pris en charge pour des raisons de compatibilité. Ce type d'attaque peut être mené contre les protocoles SSH, IPsec et PPTP.

SSH V1 au lieu de SSH V2

Un attaquant peut tenter de modifier les paramètres de connexion entre le serveur et le client lors de l'établissement d'une connexion entre eux. Selon une conférence donnée à Blackhat Conference Europe 2003, un cryptanalyste peut "forcer" un client à démarrer une session SSH1 au lieu de SSH2 en changeant le numéro de version "1.99" pour la session SSH en "1.51", ce qui signifie utiliser SSH V1. Le protocole SSH-1 présente des vulnérabilités qui peuvent être exploitées par un cryptanalyste.

IPsec

Dans ce scénario, le cryptanalyste induit sa victime en erreur en lui faisant croire que la session IPsec ne peut pas démarrer à l'autre extrémité (serveur). Cela conduit au fait que les messages seront transférés explicitement, si la machine hôte fonctionne en mode de restauration.

PPTP

Au stade de la négociation des paramètres de session PPTP, l'attaquant peut forcer la victime à utiliser l'authentification PAP moins sécurisée, MSCHAP V1 (c'est-à-dire « revenir en arrière » de MSCHAP V2 à la version 1), ou ne pas utiliser du tout le cryptage.

L'attaquant peut forcer sa victime à répéter l'étape de négociation des paramètres de session PPTP (envoyer un paquet Terminate-Ack), voler le mot de passe du tunnel existant et répéter l'attaque.

Le cryptage vous sauvera-t-il ?

Prenons le cas d'une transaction HTTP standard. Dans ce cas, un attaquant peut assez facilement scinder la connexion TCP d'origine en deux nouvelles : l'une entre lui et le client, l'autre entre lui et le serveur. C'est assez facile à faire, car il est très rare que la connexion entre le client et le serveur soit directe, et dans la plupart des cas, ils sont connectés via un certain nombre de serveurs intermédiaires. Une attaque MITM peut être menée sur n'importe lequel de ces serveurs.

Cependant, si le client et le serveur communiquent via HTTPS, un protocole qui prend en charge le cryptage, une attaque de l'homme du milieu peut également être effectuée. Ce type de connexion utilise TLS ou SSL pour crypter les requêtes, ce qui sécurise apparemment le canal contre le reniflement et les attaques MITM. Un attaquant peut créer deux sessions SSL indépendantes pour chaque connexion TCP. Le client établit une connexion SSL avec l'attaquant, qui à son tour crée une connexion avec le serveur. Dans de tels cas, le navigateur avertit généralement que le certificat n'est pas signé par une autorité de certification de confiance, mais un utilisateur ordinaire peut facilement ignorer cet avertissement. De plus, un attaquant peut avoir un certificat signé par une autorité de certification. Ainsi, le protocole HTTPS ne peut pas être considéré comme sécurisé contre les attaques MITM.

Détection d'attaque MITM

Pour détecter une attaque de l'homme du milieu, vous devez analyser le trafic réseau. Par exemple, pour détecter une attaque SSL, vous devez faire attention aux paramètres suivants :

  • IP du serveur
  • Serveur dns
  • X.509 - certificat de serveur
    • Le certificat est-il auto-signé ?
    • Le certificat est-il signé ?
    • Le certificat a-t-il été révoqué ?
    • Le certificat a-t-il changé récemment ?
    • D'autres clients sur Internet ont-ils reçu le même certificat ?

Implémentations d'attaques MITM

Les programmes répertoriés peuvent être utilisés pour effectuer des attaques de type man-in-the-middle, ainsi que pour les détecter et tester les vulnérabilités du système.

Un exemple dans la littérature

Un exemple littéraire frappant peut être vu dans "Le Conte du tsar Saltan" d'Alexandre Pouchkine, où trois "personnes au milieu" apparaissent : un tisserand, un cuisinier et Babarikha. Ce sont eux qui remplacent les lettres adressées au tsar et sa correspondance de retour.

voir également

  • Aspidistra (anglais) - Émetteur radio britannique utilisé pendant l'"invasion" de la Seconde Guerre mondiale, une variante de l'attaque MITM.
  • The Babington Conspiracy (anglais) - une conspiration contre Elizabeth I, au cours de laquelle Walsingham a intercepté la correspondance.

Autres attaques

  • Man in the Browser est un type d'attaque dans lequel un attaquant peut modifier instantanément les paramètres de transaction et changer les pages de manière totalement transparente pour la victime.
  • L'attaque Meet-in-the-middle est une attaque cryptographique qui, comme l'attaque d'anniversaire, exploite un compromis entre le temps et la mémoire.
  • Miss in the middle attack est une méthode efficace de la soi-disant cryptanalyse différentielle impossible.
  • L'attaque par relais est une variante de l'attaque MITM basée sur la transmission d'un message intercepté à un destinataire valide, mais pas au destinataire prévu.
  • Un rootkit est un programme conçu pour masquer les traces de la présence d'un intrus.

Littérature

Liens


Fondation Wikimédia. 2010.

Voyez ce qu'est « l'homme au milieu » dans d'autres dictionnaires :

    Attaque « man in the middle » (en anglais Man in the middle, MitM attack) est un terme en cryptographie, désignant une situation où un attaquant est capable de lire et de modifier à sa guise les messages échangés par les correspondants, et aucun de…. .. Wikipédia

Vous avez aimé l'article ? A partager avec des amis :