FAQ technique. Détection des attaques de l'homme du milieu (Man in the middle, attaques MitM) Qu'est-ce que l'homme du milieu

Maison / Gèle

Dans cet article, nous essaierons de comprendre la théorie des attaques de l’homme du milieu et quelques points pratiques qui aideront à prévenir ce type d’attaques. Cela nous aidera à comprendre le risque que de telles intrusions font peser sur notre vie privée, puisque les attaques MitM nous permettent de nous introduire dans les communications et d'écouter nos conversations.

Comprendre le fonctionnement d'Internet

Pour comprendre le principe d’une attaque de l’homme du milieu, il convient d’abord de comprendre comment fonctionne Internet lui-même. Principaux points d'interaction : clients, routeurs, serveurs. Le protocole de communication le plus courant entre le client et le serveur est le protocole HTTP (Hypertext Transfer Protocol). Surfer sur Internet à l'aide d'un navigateur, d'un courrier électronique, d'une messagerie instantanée, tout cela se fait via HTTP.

Lorsque vous tapez dans la barre d'adresse de votre navigateur, le client (vous) envoie une requête au serveur pour afficher une page Web. Le paquet (requête HTTP GET) est transmis via plusieurs routeurs vers le serveur. Le serveur répond ensuite par une page Web qui est envoyée au client et affichée sur son moniteur. Les messages HTTP doivent être envoyés à mode sans échec pour garantir la confidentialité et l’anonymat.

Figure 1. Interaction client-serveur

Sécuriser le protocole de communication

Un protocole de communication sécurisé doit avoir chacune des propriétés suivantes :

  1. Confidentialité- seul le destinataire prévu peut lire le message.
  2. Authenticité- l'identité des parties en interaction a été prouvée.
  3. Intégrité- confirmation que le message n'a pas été modifié pendant le transit.

Si l’une de ces règles n’est pas respectée, l’ensemble du protocole est compromis.

Attaque de l'homme du milieu via le protocole HTTP

Un attaquant peut facilement mener une attaque de type « man-in-the-middle » en utilisant une technique appelée usurpation d’identité ARP. N'importe qui dans votre Réseaux Wi-Fi peut vous envoyer un paquet ARP falsifié, vous obligeant à envoyer sans le savoir tout votre trafic via l'attaquant au lieu de votre routeur.

Après cela, l’attaquant a un contrôle total sur le trafic et peut surveiller les requêtes envoyées dans les deux sens.

Figure 2. Modèle d'attaque de l'homme du milieu


Pour prévenir de telles attaques, une version sécurisée du protocole HTTP a été créée. Transport Layer Security (TLS) et son prédécesseur, Secure Socket Layer (SSL), sont des protocoles cryptographiques qui assurent la sécurité de la transmission de données sur un réseau. Le protocole sécurisé sera donc appelé HTTPS. Vous pouvez voir comment fonctionne le protocole sécurisé en tapant dans la barre d'adresse de votre navigateur (notez le S dans https).

Attaque de l'homme du milieu contre un SSL mal implémenté

Le SSL moderne utilise un bon algorithme de cryptage, mais cela n'a pas d'importance s'il n'est pas correctement implémenté. Si un pirate informatique parvient à intercepter la requête, il peut la modifier en supprimant le « S » de l'URL demandée, contournant ainsi SSL.

Une telle interception et modification de la demande peut être remarquée. Par exemple, si vous demandez https://login.yahoo.com/ et que la réponse est http://login.yahoo.com/ , cela devrait éveiller des soupçons. Au moment de la rédaction de cet article, cette attaque fonctionne réellement sur le service e-mail Yahoo.

Figure 3. Demande d'interception et de modification


Pour empêcher une telle attaque, les serveurs peuvent implémenter HTTP Strict Transport Security (HSTS), un mécanisme qui permet une connexion sécurisée forcée via le protocole HTTPS. Dans ce cas, si un attaquant modifie la requête en supprimant le « S » de l’URL, le serveur redirigera quand même l’utilisateur avec une redirection 302 vers une page avec un protocole sécurisé.

Figure 4. Schéma de fonctionnement du HSTS


Cette façon d'implémenter SSL est vulnérable à un autre type d'attaque : un attaquant crée une connexion SSL au serveur, mais utilise diverses astuces pour forcer l'utilisateur à utiliser HTTP.

