Attaque Man in the Middle (MITM)

L’Attaque Man in the Middle (MITM) ou attaque de l’homme du milieu est la compromission d’un canal de données sans que les deux parties ne s’aperçoivent de quoique ce soit.
La compromission peut mener à des vols de données, des altérations de contenus ou la possibilité d’effectuer d’autres attaques comme du phishing.

Introduction aux attaques Man in the Middle

Les attaques Attaque Man in the Middle (MITM) peuvent avoir plusieurs formes reposant toujours sur un même principe.
L’attaquant intercepte des données entre deux entités, les modifient ou non avant de les envoyer à la destination prévue.
Le but est donc d’intercepter les données sans que les deux parties ne puissent s’en apercevoir.

Au sein d’un réseau, on peut imaginer deux ordinateurs qui échange des fichiers et l’attaquant qui se place entre les deux.
Ainsi ce dernier peut récupérer au passage les données avant de les envoyer à la victime.
L’attaquant peut falsifier les données si besoin.

Les deux schémas ci-dessous illustrent cette attaque de l’homme du milieu :

 

Cette attaque peut aussi être réalisée lors de la connexion à un site WEB, ou l’attaquant, se place entre l’ordinateur ou dans le système d’exploitation pour s’intercaler entre la victime et le site WEB.
Là aussi, cela peut permettre de récupérer des informations, comme vos identifiants/mot de passe, des cookies d’authentification etc.
L’attaque peut aussi permettre de détourner la victime du vrai site WEB afin de la faire se connecter à un faux sites pour placer une attaque de type phishing.
Par exemple, on vous connecte à un site de banque ressemblant au vrai et même avec la vrai adresse, la victime saisit ses informations bancaires qui seront récupérés par le pirate.

Voici quelques explications et méthodes utilisées pour effectuer ce type d’attaque informatique.

Les possibilités de l’attaques Man in the Middle

Passerelle Hijack

Une des premières méthodes consiste à modifier la passerelle du client.
Avant de passer aux détails, il faut bien comprendre comment fonctionne le partage de connexion internet sur un réseau LAN.
Nous allons évoquer ici un cas simple.

Lorsque vous connectez votre ordinateur à un réseau publique (cybercafé, école etc), votre carte réseau Echthernet est en DHCP.
Cela signifie que la carte réseau va demander à un serveur DHCP, la configuration IP que le serveur va lui attribuer.
Ainsi, votre ordinateur au sein du réseau récupère une adresse IP, les serveurs DNS et la passerelle.
La passerelle est, en général, l’équipement réseau, qui s’occupe d’effectuer le partage de connexion soit typiquement un routeur, comme le fait votre box chez vous.

Je rappelle que la commande ipconfig sur Windows permet de visualiser la configuration IP dont la passerelle.
Plus d’informations sur la page : Les commandes réseaux sur Windows

Le but du pirate est simple, se faire passer pour le routeur, ainsi, votre ordinateur va passer par le sien avant d’arriver sur le site WEB.
De cette manière, l’attaquant va s’intercaler entre votre ordinateur, et le routeur du réseau/site WEB.
Le trafic internet passant l’ordinateur du pirate, celui-ci pourra faire ce qu’il veut avec, le lire ou l’altérer.
Ainsi, la victime ne verra rien puisque le site se chargera de manière normale, le pirate lui pourra lire tout le trafic entre la victime et le site WEB puisque les données passeront par son ordinateur.

Comment s’opère une attaque MITM

La question qui se pose est : comment le pirate va s’y prendre ?

Une première méthode simple consiste à sur-planter le serveur DHCP légitime. Le but étant que l’ordinateur de la victime demande la configuration IP au serveur DHCP du pirate, ainsi, celui-ci pour indiquer comme passerelle l’adresse IP de son ordinateur.
Dans la mesure du possible, le pirate peut chercher à mettre hors service serveur DHCP légitime, par exemple avec une attaque DoS.
Ainsi, le pirate pourra que serveur DHCP donnera la configuration IP aux ordinateurs des futures victimes.

Une autre méthode plus complexe est possible reposant sur le protocole ARP.

Le protocole ARP s’occupe de fournir les correspondances adresses IP / Adresse MAC de l’interface réseau.
Ainsi sur un réseau avec des ordinateurs, le protocole ARP s’occupe de fournir les associations adresse IP/adresse Mac de la carte ethernet ou Wifi de l’ordinateur.
Votre ordinateur garde une table APR avec toutes ces correspondances MAC-IP, afin de ne pas avoir à faire une requête ARP sur le réseau quand il a besoin de contacter une adresse IP spécifique.

Là aussi, le pirate qui veut mettre en place une attaque Man-In-The-Middle va effectuer une usurpation ARP.
Le but est de court-circuiter la réponse de la passerelle et de retourner le couple adresse MAC / Adresse IP de la passerelle avec celui de son ordinateur.
Admettons que nous ayons ces trois machines :