Figure 5. Modèle d'attaque HSTS


Pour prévenir de telles attaques navigateurs modernes comme Chrome, Firefox et Tor surveillent les sites à l'aide de HSTS et leur imposent une connexion côté client via SSL. Dans ce cas, l’attaquant menant une attaque de type « man-in-the-middle » devrait créer une connexion SSL avec la victime.

Figure 6. Modèle d'attaque dans lequel l'attaquant établit une connexion SSL avec la victime


Afin de fournir une connexion SLL à un utilisateur, un attaquant doit savoir comment agir en tant que serveur. Comprenons les aspects techniques de SSL.

Comprendre SSL

Du point de vue d'un hacker, compromettre tout protocole de communication revient à trouver le maillon faible parmi les composants listés ci-dessus (confidentialité, authenticité et intégrité).

SSL utilise un algorithme de cryptage asymétrique. Le problème du chiffrement symétrique est que la même clé est utilisée pour chiffrer et déchiffrer les données, cette approche n'est pas valable pour les protocoles Internet car un attaquant peut tracer cette clé.

Le cryptage asymétrique comprend 2 clés de chaque côté : clé publique, utilisé pour le chiffrement, et une clé privée, utilisée pour déchiffrer les données.

Figure 7. Fonctionnement des clés publiques et privées

Comment SSL fournit-il les trois propriétés nécessaires à des communications sécurisées ?

  1. La cryptographie asymétrique étant utilisée pour chiffrer les données, SSL fournit une connexion privée. Ce cryptage n’est pas si facile à briser et à rester indétectable.
  2. Le serveur confirme sa légitimité en envoyant au client un certificat SSL émis par une autorité de certification – un tiers de confiance.

Si un attaquant parvient d’une manière ou d’une autre à obtenir le certificat, il pourrait ouvrir la porte à une attaque de l’homme du milieu. Ainsi, il créera 2 connexions – avec le serveur et avec la victime. Dans ce cas, le serveur pense que l'attaquant est un client ordinaire et la victime n'a aucun moyen d'identifier l'attaquant, puisqu'elle a fourni un certificat prouvant qu'il est le serveur.

Vos messages arrivent et arrivent sous forme cryptée, mais ils suivent une chaîne à travers l'ordinateur du cybercriminel, dont il a le contrôle total.

Figure 8. Modèle d'attaque si l'attaquant dispose d'un certificat


Le certificat n'a pas besoin d'être falsifié si un attaquant a la capacité de compromettre le navigateur de la victime. Dans ce cas, il peut insérer un certificat auto-signé, qui sera approuvé par défaut. C’est ainsi que sont menées la plupart des attaques de l’homme du milieu. Dans les cas plus complexes, le pirate informatique doit emprunter une voie différente : falsifier le certificat.

Problèmes avec l'autorité de certification

Le certificat envoyé par le serveur a été émis et signé par une autorité de certification. Chaque navigateur dispose d'une liste d'autorités de certification de confiance et vous pouvez les ajouter ou les supprimer. Le problème ici est que si vous décidez de supprimer les grandes autorités, vous ne pourrez pas visiter les sites qui utilisent des certificats signés par ces autorités.

Les certificats et les autorités de certification ont toujours été le maillon faible d'une connexion HTTPS. Même si tout a été mis en œuvre correctement et que chaque autorité de certification dispose d'une autorité solide, il est encore difficile d'accepter le fait qu'il faut faire confiance à de nombreux tiers.

Il existe aujourd'hui plus de 650 organismes capables de délivrer des certificats. Si un attaquant piratait l’un d’entre eux, il obtiendrait les certificats qu’il souhaitait.

Même lorsqu'il n'existait qu'une seule autorité de certification, VeriSign, il y avait un problème : les personnes censées empêcher les attaques de l'homme du milieu vendaient des services d'interception.

En outre, de nombreux certificats ont été créés en raison du piratage des autorités de certification. Diverses techniques et astuces ont été utilisées pour inciter l’utilisateur ciblé à faire confiance à des certificats frauduleux.

Médecine légale

Étant donné que l'attaquant envoie des paquets ARP falsifiés, son adresse IP ne peut pas être vue. Au lieu de cela, vous devez faire attention à l’adresse MAC, qui est spécifique à chaque appareil du réseau. Si vous connaissez l'adresse MAC de votre routeur, vous pouvez la comparer avec l'adresse MAC de la passerelle par défaut pour savoir s'il s'agit réellement de votre routeur ou d'un attaquant.

Par exemple, sous Windows, vous pouvez utiliser la commande ipconfig dans ligne de commande(CMD) pour voir l'adresse IP de votre passerelle par défaut (dernière ligne) :

Figure 9. Utilisation de la commande ipconfig


Utilisez ensuite la commande arp –a pour connaître l'adresse MAC de cette passerelle :

Figure 10. Utilisation de la commande arp –a


Mais il existe une autre façon de détecter l'attaque : si vous surveilliez l'activité du réseau au moment où elle a démarré et surveilliez les paquets ARP. Par exemple, vous pouvez utiliser Wireshark à cet effet, ce programme vous avertira si l'adresse MAC de la passerelle par défaut a changé.

Remarque : Si l'attaquant usurpe correctement les adresses MAC, son suivi deviendra un gros problème.

Conclusion

SSL est un protocole qui oblige un attaquant à effectuer beaucoup de travail pour mener une attaque. Mais cela ne vous protégera pas des attaques parrainées par l’État ni des organisations de piratage informatiques compétentes.

Le travail de l'utilisateur consiste à protéger son navigateur et son ordinateur pour empêcher l'insertion d'un faux certificat (une technique très courante). Il convient également de prêter attention à la liste certificats de confiance et supprimez ceux en qui vous n'avez pas confiance.

Une attaque de type man-in-the-middle est un nom générique désignant 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 outil unique de détection de ces attaques qui fonctionnerait dans toutes les situations possibles. Par exemple, lors d'une attaque de l'homme du milieu sur un réseau local, l'usurpation d'identité ARP (empoisonnement) est généralement utilisée. Et de nombreux outils de détection des attaques de l’homme du milieu surveillent les modifications dans les paires d’adresses Ethernet ou signalent une activité ARP suspecte en surveillant passivement les requêtes/réponses ARP. Mais si cette attaque est utilisée sur un serveur proxy configuré de manière malveillante, un VPN ou d'autres options qui n'utilisent pas l'empoisonnement ARP, alors ces outils sont impuissants.

Le but de cette section est de passer en revue certaines techniques de détection des attaques de l'homme du milieu, ainsi que certains outils conçus pour déterminer si vous êtes ciblé par une attaque MitM. En raison de la diversité des méthodologies et des scénarios de mise en œuvre, une détection à 100 % ne peut être garantie.

1. Détection de modification du trafic

Comme déjà mentionné, les attaques de type « man-in-the-middle » n’utilisent pas toujours l’usurpation d’identité ARP. Par conséquent, bien que la détection d'activité au niveau ARP soit la méthode de détection la plus populaire, plus de manière universelle est la détection de modification du trafic. Le programme mitmcanary peut nous y aider.

Le principe de fonctionnement 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 requêtes à certains intervalles et compare les réponses reçues. Le programme est assez intelligent et, pour éviter les faux positifs, il identifie les éléments dynamiques des réponses et les traite correctement. Dès que le programme a détecté 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, modifie toutes les URL HTTPS du code HTML en HTTP. Détecté en comparant le contenu HTTP.
  • Zarp + MITMProxy, MITMProxy a une fonctionnalité qui permet d'effacer la compression HTTP, celle-ci est utilisée pour la transparence du trafic transmis, cette combinaison est détectée par la disparition de la compression précédemment présente
  • Répondeur, identifié par des changements soudains dans la transformation 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 contre MITMf :

  • MITMCanary vs répondeur :

  • MITMCanary contre 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 doit commencer à travailler avec les demandes de contrôle. Pour cela, rendez-vous dans l'annuaire

Service de CD/

Et exécutez le fichier setup_test_persistence.py:

Python2 setup_test_persistence.py

Cela prendra un certain temps – attendez que cela se termine. Il ne devrait y avoir aucun message d'erreur (si tel est le cas, il vous manque certaines dépendances).

Le résultat ressemblera à ceci :

Mial@HackWare:~/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 le journal dans /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)

Une fois ce processus terminé, exécutez dans le même répertoire (cela lancera un processus en arrière-plan) :

Python2 main.py

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