l’adresse IP de la passerelle soit 192.168.1.1 : ee:08:6b:00:df:9b
L’attaquant : 192.168.1.100 : 52:54:05:6C:A4:33
La victime : 192.168.1.10 : 00:19:D2:5B:C4:41

L’attaquant va alors envoyer à l’aide d’outil comme arpspoof ou Scapy, une requête ARP à la machine de la victime 192.168.1.10
Cette requête ARP contiendra l’adresse IP de la passerelle 192.168.1.1 et l’adresse MAC du PC de l’attaquant.
Ainsi, l’ordinateur de la victime mettra à jour sa table ARP avec 192.168.1.1 et l’adresse Mac de l’attaquant.
Les paquets seront alors envoyés vers l’adresse Mac de l’attaquant.
Ce dernier met en place un transfert de paquet, puisque son IP n’est pas 192.168.1.1, afin de les transmettre au routeur.
Les paquets à destination 192.168.1.1 transitent donc par son ordinateur. L’attaque Man In The Middle est alors en place.
Afin de parfaire le tout,il faut effectuer la même opération sur le routeur 192.168.1.1, afin que les paquets partant du routeur et allant vers la victime passe par l’attaquant.


Voici donc le principe d’une attaque man in the middle (MITM).
Il existe maintenant des variantes utilisées par des virus informatiques ou d’autres méthodes.

Exemples d’attaques MITM

DNS Hijack

Une autre variante consiste à modifier les serveurs DNS de l’ordinateur par un serveur DNS contrôlé par un pirate.

Un serveur DNS est en charge des transpositions adresse littérale en adresse IP (et inversement), exemple www.malekal.com = 94.23.44.69

Ainsi, le pirate contrôle la résolution DNS de l’ordinateur et peut faire pointer n’importe quelle adresse littérale vers une adresse IP de son choix.
Cela permet :

  • de remplacer les serveurs publicitaires contenus dans les sites visités par des serveurs publicitaires de son choix et ainsi utiliser l’ordinateur pour gagner de l’argent. Trojan.DNSchanger a été un des premiers virus a utilisé ces méthodes, plusieurs millions d’ordinateurs ont été touchés.
  • modifier les résultats de recherches (redirections Google), faire augmenter la valeur de certains sites WEB à travers des mots clés, rediriger les internautes vers des sites avec de fausses alertes de virus, etc
  • de rediriger l’internaute vers de faux sites et voler des cookies d’authentification ou de récupérer les identifiants/mots de passe saisis par la victime.

En 2014 / 2015, avec la poussée des PUPs/Adwares, ces méthodes sont réapparues notamment à travers DNSUnlocker et ses variantes.
Cela a permis l’injection de publicités sur de nombreux ordinateurs. Le contrôle des DNS étant effectués par DNSUnlocker

Microsoft a récement a récemment ajouté cette famille (sous le nom de Clodaconas) au MSRT.
La page MSRT December 2016 addresses Clodaconas, which serves unsolicited ads through DNS hijacking donne cette illustration :

Les routeurs ont aussi très vite été  visés par ces Hijack DNS, et cela devrait perdurer, nous en avons parlé sur la page : Piratages de routeurs en hausse

WIFI et MITM

Il est tout à fait possible de mettre en place une attaque MITM en Wifi.
Le principe est simple, faire connecter la victime à un SSID Wifi que l’on contrôle et qui partage la connexion internet.

Pour faire connecter au SSID de l’attaquant, il *suffit* de tromper les internautes.
Par exemple, sur rendre dans un aéroport et donner le nom de « Air France Free » au SSID.
La page suivante illustre la mise en place de ce type d’attaque : https://www.troyhunt.com/the-beginners-guide-to-breaking-website/

MITM et HTTPs

Les sites HTTPs dits « les sites sécurisés » permettent plusieurs choses, vous pouvez consulter notre guide concernant ces derniers : les sites HTTPs.
Ces derniers permettent :

  • de s’assurer de l’identifié du propriétaire
  • de transmettre les données entre le client et le site HTTPs non pas en clair mais chiffrées.

Ce dernier aspect pose problème aux attaques man in the middle puisque, si l’attaque se positionne entre le client et le site HTTPs, il ne verra que des données chiffrées.
Pour pallier à ce mécanisme de sécurité, les attaquants utilisent plusieurs méthodes.

La première méthode consiste à utiliser SSLStrip. Comme son nom l’indique SSLStrip supprime le HTTPs.
Pour ne pas générer d’erreur, côté client, le trafic HTTPs se fait entre l’attaquant et le site WEB.


Côté client, tous les liens sont en HTTP mais pour ne pas éveiller de soupçon, le favicon (l’icône du site) est modifié avec un cadenas.

Il est fort probable que les applications sur les tablettes/téléphone ne soient pas sujet à ce type d’attaque, car elles doivent forcer le HTTPs.