Bac à CD/mitmcanary/

Une fois ce processus terminé, exécutez dans le même répertoire (cela lancera un processus en arrière-plan) :

et fais là :

La première fenêtre affiche quelque chose comme : Mial@HackWare:~/bin/mitmcanary/service$ python2 main.py Enregistrez le journal dans /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 l'écoute de socket pour Tuio sur 127.0.0.1:3000 Dormir pendant 60 secondes Dormir pendant 60 secondes Dormir pendant 60 secondes Dormir pendant 60 secondes Dormir pendant 60 secondes Dormir pendant 60 secondes

Ceux. Le programme effectue 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 une sortie + une fenêtre sombre s'ouvre ; les auteurs du programme appellent cette fenêtre une « interface graphique » :

Vous pouvez attendre un moment et surfer sur Internet pour vous assurer que le programme n'émet pas de faux avertissements. Essayons programme classique

ettercap. Je lance une attaque MitM régulière avec usurpation d'ARP. mitmcanary ne répond pas à la gravure elle-même. L'outil mitmcanary génère lui-même le 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 contrôles ultérieurs. Mais un avertissement similaire apparaît après quelques minutes. Sans analyse plus approfondie, j'ai du mal à dire s'il s'agit d'un exemple- très similaire à ça. Il est fort possible que cet avertissement soit provoqué par un échec de communication dû à la nécessité pour le trafic d'emprunter des itinéraires supplémentaires, ou aux particularités de ma connexion Internet de mauvaise qualité.

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

Pour la pureté de l'expérience, je redémarre l'équipement, lance mitmcanary sur la machine attaquée et Bettercap sur celle attaquante. Dans ce cas, 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 du programme. Ceux. Il suffit de démarrer le service et l'interface graphique.

Et sur la machine attaquante, nous lancerons Bettercap avec les analyseurs activés :

Sudo bettercap -X

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

Mais en exécutant cette commande :

Sudo bettercap -X --proxy

Sur la machine attaquée appelle grand nombre avertissements concernant une éventuelle attaque de l’homme du milieu :

Ainsi, plus un outil d’attaque de l’homme du milieu est puissant, plus il laisse de traces dans le trafic. Pour une utilisation pratique de mitmcanary, les conditions suivantes doivent être remplies :

  • effectuer des premières requêtes 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 ;
  • éditez les ressources sur lesquelles les demandes de vérification sont faites, puisqu'un attaquant professionnel peut ajouter des ressources par défaut aux exceptions, ce qui le rendra invisible pour cet outil.

2. Détection de l'usurpation d'identité ARP (empoisonnement du cache ARP)

Très souvent, une attaque de type « man-in-the-middle » sur un réseau local commence par un empoisonnement ARP. C'est pourquoi de nombreux outils conçus pour détecter les attaques MitM reposent sur un mécanisme de surveillance des modifications du cache ARP, qui attribue une correspondance entre Ethernet (adresses MAC) et les adresses IP.

A titre d'exemple de tels programmes, on peut rappeler arpwatch, arpalert et un grand nombre de nouveaux programmes. Le programme ArpON surveille non seulement les modifications apportées au cache ARP, mais le protège également.

A titre d'exemple, exécutons arpwatch en mode débogage, sans créer de forks 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

Lançons Ettercap sur la machine attaquante et démarrons l'usurpation d'identité 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 permettant de détecter l'usurpation d'ARP en temps réel est un plugin d'Ettercap lui-même, appelé arp_cop. Sur la machine attaquée, lancez Ettercap comme suit :

Sudo ettercap -TQP arp_cop ///

Et sur l'attaquant, nous commencerons l'empoisonnement par l'ARP. Des avertissements commencent immédiatement à apparaître sur la machine attaquée :

3. Détection de l'usurpation DNS

L'usurpation d'identité DNS indique qu'il existe un intermédiaire entre vous et votre destination qui peut modifier votre trafic. Comment détecter que des enregistrements DNS ont été usurpés ? Le moyen le plus simple de procéder est de comparer avec les réponses d'un serveur de noms en qui vous avez confiance. Mais les entrées de la réponse envoyée à votre demande peuvent également être remplacées...

Ceux. 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 pour cela que le programme sans de XiaoxiaoPu est conçu (du moins si je comprends bien). J'ai pu utiliser ce programme pour rediriger les requêtes DNS via Tor et via des paramètres non standard vers mon serveur DNS. Mais je n’ai pas réussi à lui faire montrer des messages sur l’usurpation de réponse DNS. Sans cela, le sens du programme est perdu.

Plus des alternatives valables Je ne l'ai pas trouvé.

En principe, étant donné que les usurpateurs DNS surveillent généralement uniquement le port 53 et uniquement le protocole UDP, même manuellement, il suffit simplement de vérifier le fait d'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éé un fichier dns.conf avec le contenu suivant :

Local mi-al.ru

Ceux. lors de la demande d'un enregistrement DNS pour le site Web mi-al.ru, l'adresse IP de la machine de l'attaquant sera envoyée à la place de la véritable adresse IP.

Je cours sur la machine attaquante :

Sudo bettercap --dns dns.conf

Et sur celui attaqué je fais deux contrôles :

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

Résultats:

Mial@HackWare:~$ creuse 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 mial@HackWare:~$ dig 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 pour une requête DNS « normale », l'IP locale 192.168.1.48 a été envoyée, et lors d'une demande DNS sur un port atypique, l'IP correcte du serveur a été envoyée.

Si le serveur était configuré pour utiliser TCP (plutôt qu'UDP), alors la commande ressemblerait à ceci :

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

Il manque clairement un outil capable de surveiller lui-même les réponses DNS dans le trafic, de les vérifier par rapport à une source alternative et de déclencher une alarme en cas d'usurpation d'identité.

Pour éviter de configurer votre propre DNS distant, vous pouvez effectuer des requêtes sur le serveur de noms via Tor. Étant donné que tout le trafic Tor est crypté, les réponses DNS obtenues de cette manière dépassent les capacités d’un intermédiaire. Si Tor n'est pas déjà installé, installez-le.

Sudo apt-get install tor

Sudo pacman -Stor

Démarrez le service :

Sudo systemctl start tor

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

Sudo systemctl activate tor

Ouvrez 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 (inutilisé). L'essentiel est de s'en souvenir.

On vérifie à nouveau :

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 effectuée sur la machine sur laquelle la vérification a été effectuée :

4. Rechercher des interfaces réseau en mode promiscuité

S'il y a (et surtout s'il apparaît soudainement) des équipements en mode promiscuité sur votre réseau local, cela est très suspect, même si cela n'indique pas clairement une attaque de l'homme du milieu.

Dans ce mode, la carte réseau permet de recevoir tous les paquets peu importe à qui ils sont adressés.

Dans l'état normal, l'interface Ethernet utilise le filtrage des 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, alors le paquet est rejeté. 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 au nœud actuel, sont autorisés à entrer dans le système.

La plupart des systèmes d'exploitation nécessitent des droits d'administrateur pour activer le mode promiscuité. Ceux. Définir une carte réseau en mode promiscuité est une action délibérée qui peut servir à des fins de détection.

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

Exemple d'exécution du plugin :

Sudo ettercap -TQP search_promisc ///

Le fonctionnement du plugin n'est pas totalement fiable ; des erreurs peuvent survenir lors de la détermination du mode d'interface réseau.

Conclusion

Certaines méthodes d’attaque de l’homme du milieu laissent de nombreuses traces, et certaines (comme la recherche passive d’informations d’identification par proxy) sont impossibles ou presque impossibles à détecter.

Désignant une situation où un attaquant est capable de lire et de modifier à volonté les messages échangés entre 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 :

    Man in the middle attaque, 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 échangés... ... Wikipédia

    - ... Wikipédia

    La cryptanalyse (du grec κρυπτός caché et analyse) est la science des méthodes permettant d'obtenir la signification originale des informations cryptées sans avoir accès aux informations secrètes (clé) nécessaires à cet effet. Dans la plupart des cas, cela signifie... ... Wikipédia

    Une attaque de hacker au sens étroit du terme est actuellement comprise comme une « attaque contre un système de sécurité », et correspond plutôt au sens du terme suivant : attaque de cracker. Cela est dû à une distorsion du sens du mot « hacker » lui-même... Wikipédia