L’autre méthode utilisée par des malwares/virus est d’installer un certificat racine dans le magasin de Windows.
Ces aspects ont été déjà détaillés sur la page : Comprendre le HTTPs et à quoi sert le HTTPs
Je ne reviendrai pas en détail là dessus.
Sachez que ces méthodes ont été utilisés aussi par les antivirus pour leur permettre d’analyser le trafic HTTPs, ce qui a posé des problèmes de connexions à de multiples internautes : Erreurs SSL : Les sites HTTPs sécurisés ne fonctionnent plus

 

MITM est malwares

Côté des malwares/virus, 2004, un Trojan RAT qui modifie les DNS et installe un certificat racine : New Man-in-the-Middle attacks leveraging rogue DNS et puis, les PUPs/Adwares s’y sont mis… notamment la famille Abengine/Shopperz.
Durant l’installation de L’Adware Abengine/Shopperz, une alerte de sécurité proposant l’installation d’un certificat racine.
Cette popup pouvait spammer l’utilisateur, jusqu’à ce que ce dernier accepte.ImageLe site Google vérifié par des certificats d’autorités racines malicieux :Image


Les Adwares en font malheureusement autant, le fameux Adware VisualDiscovery de SuperFish installés par défaut sur tous les ordinateurs de la marque Lenovo a déclenché un scandale dans l’actualité de l’année 2015 : Lenovo & adware VisualDiscovery / VisualSearch.

Trojan Banker

Les Trojans Banker utilisent une attaque similaire au MITM mais au niveau du navigateur WEB.env
On appelle ces attaques Man in the Browser a.k.a MITB

Le Trojan Banker intercepte les pages envoyées par le serveur WEB (par exemple celui d’un site d’une banque) et modifie le contenu des pages.
Cela peut aller très loin, le Trojan peut manipuler le pages WEB et notamment les pages WEB de transfert d’argent.
La victime transfert quelques centaines d’euros à un compte bancaires X, mais le Trojan modifie l’envoie aux serveurs WEB de la banque pour envoyer à Y.
Au retour du serveur, le Trojan re-modifie la page afin de confirmer que c’est bien le compte bancaire X qui a été accrédité.

Sur le blog d’Avast!, une entrée Retefe banking Trojan targets UK banking customers
L
e Trojan installe un certificat d’autorité (comme expliqué précédemment), puis installe un proxy Tor sur la machine infectée.
A partir de là, lorsque la victime tente d’accéder au site d’une banque, c’est sur un faux site qu’elle est redirigée.

Faux site banque barclays
vrai site banque barclays

Vous remarquerez que le cadenas est vert et tout va bien.
Bref, dans le cas des Trojans Banker, pour les plus sophistiqués, vous ne verrez rien de l’attaque.

Les attaques MITM en vidéo

Dans cette vidéo, vous trouverez un exemple d’attaque Man in the Middle et les protections offertes par les sites sécurisés et VPN.

Conclusion et Protection

Quelques remarques.
Il faut dissocier les attaques volontaires d’un pirate sur un réseau et notamment public, des attaques massives provenant de trojan/virus/adwares.
Surtout dans le cas de  Trojans Banker, le PC étant infecté, l’illusion est parfaite.
C’est en amont qu’il faut se protéger, je pense que le site a tout ce qu’il faut là dessus et notamment : Comment sécuriser mon Windows.

Un mot concernant les réseaux publics, si vous n’avez pas confiance, ne vous y connectez pas.
C’est la meilleur solution.

Pour le reste, la source de l’attaque est l’empoisonnement ARP.
Quelques utilitaires existent sur Windows (pas testé), notamment : NetCut Defender

Certain antivirus ayant une partie IDS vous en protège, comme ESET antivirus :

Sur Linux, le programme EtherWall peut détecter ces attaques.
Une autre protection consiste à saisir en dur les passerelles dans le cache ARP.
Le problème étant toujours les réseaux publics… où vous serez obligé de changer la configuration lors de la connexion à un nouveau réseau.

Chiffrer ses communications

Le chiffrement des commnunications permettent aussi d’ajouter de la complexité, dans le cas d’une interception par un tiers.

Enfin pour le cas de SSLStrip, l’attaque est visible simplement en regardant le début de l’URL.
Il est important de vérifier que vous avez bien HTTPs et pas HTTP.
Il est aussi possible de forcer le HTTPs, l’extension HTTPS Everywhere permet cela.
Sachez aussi que les navigateurs WEB peut forcer le HTTPs sur certains sites ou certains sites peuvent aussi le forcer, notamment Google Chrome, le force par défaut pour les sites Google à travers le HTTP Strict Transport Security (HSTS).

Enfin, côté DNS, Simple DNS Filter peut aussi aider pour sécuriser ses requêtes DNS : Simple DNSCrypt : DNS sécurisés

Autres attaques

Les liens du site autour d’autres types d’attaques :

Pour tout ce qui est sécurité, voir le menu en haut Virus & Sécurité mais aussi le tag Sécurité.

(Visité 1 843 fois, 3 visites ce jour)

Vous pouvez aussi lire...

Les Tags : #Windows10 - #Windows - #Tutoriel - #Virus - #Antivirus - #navigateurs WEB - #Securité - #Réseau - #Internet