- (de l'autre grec κρυπτός 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. De manière informelle... ... Wikipédia

L'attaque Man in the middle (attaque MitM) est un terme en cryptographie qui désigne une situation où un attaquant est capable de lire et de modifier à volonté les messages échangés entre correspondants, et aucun de ces derniers ne peut deviner sa présence dans le canal. .

Une méthode de compromission d'un canal de communication, dans laquelle un attaquant, s'étant connecté à un canal entre contreparties, interfère activement avec le protocole de transmission, supprimant, déformant des informations ou imposant de fausses informations.

Principe d'attaque :

Pour effectuer une attaque, "C" apparaît pour s'opposer à "A" comme "B" et pour s'opposer à "B" comme "A". L'objet "A", croyant à tort qu'il envoie des informations à "B", les envoie à l'objet "C".

L'objet "C", après avoir reçu des informations et effectué certaines actions avec celles-ci (par exemple, les copier ou les modifier à ses propres fins), envoie les données au destinataire lui-même - "B" ; l'objet "B", à son tour, estime que l'information a été reçue directement de "A".

Exemple d'attaque MitM :

Disons qu'Alice a des problèmes financiers et, à l'aide d'un programme de messagerie instantanée, décide de demander une somme d'argent à John en envoyant le message :
Alice: John, salut !
Alice: Merci de m'envoyer la clé de cryptage, j'ai une petite demande !
John: Bonjour! Attendez une seconde !

Mais, à ce moment-là, Monsieur X, qui, en analysant le trafic à l'aide d'un sniffer, remarqua ce message, et les mots « clé de cryptage » attisent la curiosité. C'est pourquoi il a décidé d'intercepter les messages suivants et de les remplacer par les données dont il avait besoin, et lorsqu'il a reçu le message suivant :
John: Voici ma clé : 1111_D

Il a changé la clé de John par la sienne et a envoyé un message à Alice :
John: Voici ma clé : 6666_M

Alice, ignorant et pensant que c'est la clé de John, utilise la clé privée 6666_M, envoie des messages cryptés à John :
Alice: John, j'ai des problèmes et j'ai un besoin urgent d'argent, veuillez transférer 300 $ sur mon compte : Z12345. Merci. p.s. Ma clé : 2222_A

Après avoir reçu le message, M. X le déchiffre à l'aide de sa clé, le lit et, se réjouissant, change le numéro de compte et la clé de cryptage d'Alice par les siens, crypte le message avec la clé. 1111_D, et envoie un message à John :
Alice: John, j'ai des problèmes et j'ai un besoin urgent d'argent, veuillez transférer 300 $ sur mon compte : Z67890. Merci. p.s. Ma clé : 6666_A

Après avoir reçu le message, John le déchiffre à l'aide de la clé 1111_D, et sans même hésiter, transférera de l'argent sur le compte Z67890...

Et ainsi, M. X, en utilisant l'attaque de l'homme du milieu, a gagné 300 $, mais Alice va maintenant devoir expliquer qu'elle n'a pas reçu l'argent... Et John ? John doit prouver à Alice qu'il les a envoyés...

Mise en œuvre:

Ce type d'attaque est utilisé dans certains produits logiciels pour l'écoute clandestine du réseau, par exemple :
NetStumbler- un programme avec lequel vous pouvez collecter de nombreuses données utiles sur un réseau sans fil et résoudre certains problèmes associés à son fonctionnement. NetStumbler vous permet de déterminer la portée de votre réseau et vous aide à pointer avec précision votre antenne pour les communications longue distance. Pour chaque point d'accès trouvé, vous pouvez connaître l'adresse MAC, le rapport signal/bruit, le nom du service et le degré de sa sécurité. Si le trafic n'est pas crypté, la capacité du programme à détecter les connexions non autorisées sera utile.

renifler- est un ensemble de programmes d'audit de réseau et de tests d'intrusion, fournissant une surveillance passive du réseau pour rechercher des données d'intérêt (mots de passe, adresses e-mail, fichiers, etc.), interceptant le trafic réseau qui serait normalement inaccessible pour l'analyse (par exemple, dans un réseau commuté), ainsi que la possibilité d'organiser des attaques MITM pour intercepter les sessions SSH et HTTPS en exploitant les failles PKI.

Caïn et Abel est un programme gratuit qui vous permet de récupérer les mots de passe perdus pour les systèmes d'exploitation de la famille Windows. Plusieurs modes de récupération sont pris en charge : piratage par force brute, sélection de dictionnaire, affichage des mots de passe masqués par des astérisques, etc. Il existe également des options pour identifier un mot de passe en interceptant les paquets d'informations et leur analyse ultérieure, en enregistrant les conversations réseau, l'analyse du cache, etc.

Ettercap- est un renifleur, un intercepteur de paquets et un enregistreur pour les réseaux Ethernet locaux, qui prend en charge l'analyse active et passive de plusieurs protocoles, et il est également possible de « jeter » vos propres données dans une connexion existante et de filtrer « à la volée » sans interrompre la connexion synchronisation. Le programme vous permet d'intercepter SSH1, HTTPS et d'autres protocoles sécurisés et offre la possibilité de décrypter les mots de passe pour les protocoles suivants : TELNET, ftp, POP, RLOGIN, SSH1, icq, SMB, Mysql, HTTP, NNTP, X11, NAPSTER, IRC. , RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.

KARMA– un ensemble d'utilitaires pour évaluer la sécurité des clients sans fil, est un renifleur sans fil qui, en écoutant passivement les trames de demande de sonde 802.11, vous permet de détecter les clients et leurs réseaux préférés/de confiance. Un faux point d'accès peut alors être créé pour l'un des réseaux demandés, auquel il peut se connecter automatiquement. Des services usurpés de haut niveau peuvent être utilisés pour voler des données personnelles ou exploiter les vulnérabilités des clients sur l'hôte.

AirJack- un ensemble de programmes qui, selon les experts dans le domaine du piratage WiFi, constituent le meilleur outil pour générer diverses trames 802.11. AirJack comprend un certain nombre d'utilitaires conçus pour détecter les ESSID cachés, envoyer des trames de fin de session avec un faux MAC, mener des attaques MitM et le modifier.

Neutralisation:

Pour éviter des attaques de ce type, les abonnés « A » et « B » n'ont qu'à se transférer les signatures numériques des clés de cryptage publiques via un canal fiable. Ensuite, en comparant les signatures de clés dans les sessions de chiffrement, il sera possible de déterminer quelle clé a été utilisée pour chiffrer les données et si les clés ont été remplacées.

MTProto utilise une méthode originale pour assurer la fiabilité des communications mobiles actuellement vulnérables et la rapidité de livraison des fichiers volumineux (par exemple, des photos, des vidéos et des documents jusqu'à 1 Go). Ce document est destiné à clarifier les détails de notre système et à aborder des éléments qui peuvent être difficiles à comprendre à première vue.

Une documentation détaillée du protocole est disponible sur cette page. Si vous avez des questions, écrivez à Gazouillement.

Note: Chaque message crypté via MTProto contient toujours les données suivantes, qui seront vérifiées lors du décryptage afin de sécuriser le système contre les problèmes connus :

  • identifiant de session - identifiant de session ;
  • longueur du message - longueur du message ;

Remarque 2 : Voir les commentaires supplémentaires concernant l'utilisation, et modifié schémas

Pourquoi n'utilisez-vous pas X [votre option]

Bien qu’il existe sans aucun doute d’autres moyens d’atteindre les mêmes objectifs cryptographiques, nous pensons que la solution actuelle est à la fois fiable et atteint notre objectif secondaire consistant à surpasser les messagers non sécurisés en termes de vitesse de livraison et de stabilité.

Pourquoi vous appuyez-vous sur des cryptoalgorithmes classiques ?

Nous préférons utiliser des algorithmes bien connus créés à l’époque où la bande passante et la puissance de traitement étaient une paire rare. Ce sont ces algorithmes qui ont un impact significatif sur le développement actuel des applications pour appareils mobiles, obligeant leurs auteurs à se débarrasser des défauts connus. Les faiblesses de ces algorithmes sont également bien connues et exploitées par les attaquants depuis des décennies. Nous utilisons ces algorithmes dans cette implémentation car, à notre avis, ils conduisent à l’échec de toute attaque connue. Cependant, nous serions heureux de voir toute preuve du contraire (aucun cas de ce type ne s'est produit jusqu'à présent) afin d'améliorer notre système.

Je suis un expert en sécurité et je pense que votre protocole n'est pas sécurisé.

Vous pouvez participer à notre concours : Pavel Durov offre 200 000 $ en Bitcoin à la première personne qui piratera MTProto. Vous pouvez lire l'annonce et la FAQ du concours. Si vous avez d'autres commentaires, nous serions heureux de les entendre à [email protégé].

Protection contre les attaques connues

Attaques en clair connues

Par définition, une attaque en clair est un type d’attaque cryptanalytique dans laquelle l’attaquant dispose à la fois de versions chiffrées et en clair du texte. L'AES IGE utilisé dans MTProto est résistant à de telles attaques. De plus, le texte brut dans MTProto contient toujours le sel du serveur et l'identifiant de session.

Attaque adaptative en texte clair

Par définition, une attaque adaptative en clair est un type d'attaque en cryptanalyse dans laquelle le cryptanalyste peut sélectionner un texte en clair et obtenir un texte chiffré correspondant. MTProto utilise AES en mode IGE, qui est sécurisé contre de telles attaques. IGE est connu pour être vulnérable aux attaques adaptatives par bloc, mais MTProto corrige ce problème de la manière décrite ci-dessous. Chaque message en clair à chiffrer contient les données suivantes, qui sont vérifiées lors du décryptage :

  • sel de serveur (64 bits) ;
  • numéro de séquence du message ;
  • heure à laquelle le message a été envoyé - heure.

De plus, pour remplacer le texte en clair, vous devez également utiliser la clé AES et le vecteur d'initialisation corrects, qui dépendent de auth_key . Cela rend MTProto résistant aux attaques adaptatives en texte clair.

Attaques de texte chiffré correspondant

Selon la définition, une attaque de texte chiffré choisi est une attaque cryptographique dans laquelle un cryptanalyste collecte des informations sur le chiffre en sélectionnant le texte chiffré et en obtenant son déchiffrement avec une clé inconnue. Dans une telle attaque, un attaquant peut saisir un ou plusieurs textes chiffrés connus dans le système et obtenir les textes en clair. Grâce à ces données, un attaquant peut tenter de récupérer la clé utilisée pour le décryptage. Dans MTProto, chaque fois qu'un message est déchiffré, une vérification est effectuée pour garantir que msg_key correspond au SHA-1 des données déchiffrées. Le texte en clair (données décryptées) contient également toujours des informations sur la longueur du message, son numéro de séquence et le sel du serveur. Cela annule les attaques basées sur le texte chiffré sélectionné.

Rejouer les attaques

Les attaques par relecture ne sont pas possibles car chaque message en texte brut contient un sel de serveur, un ID de message unique et un numéro de séquence.

Attaque de l'homme du milieu (MitM)

Telegram dispose de deux modes de communication : les discussions régulières, qui utilisent le cryptage client-serveur, et les discussions secrètes, qui utilisent le cryptage de bout en bout et sont protégées contre les attaques de l'homme du milieu. Le transfert de données entre le client et le serveur est protégé contre de telles attaques lors de la génération de clé Diffie-Hellman grâce à l'algorithme de clé publique RSA intégré aux clients Telegram. Après cela, si les clients des interlocuteurs font confiance au logiciel du serveur, les discussions secrètes entre eux sont protégées par le serveur contre les attaques de l'homme du milieu. Surtout pour ceux qui Pas fait confiance au serveur, une comparaison des codes secrets est disponible dans l'application. Les clés sont visualisées sous forme d'images. En comparant les clés visualisées, les utilisateurs peuvent s'assurer qu'aucune attaque de l'homme du milieu ne s'est produite.

Cryptage

Utilisez-vous IGE ? C'est piraté !

Oui, nous utilisons IGE, mais dans notre implémentation, tout va bien. Le fait que nous n’utilisons pas IGE avec d’autres éléments de notre système de la même manière que MAC rend inutiles les tentatives de piratage d’IGE. IGE, tout comme le mode commun de chaînage de blocs de texte chiffré (CBC), est sensible aux attaques adaptatives par blocs. Mais les attaques adaptatives ne constituent une menace que lorsque la même clé est utilisée dans plusieurs messages (ce qui n'est pas le cas).

Les attaques adaptatives ne sont même pas théoriquement possibles dans MTProto, car pour décrypter les messages, ces derniers doivent d'abord être entièrement saisis, puisque la clé du message dépend de son contenu. Quant aux attaques CPA non adaptatives, IGE en est protégé, tout comme CBC.

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