Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE...

55
Implémentation d’attaques de type Man In The Middle sur un réseau. Rapport réalisé par CHEMINADE Julien, GRZESKIEWICZ Teddy et HUGUET Anthony étudiants en licence Administration Et Sécurité des Réseaux. Sous la tutelle de Monsieur GERAULT David. 2015 - 2016

Transcript of Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE...

Page 1: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

Implémentation d’attaques de type Man In The Middle sur un réseau.

Rapport réalisé par CHEMINADE Julien, GRZESKIEWICZ Teddy et HUGUET Anthony étudiants en licence Administration Et Sécurité des Réseaux. Sous la tutelle de Monsieur GERAULT David.

2015 - 2016

Page 2: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

1

Remerciements

Nous tenons à remercier toutes les personnes qui ont contribué au succès de notre

projet tuteuré et qui nous ont aidés lors de la rédaction de ce rapport.

Tout d’abord, nous adressons nos remerciements à notre tuteur et responsable de

projet Monsieur GERAULT David pour nous avoir aidé et guidé au travers de ce projet, ainsi

que pour sa patience et toutes les connaissances qu’il nous a apportées.

Pour finir, nous remercions l’ensemble de l’équipe pédagogique de la licence

Administration et Sécurité des Réseaux pour le contenu des cours et des travaux dirigés.

Page 3: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

2

Sommaire

Remerciements .......................................................................................................................... 1

Sommaire ................................................................................................................................... 2

Table des figures ........................................................................................................................ 4

Introduction ................................................................................................................................ 5

I. Contexte du projet (fictif) ................................................................................................... 6

a) L’entreprise Tout & Bon .................................................................................................. 6

b) Le réseau de l’entreprise ................................................................................................. 7

c) Les besoins et les outils de l’entreprise .......................................................................... 8

II. Man In The Middle ............................................................................................................ 11

a. Les moyens d’intrusions sur un réseau ......................................................................... 11

b. Le principe du Man In The Middle ................................................................................ 13

a. Explication du principe .............................................................................................. 13

b. L’usurpation d’adresse IP .......................................................................................... 14

c. Man in the middle sur les mails .................................................................................... 19

d. Man in the middle sur FTP: ........................................................................................... 21

e. Man in the middle sur HTTP .......................................................................................... 22

a. Caractéristiques ......................................................................................................... 22

b. Installation ................................................................................................................. 23

c. Mise en œuvre ........................................................................................................... 25

f. Man the middle sur HTTPS ............................................................................................ 26

a. Le protocole TLS......................................................................................................... 26

b. L’attaque .................................................................................................................... 33

c. MITMproxy ................................................................................................................ 33

d. Mise en pratique. ....................................................................................................... 36

Page 4: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

3

III. Moyens de défense ........................................................................................................... 39

a) Protection du protocole ARP ......................................................................................... 39

b) Le chiffrement de mail .................................................................................................. 41

c) Chiffrement du trafic FTP .............................................................................................. 43

d) Protection des protocoles HTTP / HTTPS ...................................................................... 44

Conclusion ................................................................................................................................ 46

Bilan humain ............................................................................................................................ 47

Abstract .................................................................................................................................... 48

Glossaire ................................................................................................................................... 49

Bibliographie ............................................................................................................................ 52

Annexes .................................................................................................................................... 53

Page 5: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

4

Table des figures Figure 1 : Logo de l’entreprise .................................................................................................... 6

Figure 2 : Réseau de l’entreprise ................................................................................................ 7

Figure 3 : Trafic réseau normal................................................................................................. 16

Figure 4:Trafic d'ARP Spoofing ................................................................................................. 16

Figure 5 : Trame ARP Wireshark............................................................................................... 18

Figure 6 : Trafic des mails ......................................................................................................... 19

Figure 7 : Trame mails Wireshark ............................................................................................. 19

Figure 8:Détails de trame mail Wireshark................................................................................ 20

Figure 9 : Trafic FTP .................................................................................................................. 21

Figure 10:Trame FTP Wireshark ............................................................................................... 21

Figure 11: Trafic HTTP .............................................................................................................. 25

Figure 12 : TLS HandShake ....................................................................................................... 28

Figure 13 : Paquet ServerHello de TLS ..................................................................................... 29

Figure 14: Capture de trame de certificat avec Wireshark ...................................................... 29

Figure 15: Protocole TLS Record .............................................................................................. 31

Figure 16: Trafic HTTPS avec MITM proxy................................................................................ 33

Figure 17: Schéma attaque Mitmproxy ................................................................................... 36

Figure 18 : Étapes TLS réussies ................................................................................................. 38

Figure 19 : Récupération informations en clair sur HTTPS ...................................................... 38

Figure 20 : Anti-Arp .................................................................................................................. 40

Figure 21:Log du logiciel Anti-Arp ............................................................................................ 40

Figure 22: Génération clés. ..................................................................................................... 42

Figure 23: Capture trame mali chiffré ...................................................................................... 43

Figure 24: Trame FTPS .............................................................................................................. 44

Page 6: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

5

Introduction

Notre projet se déroule dans le cadre de la licence Administration et Sécurité des Réseaux

de l’Institut Universitaire et Technologique situé à Clermont-Ferrand. Nous avons effectué ce

projet dans le but d’obtenir notre licence.

Ce projet a pour intitulé : « L’implémentation d’attaques de type Man In The Middle ». C’est

un projet qui nous a attiré tous les trois. Effectivement, un pirate informatique peut écouter

n’importe quelles communications entre un client et un serveur, et ainsi voler les informations

échangées tels que des mots de passe ou des données sensibles. En effet, à l’heure actuelle,

la sécurité du système d’informations est quelque chose de très sensible dans toutes les

entreprises, il n’est pas concevable pour une entreprise de se faire voler des informations par

des concurrents.

Pourtant, grâce à certaines techniques, un pirate peut contourner les sécurités mises en

œuvre et parvenir à voler les informations. C’est principalement par cette motivation que

nous avons décidé de nous orienter vers ce sujet, que nous trouvons très intéressant et

enrichissant, pour la suite de nos expériences professionnelles.

Ce rapport a pour objectif de répondre à la thématique suivante : Comment et pourquoi

effectuer des attaques de type Man In The Middle ?

Pour répondre à cette problématique, nous allons tout d’abord présenter le contexte de

notre entreprise fictive en détaillant les besoins et les outils de cette entreprise. Dans un

second temps, nous détaillerons les différents types d’attaques Man In The Middle existantes

ainsi que les outils pour les réaliser. Nous terminerons ce rapport en présentant les différents

mécanismes nous permettant de nous défendre.

Page 7: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

6

I. Contexte du projet (fictif)

a) L’entreprise Tout & Bon

L’entreprise « Tout & Bon » est une société du domaine agroalimentaire basé à

Clermont-Ferrand (63 000). Cette société a pour activité principale la création de recettes de

spécialité Auvergnate, existante depuis 2012 cette société est en pleine croissance et compte

actuellement 65 salariés et plus de 10 clients tels que des grandes surfaces, des revendeurs...

Figure 1 : Logo de l’entreprise

Cette société comprend plusieurs services. Tout d’abord, un service de Recherche pour

la recherche et découverte de nouvelle recette pour les clients. Un service de Production de

plat cuisiné. Le service de Dégustation pour valider les nouveaux produits avant la mise en

vente. Un service de Communication et Administratif pour la communication avec les clients,

les prestataires, les partenaires pour assurer la bonne communication et la publicité de

l’entreprise. Un service Commercial qui s’occupe de la relation clientèle et de la vente chez les

professionnels et les distributeurs. Et évidemment un service Informatique pour assurer le

bon fonctionnement de tout ceci avec les nouvelles technologies.

Malgré que la société veuille devenir leader sur le marché de l’agroalimentaire

Auvergnat, elle ne possède pas de politique de sécurité rigoureuse permettant d’éviter le vol

d’informations et de données de la part de ses concurrents.

Sa politique de sécurité minime s’applique cependant à tous les salariés de l’entreprise.

Ils utilisent des outils informatiques très ciblés pour différentes raisons. Tout d’abord

Page 8: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

7

l’entreprise a besoin d’un accès internet pour le service de Recherche pour les nouvelles

recettes (navigateur internet imposé Mozilla Firefox), ensuite un client de transfert de

fichier pour échanger des données en interne comme en externe avec des partenaires (client

FTP imposé FileZilla) et pour terminer un client de messagerie pour l’échange d’information

aussi bien en interne qu’en externe (client messagerie imposé Thunderbird).

Nous allons maintenant analyser le réseau de l’entreprise.

b) Le réseau de l’entreprise

Figure 2 : Réseau de l’entreprise

Le réseau de l’entreprise est composé des éléments suivants :

Un serveur LDAP pour l’authentification des salariés en interne. C’est le contrôleur du

domaine.

Un serveur FTP qui est utilisé pour partager les données concernant l’avancement sur

les projets ainsi que les informations concernant les produits.

Un serveur WEB qui héberge à la fois le site web de l’entreprise qui est utilisé comme

publicité, mais aussi héberge un intranet pour la gestion des données interne à

l’entreprise.

Page 9: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

8

Un serveur MAIL qui assure les échanges mails de l’entreprise aussi bien en interne

qu’en externe.

Et une soixantaine de postes informatiques pour les salariés.

c) Les besoins et les outils de l’entreprise

Afin de répondre à ces besoins, la société a mis en place les outils suivants :

Navigation internet / intranet : Navigateur internet Mozilla Firefox,

Serveur web Apache2 (HTTP/HTTPS)

Transfert de fichiers : la société utilise le client lourd FileZila pour récupérer les fichiers

sur un serveur ProFTPD (FTP)

Messagerie électronique : utilisation d’un serveur Postfix (SMTP) et d’un client lourd

Thunderbird

Présentation des protocoles de communication utilisés :

HTTP : le HTTP (HyperText Transfert Protocol) ou protocole de transfert hyper texte est un

protocole de niveau application pour les systèmes d’information multimédia distribués et

collaboratifs. Il est utilisé depuis 1990 par l’initiative mondiale d’information de la toile

(World-Wide Web). Ce protocole fonctionne sur n’importe connexion, il utilise le protocole

TCP comme couche de transport.

Il fonctionne suivant le mode Client / Serveur, un client HTTP est plus communément appelé

un navigateur internet. Pour les échanges le port TCP utilisé est le port 80. C’est donc un

moyen de communication entre un ordinateur et un serveur fait pour le web.

HTTPS : le protocole HTTPS est la version sécurisée du protocole HTTP, elle est la combinaison

du HTTP avec une couche de chiffrement comme TLS. HTTPS permet au visiteur d’un site

internet de vérifier l’identité du site web auquel il accède, grâce à un certificat

d’authentification. Il garantit la sécurité de l’utilisateur ainsi que la confidentialité des

informations reçues, il est généralement utilisé pour le commerce électronique ainsi que la

consultation de site bancaire.

Page 10: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

9

TLS : Transport Layer Security, est un protocole de sécurisation assurant la confidentialité des

informations échangées entre des applications et leurs utilisateurs sur internet. TLS ou

anciennement SSL permet de satisfaire aux objectifs de sécurité suivants :

L’authentification du serveur.

La confidentialité des données échangées.

L’intégrité des données échangées.

De manière optionnelle, l’authentification du client, bien qu’elle soit souvent assurée

par le serveur.

Il est très largement utilisé, car il est totalement transparent.

Pour la suite du rapport, il est nécessaire d’expliquer le fonctionnement en détail de ce

protocole, il sera détaillé dans la partie 2.

FTP : File Transfer Protocole (protocole de transfert de fichier) est un protocole de

communication permettant le transfert de fichier dans un réseau. Plus simplement il permet

à un ordinateur de copier, créer, modifier ou supprimer un fichier présent sur un autre

ordinateur. Ce protocole est généralement utilisé dans le cadre de la mise en place d’un site

web chez un hébergeur pour transférer des données.

SMTP : Simple Mail Transfer Protocol (protocole simple de transfert de courrier) est un

protocole de communication utilisé pour transférer les courriers vers un serveur de

messagerie. Plus simplement, le protocole SMTP est celui qui est utilisé lorsqu’une personne

envoie un courrier électronique, il vérifie la bonne existante des destinataires et de l’émetteur

puis il transmet le courrier.

IMAP : (Internet Message Access Protocol) est un protocole qui permet d’accéder à ses

courriers électroniques en se connectant aux serveurs de messagerie. Le protocole effectue

une synchronisation de la boîte aux lettres par rapport au serveur. Il nous affiche donc une

copie de notre boîte aux lettres.

Page 11: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

10

POP : Post Office Protocol (Protocole du bureau de poste) est un protocole qui permet de

télécharger les courriers électroniques situés sur un serveur de messagerie électronique

directement sur notre machine. Contrairement à IMAP, les mails récupérés par POP sont

enregistrés en local et ne sont donc plus présents sur le serveur de messagerie.

Malgré les différents éléments de sécurité du réseau de l’entreprise, un pirate a réussi

à s’infiltrer et effectuer des attaques de type Man In The Middle. Ce qui lui a permis de

récupérer des informations et données sensibles de l’entreprise.

Dans la seconde partie de ce rapport, nous allons donc voir les différentes méthodes

d’intrusions et les outils utilisés pour réussir ce genre d’attaque.

Page 12: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

11

II. Man In The Middle

a. Les moyens d’intrusions sur un réseau

Un réseau informatique d’entreprise même étant sécurisé comprend quand même des

failles d’intrusions pour un pirate. Nous allons présenter les différents moyens existant pour

s’introduire sur un réseau.

L’introduction filaire :

Généralement dans les entreprises, chaque prise Ethernet présente dans les salles de

réunion, salles d’attente, bureaux, est câblée jusque dans la salle serveur et connectée sur des

switches qui accèdent au réseau de l’entreprise et à internet. Il est rare que certaines prises

ne soient pas câblées jusqu’aux équipements d’interconnexions.

Ce qui implique donc que toute personne présente dans l’entreprise, et qui se

connecte sur une prise Ethernet avec son ordinateur portable accède à toutes les ressources

disponibles (hormis les dossiers comprenant des droits spécifiques) et à internet. Il y a de

faibles chances pour que la personne se connectant veuille effectuer du vol d’informations ou

des attaques Man In The Middle, mais cela peut arriver.

Dans notre contexte, le pirate qui est un commercial externe de l’entreprise avait un

rendez-vous avec les dirigeants de l’entreprise pour la signature d’un nouveau contrat de

partenariat. Cet intervenant est arrivé avec son ordinateur portable et s’est connecté à l’aide

d’un câble Ethernet pendant la réunion, sur le réseau de l’entreprise pour accéder à internet

et à ces ressources distantes. Malheureusement, cette personne en a profité pour effectuer

une attaque Man In The Middle et ainsi récupérer des informations et des données sensibles.

Page 13: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

12

L’introduction sans-fil :

Très fréquemment, un réseau wifi (de type hot spot) est disponible dans les

entreprises, qu’il soit pour les salariés ou pour les intervenants extérieur. Il est très souvent le

cas que ce réseau ne soit pas parfaitement sécurisé voir très peu sécurisé et même pas du

tout à certains endroits pour faciliter la connexion des salariés.

Mais avoir un réseau wifi disponible dans une entreprise est un risque supplémentaire

d’intrusion de la part d’un pirate. En effet il est très facile de se connecter à un réseau wifi qui

est sécurisé par mot de passe.

Il existe des outils tels que « Aircrack-ng », qui permettent de casser des clés wifi

(WEP). Cet outil va capturer des paquets encryptés pour ensuite retrouver la clé WEP en

utilisant différentes méthodes. Nous ne détaillerons pas ces méthodes, car ce n’est pas dans

le but de notre projet.

Le Social Engineering :

Le social engineering est une technique qui a pour but de récupérer des

informations (mot de passe, identifiant...) à des personnes sans qu’elles s’en rendent compte.

Elle ne nécessite donc pas de logiciel spécial. Cette méthode se base sur les failles humaines

des salariés d’une entreprise, par exemple le fait d’écrire son mot de passe sur un post-it à

côté de notre clavier, ou bien de laisser la session de l’ordinateur ouverte lors d’une absence

même de courte durée. Il est aussi courant de nos jours que des informations soient prises sur

des personnes pouvant disposer d’accès intéressant pour un pirate généralement grâce aux

réseaux sociaux.

Cette faille permet donc d’avoir accès à différentes ressources sans réellement

utiliser de méthodes techniques. Le meilleur moyen de défense contre cette méthode est le

fait de sensibiliser les employés de l’entreprise.

Page 14: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

13

Après avoir présenté les différents moyens d’intrusion, la prochaine partie expliquera le

principe du Man In The Middle.

b. Le principe du Man In The Middle

a. Explication du principe

L’attaque Man In The Middle est une technique de piratage informatique consistant à

intercepter des échanges entre deux personnes ou deux ordinateurs pour récupérer des

informations. Man In The Middle signifie l’homme du milieu. L’attaque se déroule entre trois

personnes, un client qui souhaite communiquer avec un serveur et un pirate (attaquant) qui

va pouvoir se faire passer pour le client auprès du serveur et pour le serveur auprès du client.

L’attaquant doit donc être capable de recevoir les messages des deux parties et d’envoyer des

réponses à une partie en se faisant passer pour l’autre, sans éveiller de soupçons chez les

autres parties. Il existe différentes méthodes d’attaque de type man in the middle que nous

expliquerons plus loin dans ce rapport.

Prenons l’exemple de la cryptographie asymétrique. Les deux personnes (Alice et Bob)

possèdent chacune leur clé publique et leur clé privée. La clé publique est utilisée pour chiffrer

le message et la clé privée pour le déchiffrer. Pour qu’un échange soit sécurisé entre Alice et

Bob ils doivent donc s’échanger leur clé publique. Alice envoie un message à Bob en chiffrant

ce message avec la clé publique de Bob, et Bob le déchiffre donc avec sa propre clé privée.

Mais imaginons qu’un attaquant, que nous appellerons Intrus s’interpose entre Alice

et Bob pendant qu’ils échangent leur clé publique. Et cet intrus échange la clé publique d’Alice

et la clé publique de Bob avec sa propre clé privée à lui.

Alice pense donc chiffrer le message avec la clé publique de Bob alors qu’en réalité le

message est chiffré avec la clé publique de l’intrus. Celui-ci à la réception du message le

déchiffre donc avec sa propre clé privée, et le chiffre ensuite avec la clé publique de Bob.

L’intrus peut donc modifier le message, le supprimer… et ensuite le renvoyer chiffré avec la

clé publique de Bob.

C’est donc une attaque de type Man In The Middle.

Page 15: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

14

b. L’usurpation d’adresse IP

Le pirate, une fois introduit sur le réseau de l’entreprise, utilise une suite d’outils qui

lui permettra d’effectuer une attaque Man In The Middle et ainsi outrepasser et détourner

certains mécanismes de sécurité.

L’action principale permettant de réaliser ce type d’attaque est l’ARP spoofing. Cette

action est basée sur une falsification des mécanismes mis en place par le protocole ARP que

nous allons vous présenter.

ARP : Le protocole ARP intervient parmi la couche des protocoles internet de la suite TCP/IP,

il en est un des protocoles les plus importants de cette suite, car il permet de faire la

correspondance entre l’adresse physique d’une carte réseau et une adresse IP, voilà pourquoi

il est appelé Protocole de Résolution d’Adresse (Address Resolution Protocol en anglais).

Pour faire cette correspondance entre les adresses physiques et les adresses IP, le protocole

ARP interroge les machines du réseau afin d’obtenir les informations le concernant, puis il crée

une table nommée « Table ARP » qui permet l’enregistrement des correspondances

d’adresse. Chaque machine du réseau possède sa propre table ARP.

Lors d’une communication entre les machines, elles consultent leurs tables ARP. Si une

adresse qui est demandée lors d’une communication ne s’y trouve pas, le protocole ARP émet

une requête sur le réseau. Cette requête est émise à destination de l’ensemble des machines

du réseau, à la réception de cette requête, elles vont toutes comparer cette adresse à la leur.

Si l’une de ces machines répond en s’identifiant à cette adresse, alors ce couple d’adresse sera

enregistré dans la table ARP.

Page 16: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

15

ARP spoofing

L’ARP spoofing ou ARP poisoning est une technique qui vise à détourner les

mécanismes de fonctionnement du protocole ARP afin d’usurper l’identité d’une machine sur

un réseau.

Grâce à cette technique, on peut détourner les flux de communication entre une

machine et un routeur ou un serveur, en faisant transiter les flux par la machine réalisant

l’attaque.

Pour réaliser cette attaque, l’attaquant créé lui-même des paquets ARP grâce â un outil

tel qu’Arpspoofing qui permet de dire à une machine que cette adresse IP correspond à cette

adresse physique. C’est ainsi que l’attaquant va envoyer au routeur ou au serveur un paquet

contenant les informations suivantes :

Ip_source= « adresse IP de la victime »

Mac_source= « adresse physique de l’attaquant »

Ip_destination= « adresse IP du routeur/serveur »

Type= « is-at » (correspond à une réponse du type IP source = adresse mac)

Le résultat de cette requête est grossièrement : « <adresse IP victime> is-at <adresse mac

attaquant>

À la suite de la réception de ce paquet par la machine qui a l’ip_destination, elle met à jour sa

table ARP avec la nouvelle correspondance. Afin que cette technique soit fonctionnelle, il faut

envoyer le paquet d’usurpation environ une fois toutes les secondes, car cela permet de

rendre impossible à la machine cible la mise à jour de sa table ARP avec les bonnes

correspondances (@ MAC @ IP).

Page 17: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

16

Pour illustrer le fonctionnement de cette attaque, voici les deux schémas suivants.

Le trafic normal sur un réseau :

Figure 3 : Trafic réseau normal

Comme nous pouvons le voir sur la Figure 3 ci-dessus, lors d’un trafic normal la cible

ou n’importe qu’elle machine communique avec un serveur ou routeur à travers un ou

plusieurs switches. C’est ce switch qui permet de rediriger le trafic vers le bon destinataire.

Trafic durant l’ARP Spoofing :

Figure 4:Trafic d'ARP Spoofing

La figure 4 ci-dessus nous montre cette fois le trajet du trafic durant l’ARP Spoofing. En

constate donc bien que tous les trafics passent à travers le poste du pirate. C’est lui-même qui

joue donc le rôle du switch en redirigeant les trafics reçus de la cible vers le routeur, le pirate

peut donc consulter, modifier, supprimer les informations reçues avant de les retransmettre

au routeur. Et ensuite, effectuer les mêmes opérations lors du retour du trafic allant du

routeur jusqu’à la cible.

Page 18: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

17

Nous allons maintenant vous présenter un outil permettant de réaliser cette attaque.

Arpspoof : Cet outil au nom très explicite provient de la suite dsniff qui est un paquet

disponible sous GNU/Linux. Cette suite contient beaucoup d’autres outils, mais dans notre

cas, nous allons simplement nous intéresser à Arpspoof.

Premièrement il faut télécharger le paquet avec la commande suivante :

apt-get install dsniff

Après cette commande, le paquet Arpspoof est disponible. Son utilisation est la suivante :

Arpspoof –i [interface réseau] [adresse IP à usurper] –t [adresse IP du routeur / serveur]

Exemple : dans un réseau où les adresses sont les suivantes :

Routeur : 192.168.0.1

Cible : 192.168.0.20

Interface: eth0 (interface Ethernet)

La commande arpspoofing est la suivante :

arpspoof –i eth0 192.168.0.20 –t 192.168.0.

Nous pouvons voir le résultat de cette commande grâce à un logiciel d’analyse de trame

comme Wireshark. Les captures de trame Wireshark sont toutes composées généralement de

la façon suivante, mais il est possible de configurer autrement les informations visibles :

La 1re colonne indique le numéro de la requête.

La 2e colonne, le temps écoulé depuis le début de la capture de la trame.

La 3e colonne représente l’adresse source du paquet (adresse IP, MAC…).

La 4e colonne indique l’adresse de destination du paquet (adresse IP, MAC…).

La 5e colonne indique le type de protocole présent dans la trame (ARP, ICMP, POP…).

La 6e colonne est la longueur totale de la trame en bytes.

La 7e colonne représente les informations contenues dans la trame.

La capture donne le résultat suivant :

Page 19: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

18

Figure 5 : Trame ARP Wireshark

Sur cette capture, on peut voir que l’attaquant : « Apple_31 : 19 : 26 » envoie des

paquets ARP du type « is at » au serveur « IbmCorp_1d : 33 : 0 b » en lui disant que la nouvelle

adresse physique de la victime « 192.168.0.20 » est l’adresse physique de l’attaquant

« 38:c9:86:31:19:26 ».

Afin de rediriger par la suite les paquets à la victime, il faut sous le système GNU/Linux,

changer un paramètre sur la machine de l’attaquant pour lui dire de faire suivre les paquets à

la façon d’un routeur.

Pour cela il faut passer la valeur du paramètre suivant : /proc/sys/net/ipv4/ip_forwars à 1

avec la commande suivante :

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

L’attaquant se trouve maintenant en position de Man in the middle, le flux de la victime est

redirigé sur le pc de l’attaquant avant d’être renvoyé au routeur ou au serveur.

Une fois ces deux actions réalisées, l’attaquant peut utiliser un programme de capture pour

obtenir en clair des mots de passe et informations du trafic de la victime.

Page 20: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

19

c. Man in the middle sur les mails

Dans notre cas, en ce qui concerne les vols d’information de notre société nous allons

présenter comment l’attaquant a pu récupérer les informations contenues dans les mails.

L’exemple suivant est réalisé selon le schéma réseau suivant :

Figure 6 : Trafic des mails

Adresses IP victime : 192.168.0.20

Adresse IP serveur mail : 192.168.0.26

Pour réaliser cette attaque, il faut se placer en position de MITM grâce à la commande

arpspoofing.

arpspoof –i eth0 192.168.0.20 – t 192.168.0.20

Une fois dans cette position, on lance un outil de capture. Nous allons utiliser Wireshark, une

fois lancé nous allons spécifier que l’on veut écouter sur l’interface eth0.

Les paquets devraient commencer à arriver, afin d’obtenir uniquement ce que l’on veut, nous

mettons un filtre sur POP3/IMAP. Lorsque la victime récupérera ses mails nous obtenons les

trames suivantes :

Figure 7 : Trame mails Wireshark

Page 21: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

20

Si nous regardons le détail de cette trame, voici les informations que nous obtenons :

Figure 8:Détails de trame mail Wireshark

En analysant cette trame, voici les informations que l’on peut obtenir :

Destination : [email protected]

Sujet du mail : yhuj

Date d’envoi : 1 juin 2016 20:14:08

Programme de mail : Mozilla Thunderbird 45.1.0

Contenu du mail : testtesttest

Voici les informations que l’on a pu obtenir d’une telle capture, autrement dit l’intégralité des

informations contenues dans le mail. Dans l’utilisation classique des protocoles POP3/IMAP,

toutes les informations sont transmises en clair, de véritables cartes postales.

Il est donc très aisé de s’imaginer les informations que le pirate a pu obtenir, mais ce type de

faille n’est pas uniquement présente sur les mails, voyons voir ce que donne cette faille sur le

protocole FTP.

Page 22: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

21

d. Man in the middle sur FTP:

Cette attaque est basée sur le même type d’architecture réseau que l’attaque précédente à

savoir, le schéma suivant :

Figure 9 : Trafic FTP

Adresse IP victime : 192.168.0.20

Adresse IP serveur FTP : 192.168.0.26

Une fois de plus, pour réaliser cette attaque, on se place dans la position d’un attaquant MITM

avec la commande suivante :

arpspoof –i eth0 192.168.0.20 – t 192.168.0.26

Ainsi, nous ouvrons encore notre logiciel de capture de trame Wireshark. Une fois lancé, il

suffit de mettre un filtre sur le protocole FTP, puis attendre que la victime effectue une

demande d’authentification au près du serveur FTP.

Voici une capture du trafic lors de l’identification de la victime :

Figure 10:Trame FTP Wireshark

Page 23: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

22

Voici les informations que nous pouvons obtenir en analysant les résultats de Wireshark :

Login : lucky

Mot de passe : password

Comme on peut le voir, l’utilisateur est authentifié sur le serveur ftp avec les login et mot de

passe : lucky/password.

e. Man in the middle sur HTTP

Pour effectuer des attaques sur le protocole http nous allons utiliser un outil nommé MITMf

(Man In The Middle framwork)

MITMF est une boîte à outils qui a pour but de fournir un grand nombre d’éléments

permettant de mettre en pratique de nombreuses attaques différentes, dans le cadre où

l’attaquant est en position de man in the middle. Construit à l’origine pour combler les lacunes

d’autres outils utilisés auparavant pour mettre en place ce type d’attaque tel qu’Ettercap ou

Mallory. Il a été presque complètement réécrit de zéro pour fournir un cadre modulaire et

facilement extensible que quiconque peut utiliser pour mettre en œuvre leur propre attaque

man in the middle.

a. Caractéristiques

Le Framework dispose de serveur HTTP, DNS, et SMB préconçut qui peuvent être configurés

et utilisés par l’utilisation de différents plugins. Il contient aussi une version modifiée du

programme SSLStrip qui permet la modification de HTTP et le bypass partiel de HSTS (HTTP

Strict Transport Security) qui est une politique de sécurité des navigateurs internet forçant

l’utilisation du protocole HTTPS.

MITMF modifie la sécurité des sites utilisant le protocole HSTS, en effet lors de la réception de

la requête d’une cible pour accéder à un site web utilisant le HSTS, MITMF va modifier cette

requête en rajoutant un 4e « w » dans l’en-tête de la trame avant de l’envoyer au routeur. Ce

qui va impliquer que le routeur sera donc incapable de répondre et c’est donc à ce moment

Page 24: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

23

que le rôle serveur DNS de MITMF va intervenir en redirigeant le trafic vers la version HTTP de

la page demandée. C’est donc de cette façon que MITMF va contourner le HSTS des sites web.

Dans sa version 0.9.8, MITMf supporte le filtrage et la manipulation active de paquets, il

permet de modifier n’importe quel type de trafic ou protocole.

Le fichier de configuration peut être modifié à la volé tant que MITMf est en fonction, ce qui

permet de modifier les paramètres des serveurs ou les options des plugins pendant les

attaques.

MITMf peut capturer les mots de passe et nom d’authentification lors des échanges avec les

protocoles FTP, IRC, POP, IMAP, Telnet, SMTP, SNMP, Kerberos, NTLMv1/v2 ainsi que tout

autres protocoles semblables à HTTP, SMB ou LDAP.

b. Installation

Man In The Middle Framework a besoin de très nombreuses librairies externes, il est donc

vivement recommandé d’utiliser un environnement virtuel python afin d’éviter les conflits de

permission avec les paquets du système.

Les dépendances suivantes sont nécessaires :

python-dev python-setuptools libpcap 8,0 libnetfilter-queue-dev libssl-dev

libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev

Vous pouvez les installer avec la commande suivante :

apt-get install python-dev python-setuptools libpcap0.8-dev

libnetfilter-queue-dev libssl-dev libjpeg-dev libxml2-dev

libxslt1-dev libcapstone3 libcapstone-dev

Premièrement, nous allons installer le paquet virtualwrapper qui va nous permettre de créer

notre environnement virtuel. Vous pouvez l’installer avec la commande suivante :

pip install virtualenvwrapper

Page 25: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

24

Ensuite, il faut éditer le fichier de configuration de votre Shell (.bashrc, .zshrc,..) avec la

commande source pour lier le script d’environnement virtuel à votre Shell. L’emplacement du

script peut être différent selon la distribution de votre système.

source /usr/bin/virtualenvwrapper.sh

Redémarrez ensuite votre terminal pour appliquer la configuration. Maintenant nous allons

créer l’environnement virtuel grâce à python 2.7.

mkvirtualenv MITMf -p /usr/bin/python2.7

Il faut maintenant récupérer l’ensemble des fichiers nécessaires à l’installation depuis le

répertoire git des créateurs du Framework qui est le suivant :

HTTPS://github.com/byt3bl33d3r/MITMF

git clone https://github.com/byt3bl33d3r/MITMf

Ensuite nous initialisons et clonons les sous-modules du répertoire.

cd MITMf && git submodule init && git submodule update --recursive

Puis il faut installer les dépendances de MITMf :

pip install -r requirements.txt

Si toutes les étapes se sont exécutées avec succès, vous pouvez lancer MITMf.

Avec la commande suivante, vous obtiendrez une aide explicative sur le fonctionnement des

plugins et des options du Framework.

python mitmf.py –help

Page 26: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

25

c. Mise en œuvre

Comme pour les attaques précédentes, cette attaque suit le schéma réseau suivant :

Adresse IP cible : 192.168.0.18

Adresse IP Routeur : 192.168.0.1

MITMf étant un Framework complet et puissant, ici nous n’avons pas besoin d’utiliser le

paquet arpspoof, car le Framework inclut déjà un module faisant de l’arpspoofing. Voici donc

la commande à exécuter pour lancer le Framework :

python mitmf.py -i eth0 -- spoof --arp -- gateway 192.168.0.1 --target 192.168.0.18

Même si la syntaxe diffère, MITMf utilise le paquet arpspoof de la suite Dsniff pour effectuer

ses requêtes. Une fois cette commande exécutée, nous sommes capables de récupérer le flux

HTTP de la cible, le résultat pour nous est le suivant :

Lors de cette écoute de flux, on voit que la victime fait une requête sur le site internet

cas.u-clermont1.fr.

Figure 11: Trafic HTTP

Page 27: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

26

Sur la deuxième partie, on voit que la victime vient de remplir un formulaire et qu’il envoie les

informations suivantes au serveur web avec la méthode POST :

username jucheminad1&password P@ssw0rd.

En réalité la partie authentification du site internet cas.u-clermont1.fr est une page sécurisée,

mais grâce à l’utilisation de MITMf, on a pu outrepasser le mécanisme HSTS en forçant la

victime à utiliser le protocole HTTP au lieu de HTTPS.

MITMf n’est pas uniquement tourné vers les attaques du protocole HTTP, il est

possible comme décris plus haut d’attaquer de nombreux autres protocoles non sécurisés.

f. Man the middle sur HTTPS

a. Le protocole TLS

Pour réaliser des attaques sur le protocole HTTPS, il est essentiel de comprendre le

fonctionnement en détail de la partie sécurité de ce protocole qui est basé sur TLS.

Comme expliqué précédemment, le protocole TLS assure l’authentification des

parties, la confidentialité et l’intégralité des données échangées autrement dit l’intégrité. Pour

mettre en place ce mécanisme, TLS utilise en réalité deux protocoles :

TLS Handshake qui permet l’authentification des parties.

TLS Record qui permet le contrôle de la confidentialité et l’intégrité des données

échangées.

TLS est un protocole d’échange sécurisé qui permet l’envoi de données chiffrées, de

plus il utilise des certificats au format x509 pour identifier les acteurs de l’échange. Il se situe

un peu au-dessus de la couche 4 du modèle OSI. Le type de cryptographie utilisée pour

permettre le chiffrement des informations est la cryptographie symétrique, par exemple AES

(Advanced Encryption Standard). Les clés générées pour le chiffrement sont générées

uniquement pour chaque connexion. Ces clés sont basées sur un secret qui provient du

Page 28: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

27

protocole TLS Handshake. Le transport des informations est fiable, car il y a un contrôle

d’intégrité grâce à l’utilisation d’une fonction de Hachage tel que SHA-1 par exemple.

i. Les certificats.

Afin de communiquer de manière sécurisée, le client commence par identifier le

serveur TLS sur lequel il se connecte.

L’identification du serveur se fait grâce à l’utilisation de certificat au format x509. Ce certificat

contient les informations suivantes :

Version du certificat.

Numéros de série du certificat.

L’objet du certificat.

Informations sur la clé publique

o Algorithme de la clé publique.

o Clé publique.

Identifiant unique du signataire du certificat.

Identifiant unique du détenteur du certificat.

Extensions

o Liste des extensions

Signature des informations précédentes par l’autorité de certification

Ce certificat est délivré et signé par des autorités de certification (AC). Les certificats

sont dits de confiance, car ils proviennent d’autorités de certification qui sont incluses dans

les « listes blanches » des navigateurs internet. Ces certificats sont utilisables jusqu’à la fin de

leur validité ou jusqu’à ce qu’ils soient révoqués par l’autorité de certification. Afin de

comprendre au mieux les échanges entre le client et le serveur, nous allons détailler le

fonctionnement de ces deux protocoles (TLS Handshake / TLS Record).

Pour plus de précision, tous les échanges seront détaillés un par un.

ii. TLS ShandShake

Le protocole d’échange TLS Handshake est construit de la façon suivante :

Page 29: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

28

Figure 12 : TLS HandShake

1 : ClientHello

La négociation commence, le client envoie ce message, « Client Hello ». Dans ce

message, le client propose un ensemble de suites cryptographiques qu’il est capable de

mettre en œuvre. Dans chacune de ces suites, sont décrits des mécanismes cryptographiques

correspondants aux quatre étapes suivantes :

Création des éléments secrets de la session

L’authentification des parties

Chiffrement des données

Protection en intégrité des données

Lors de la réception du message ClientHello par le serveur, deux cas de figure peuvent

de présenter :

- Aucune des propositions émises par le client n’est jugée acceptable, le serveur met

alors fin à la connexion avec un message de type Alert.

- Dans le deuxième cas, le serveur choisit une suite cryptographique parmi celles que le

client a proposées. Le serveur répond alors avec le message ServerHello

2 : ServeurHello

Après le ClientHello le serveur répond par ce message afin de préciser quelle suite

cryptographique il a choisi dans celles proposées par le client. Il choisit la suite

cryptographique de deux manières différentes :

- Le serveur parcourt la liste des suites, et il choisit la première suite qu’il supporte.

Page 30: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

29

- Le serveur parcourt sa liste de préférence, et choisit la première suite qui se trouve

dans la liste du client.

Ce message contient aussi une valeur aléatoire appelée ServeurRandoparcoure. De manière

générale, TLS préfère maintenant la suite : TLS_RSA_WITH_AES_128_CBC_SHA256,

comparé à la suite TLS_RSA_WITH_RC4_128_MD5 qui est maintenant cassée. Ici RSA est

utilisé pour l’établissement de la connexion puis par la suite lors de l’échange des secrets de

la session.

Voici une capture d’un paquet ServerHello contenant les informations concernant le choix de

la suite cryptographique :

Figure 13 : Paquet ServerHello de TLS

3 : Certificate (optionnel)

Le serveur envoie une chaîne de certificat, le premier est celui du serveur, le dernier est celui

de l’autorité de certification. En voici un provenant d’une capture Wireshark :

4 : certificat request (optionnel)

Le serveur fait une demande de certificat au client pour qu’il puisse l’authentifier.

Figure 14: Capture de trame de certificat avec Wireshark

Page 31: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

30

5: Server key exchange (optionnel)

Message complémentaire qui contient la clé publique du serveur utilisée par le client pour

chiffrer les informations de clé de session.

6 : Server Hello Done

Ce message annonce la fin d’émission d’informations du serveur.

7 : Certificate (optionnel)

Le client envoie son certificat au serveur afin qu’il puisse l’authentifier.

8: Client key exchange

Le client crée un secret prémaître (pre-master key) et le chiffre avec la clé publique du serveur

reçu dans le message 5.

9 : Change Cipher Spec

Passage du client en mode chiffré avec la clé master comme clé symétrique

10 : Certificate Verify (optionnel)

Ce message contient un hash signé numériquement qui est créé à partir des

informations de clé et de tous les messages précédents. Ce message permet de confirmer au

serveur, de vérifier si le client possède la clé privée qui correspond au certificat client du

message 7.

11 : Client Fnished

Le client a fini d’émettre ces informations, il envoie ce message chiffré à l‘aide des paramètres

contenu dans la suite cryptographique.

12 : Change Cipher Spec

Le Serveur passe en mode de connexion chiffré grâce à la clé master.

13 : Server Finished

Le serveur informe le client qu’il va passer en mode chiffré, ce message est lui aussi chiffré

avec les paramètres inclus dans la cuite cryptographique.

14 : Encrypted Data

Page 32: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

31

Le tunnel TLS est maintenant opérationnel, c’est maintenant le TLS Record Protocol qui prend

la suite des opérations pour chiffrer les données.

iii. TLS Record

Ce protocole représente le niveau inférieur de l’application de TLS. C’est lui qui va encapsuler

les messages et assurer la confidentialité et l’intégrité.

Afin d’être mis en œuvre, il suit les étapes suivantes :

Étape 1 : Les blocs de données sont découpés en fragment de 16 Ko maximum

Étape 2 : Une compression est appliquée sur le fragment (optionnel). Si les blocs sont très

courts, cette compression augmente la taille initiale du bloc.

Figure 15: Protocole TLS Record

Page 33: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

32

Étape 3 : Une empreinte est prise de C.1 (corresponds au fragment compressé). L’algorithme

qui permet ce hachage est spécifié dans le message « cypher Suite » du protocole Handshake.

Étape 4 : l’empreinte est concaténée avec le fragment compressé C.1 et donne le

message M.1.

Étape 5 : Ensuite lors de cette étape le message M.1 est chiffré par l’algorithme symétrique

en utilisant la clé symétrique échangé lors de l’Handshake. Le résultat de cette opération crée

le message chiffré Mc.1.

Étape 6 : Une en-tête est ajouté au paquet, cette en-tête contient un champ type qui définit

le type du protocole de niveau supérieur. Ces types sont les suivants :

- 20 : ChangeCipherSpec Protocol

- 21 : Alert Protocol

- 22 : Handshake Protocol

- 23 : Application Protocol

Étape 7 : Le message est transmis à la couche transport, de manière générale TCP.

Voici la présentation du fonctionnement de TLS. Dans la suite de ce rapport, vous

allez découvrir une attaque sur le protocole HTTPS, mais cette attaque n’exploite pas une faille

de TLS. Cette attaque va fonctionner sur le principe d’une attaque Man In The Middle en

prenant l’identité du serveur pour le client, et celle du client pour le serveur.

Page 34: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

33

b. L’attaque

Pour réaliser cette attaque, il faut se placer en position de MITM et utiliser un serveur proxy

un peu particulier.

L’attaque est réalisée selon le schéma réseau suivant :

c. MITMproxy

i. Description :

MITMproxy est un outil extrêmement flexible. Savoir exactement comment fonctionne le

programme de proxy vous aidera à le déployer, et à tenir compte de ses fonctions

fondamentales et la façon de l’utiliser. Cette partie du rapport explique le mécanisme de proxy

de MITMproxy en détail, en commençant par le plus simple mandatement explicite en clair,

jusqu’à l’interaction la plus compliquée : proxy transparent sur trafic TLS protégé.

ii. Fonctionnalités :

MITMproxy permet de :

Intercepter les requêtes et réponses HTTP pour les modifier à la volée

Enregistrer le flux HTTP pour une analyse ultérieure.

Rejouer le côté client de la transaction HTTP.

Rejouer les réponses HTTP d’un serveur pour les réexploiter.

Fonction de proxy inverse pour faire suivre les requêtes HTTP vers un autre serveur.

Fonctionne en mode proxy transparent sous Linux et OSX.

Utiliser Python pour faire des modifications sur le trafic HTTP.

Génération de certificat TLS à la volée pour intercepter le trafic HTTPS.

Figure 16: Trafic HTTPS avec MITM proxy

Page 35: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

34

iii. Fonctionnement :

Le MITMproxy dans son nom est synonyme de Man-In-The-Middle, il fait référence au type

d’attaque que nous utilisons pour intercepter et interférer sur des flux de données

théoriquement chiffrées.

L’idée de base est de faire semblant d’être le serveur vers le client, et faire semblant d’être le

client vers le serveur, dans cette configuration nous sommes au milieu des deux côtés et nous

bénéficions donc d’un trafic en clair.

La partie délicate est que le principe d’autorité de certification est conçu pour empêcher

exactement ce type d’attaque, en permettant à un tiers de confiance de signer des certificats

TLS d’un serveur pour vérifier qu’ils sont légitimes comme nous l’avons vu dans la description

de TLS.

Si cette signature ne correspond pas ou est d’un parti qui ne correspond pas à un tiers de

confiance, le client va simplement abandonner la connexion et refuser de poursuivre les

échanges.

Malgré les nombreuses lacunes du système d’autorité de certification tel qu’il existe

aujourd’hui, il est généralement fatal aux tentatives de MITM sur connexion TLS.

La réponse à ce problème est de devenir une autorité de certification de confiance nous-

mêmes. MITMproxy inclut l’implémentation d’autorité de certification complète qui génère

des certificats à la volée pour intercepter le trafic. Pour que le client fasse confiance à ces

certificats, nous enregistrons manuellement MITMproxy comme une autorité de certification

de confiance.

MITMproxy permet d’interagir avec les protocoles HTTP et HTTPS, mais comme nous avons

présenté les attaques sur HTTP avec l’outil MITMf, ici nous allons uniquement présenter

l’utilisation de MITMproxy sur HTTPS.

Un proxy conventionnel ne peut pas manipuler les flux TLS chiffrés, alors lorsqu’un client émet

une simple requête CONNECT cela demande simplement au proxy d’ouvrir un tunnel entre le

Page 36: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

35

client et le serveur. Le proxy fait simplement suivre le flux sans pouvoir en connaître le

contenu. La négociation TLS se fait en dehors du tunnel ce qui rend complètement opaques

les requêtes et réponses pour le proxy.

Avec MITMproxy cela est différent, son but est de séparer le flux en deux. Il fait croire au client

qu’il est le serveur et au serveur qu’il est le client. Il y a donc pour le coup deux connexions

TLS.

Le mécanisme de MITMproxy permettant de faire cette attaque est que dans un

premier temps, dès qu’il reçoit du client une requête CONNECT, MITMproxy répond au client

en lui disant que la connexion est établie, comme si le tunnel de connexion était prêt. Le client

croit donc qu’il est en relation avec le serveur voulu, il initie donc la connexion TLS avec

l’extension SNI (Server Name Indication) ce qui lui permet de déclarer le nom du serveur avec

qui il tente de démarrer une connexion TLS. Ensuite MITMproxy se connecte au serveur en

utilisant le SNI indiqué par le client, alors le serveur répond avec un certificat qui correspond

et qui contient le CN (common name) et le SAN (Subject Alternative Name : permets de

spécifier des noms de domaine alternatif sur un certificat). MITMproxy génère alors un

certificat dit « d’interception » et continu le Handshake avec le client mis en pause

précédemment. Le client envoie alors une requête comme quoi la connexion est établie,

MITMproxy va donc passer cette requête au serveur et terminer la phase de négociation.

Le flux de la connexion apparaît, et est donc à présent en clair sur la machine qui exécute

MITMproxy.

Page 37: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

36

Pour illustrer cet échange, voici l’image suivante tirée de la documentation officielle :

d. Mise en pratique.

Pour réaliser cette attaque, nous allons prendre le cas typique ou un employé est connecté

avec son téléphone portable ou sa tablette sur un hotspot de la société.

La première étape bien commune aux autres attaques présentées, est bien évidement de se

placer dans la position d’un man in the middle en utilisant l’arpspoofing.

Dans ce cas les adresses IP sont les suivantes :

Victime : 192.168.0.20

Routeur : 192.168.0.1

La commande arpspoof est donc la suivante :

arpspoof –i eth0 192.168.0.20 – t 192.168.0.1

Une fois cette commande réalisée vous faites donc croire au routeur que vous êtes le client.

Ensuite il faut bien évidemment activer l’ip_forward afin de rediriger les paquets en

provenance du routeur vers le vrai client.

La deuxième étape est de préparer le terrain à MITMproxy pour qu’il puisse récupérer les flux

de connexion HTTP et HTTPS sur ces ports d’écoutes. Vous pouvez réaliser cela en faisant de

Figure 17: Schéma attaque Mitmproxy

Page 38: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

37

la redirection de paquet grâce à Iptables. Le port d’écoute de base de MITMproxy est 8080,

les deux règles correspondent au résultat que nous voulons obtenir sont les suivantes :

iptables -t nat -À PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-

port 8080

iptables -t nat -À PREROUTING -i eth0 -p tcp -- dport 443 -j REDIRECT -- to-

port 8080

Une fois cette étape réalisée, nous pouvons lancer MITMproxy. Afin d’obtenir les résultats

voulus, certains paramètres sont nécessaires. Le premier est d’activer le paramètre –T, ce

paramètre va indiquer à MITMproxy qu’il doit agir de manière transparente. C’est-à-dire qu’il

ne nécessite pas que le client inscrive le proxy dans ses paramètres de navigateur. Ensuite

pour avoir une visualisation plus claire des données que nous recevrons, nous pouvons

spécifier l’option –host, cette option permet de séparer les flux capturés selon leur nom

d’hôte. La commande pour lancer MITMproxy est :

Mitmproxy –T –host

Notre attaque est presque montée, il ne manque plus qu’un élément, le certificat. Il faut

trouver un moyen pour que l’appareil de la victime installe un certificat depuis le domaine

« mitm.it » ou depuis le fichier contenant le certificat, cette installation peut se faire sur les

mobiles, tablettes et pc en envoyant le certificat du proxy en pièce jointe d’un mail par

exemple, puis en l’installant dans la liste des certificats de confiance du navigateur internet.

Pour arriver à ces fins, le pirate dispose de plusieurs moyens, le premier est de profiter de la

crédulité de la victime en lui indiquant que la pièce jointe du mail est un composant visant à

améliorer la sécurité de son navigateur. Il est aussi possible comme nous l’avons vu

précédemment d’ajouter le fichier du certificat au serveur ftp puis usurper une adresse email

interne de la société et ensuite informer les victimes que ceci est un fichier important à

installer pour qu’ils poursuivent leur travail. Les moyens ne manquent pas, de plus il est aussi

Page 39: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

38

possible de le masquer dans un autre fichier, un PDF par exemple puis exécuter son

installation lors que la victime ouvre le fichier.

Une fois le certificat installé les données en provenance du flux HTTPS apparaissent en clair

sur l’ordinateur du pirate.

Il obtient par exemple les informations suivantes qui se trouvent sur les captures :

Figure 18 : Étapes TLS réussies

Ici sur cette capture nous pouvons voir que toutes les étapes de TLS on était réalisées avec

succès.

Figure 19 : Récupération informations en clair sur HTTPS

Et ici sur cette capture nous pouvons constater que nous avons les données en clair qui

transite par le flux TLS, pour illustrer cet exemple nous avons fait l’attaque sur le même site

que dans notre partie sur HTTP, or dans cet exemple, nous n’avons pas forcé l’utilisation de

HTTP, cela est prouvé par le nom de la requête en elle-même qui porte sur le site https://cas.u-

clermont1.fr.

Page 40: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

39

Nous avons réalisé des attaques de type Man-In-The-Middle sur les protocoles

HTTP/HTTPS, POP/IMAP, et FTP. Ces attaques ne sont que des exemples, bien d’autres

protocoles non sécurisés sont sensibles à ce type d’attaque. Dans la partie suivante, nous allons

reprendre les attaques précédemment expliquées et mettre en place des mécanismes de

défense pour ne plus être victimes de vol d’informations.

III. Moyens de défense

Afin de protéger au mieux les échanges de notre entreprise, nous allons mettre en place

certains mécanismes qui vont rendre plus difficile les attaques du type man in the middle.

Nous avons pu remarquer tous au long de ce rapport, que l’ensemble des attaques était toutes

basé sur l’arpspoofing, c’est pourquoi il nous semble judicieux de sécuriser cet aspect.

a) Protection du protocole ARP

Une technique pour se protéger face à l’arpspoofing est d’entrer de manière statique

toutes les adresse IP des éléments actifs qui communiqueront entre eux dans la table ARP de

chaque élément actif. Cela peut être une action fastidieuse, mais cela permet d’éviter

l’usurpation d’adresse IP, car un élément actif qui recevra une requête lui demandant de

mettre à jour sa table, il la rejettera, car l’IP ne correspondra pas à l’adresse MAC qui est fixée

de manière statique dans la table.

Il existe aussi des outils qui permettent de surveiller les tables ARP des éléments actifs, et que

même si par n’importe quel moyen elles sont modifiées, ces logiciels leur rendent leurs

paramètres statiques.

ANTI-ARP : Ce logiciel dispose de fonctions qui permet de détecter les attaques du type

arpspoofing, il permet aussi de faire des vérifications sur l’état des tables ARP, et peu la

modifier en ajoutant des correspondances. L’interface du programme se présente sous la

forme suivante :

Page 41: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

40

Figure 20 : Anti-Arp

Un outil de log permet d’avoir une visualisation dans le temps des changements qui ont eu lieu ou des

évènements douteux qui méritent l’attention de l’utilisateur, cet outil se présente sous la forme

suivante.

Figure 21:Log du logiciel Anti-Arp

Page 42: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

41

De nombreux autres outils sont disponibles, mais la base de tous est l’utilisation des tables

ARP avec des correspondances statiques.

b) Le chiffrement de mail

Comme nous l’avons vue précédemment, les mails échangés au sein de la société sont de

véritable carte postale, du moment que les paquets ont était récupérés par un attaquant, tout

leur contenu est dévoilé. Afin de rendre ses échanges plus confidentiels, il existe différentes

méthodes. Premièrement nous pourrions implémenter TLS à notre serveur mail, mais comme

vu dans la section d’avant, ce type d’échange est quand même sensible aux attaques de type

MITM. Nous allons donc plutôt nous focaliser sur les mails échangés. La solution que nous

avons choisie est l’utilisation de PGP (Pretty Good Privacy). C’est un logiciel de chiffrement

créé par Philip Zimmermann en 1991.

PGP permet de garantir l’authentification et la confidentialité des communications,

appliquée à l’email, cela va permettre d’envoyer des mails chiffrés et authentifiés par une

signature électronique. Les mécanismes de chiffrement de PGP utilisent la cryptographie

asymétrique, pour garantir l’authentification, le mécanisme est le suivant :

L’expéditeur du mail crée un condensat de son message avec un algorithme de hachage (tel

que SHA-1 par exemple) puis il va chiffrer ce condensat avec sa clé privée et l’ajouter au début

du mail. Le destinataire, à la réception, va déchiffrer le début du message avec la clé publique

de l’émetteur puis extrait le condensat. Il calcule par la suite lui-même un condensat du

message en utilisant la même fonction que l’émetteur, puis il compare ce qu’il a déchiffré, si

à la comparaison les deux éléments ont la même valeur, cela veut dire que le mail n’a pas été

modifié, il est donc authentifié.

Afin de garantir la confidentialité du message PGP, fonctionne selon la manière suivante :

Tout commence par la génération d’une clé secrète de taille variable (par exemple 128

bits) appelée clé de session (valable pour un seul message) le message est ensuite chiffré grâce

à cette clé de session avec un algorithme de cryptographie symétrique. La clé de session est

ensuite chiffrée grâce à la clé publique du destinataire puis elle est ajoutée au début du

Page 43: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

42

message. À la réception du mail, le destinataire déchiffre l’en-tête qui contient la clé grâce à

sa clé privée et en extrait la clé de session qui lui permet par la suite de déchiffrer le message.

Afin de rendre le plus efficaces possible ces mécanismes, il faut que les clés de sessions

utilisées par PGP proviennent d’un générateur aléatoire qui ne génère pas de séquence de clé

prévisible.

Afin d’utiliser PGP sur votre client de messagerie, vous devez installer un module. Nous avons

choisi d’installer le module Enigmail, ce module est disponible sur Thunderbird et tous ses

Fork.

Sur Thunderbird, dans les paramètres, vous pouvez accéder à l’onglet module.

Recherchez Enigmail et télécharger le. Une fois téléchargé, Thunderbird va vous demander de

redémarrer pour finir l’installation du module Enigmail.

Une fois le client redémarré, vous avez la possibilité de paramétrer Enigmail dans les options

du client. Une fois dans la partie configuration, plusieurs choix s’offrent à vous, il est conseillé

de choisir le paramétrage par défaut, mais dans les options avancées, vous pourrez choisir le

type d’algorithme et la taille de la clé que vous allez utiliser. Une fois les paramètres voulus et

sélectionnés, vous devez créer une passphrase « sorte de mot de passe ». Une fois ses

paramètres choisis, Enigmail va générer le couple de clés publique/privé.

Une fois le couple de clés généré, il nous est demandé de créer un certificat de

révocation qui permettra de révoquer votre clé si vous oubliez la passphrase ou bien si elle est

compromise.

Une fois cette étape réalisée, vous êtes prêt à envoyer des mails chiffrés et signés.

Figure 22: Génération clés.

Page 44: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

43

Contrairement au mail non chiffré, voici la trame capturée d’un email chiffré grâce à PGP avec

Wireshark :

Comme vous pouvez le constater, l’ensemble du contenu du mail est complètement chiffré.

Il est donc impossible pour un attaquant dans la position MITM puisse accéder au contenu du

mail. Cela assure donc la confidentialité et l’intégrité du message.

c) Chiffrement du trafic FTP

Afin de sécuriser au mieux les connexions à notre serveur de fichier, il est préférable

d’utiliser le protocole FTP dans sa version sécurisé. FTPS (file transfert protocol secure)

bénéficie comme le protocole HTTPS, de la couche TLS il permet donc à l’utilisateur,

premièrement de s’assurer qu’il dialogue bien avec le bon serveur FTP grâce à l’utilisation du

certificat, puis dans un second temps il permet au client de s’authentifier au serveur dans un

Figure 23: Capture trame mali chiffré

Page 45: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

44

tunnel de connexion chiffré, les mots de passe et nom d’utilisateur ne sont donc plus affichés

en clair sur les trames FTP.

Voici un exemple de trame capturé avec wireshark sur le protocole FTPS :

On peut donc constater de l’opacité des informations que le pirate peut sniffer. Il est

donc essentiel de mettre en place cet outil afin de sécuriser aux mieux les données et

informations transitant sur le protocole FTP.

Une autre alternative, c’est l’utilisation de SFTP (Secure file transfert protocol). Contrairement

à FTPS qui est un protocole à part entière, SFTP est une extension du Shell SSH qui permet

l’envoi, la réception et la gestion de fichier sur des éléments actifs distants. Il n’offre pas le

même confort d’utilisation que FTP/SFTP, mais il permet de profiter des éléments sécuritaires

de SSH concernant la confidentialité et l’authentification des échanges.

d) Protection des protocoles HTTP / HTTPS

La version sécurisée du protocole HTTP est HTTPS, comme nous avons pu le voir durant ce

rapport, ayant démontré une faille sur l’utilisation de HTTPS, afin de sécuriser au mieux les

communications il nous faut trouver une autre parade. Selon nous l’élément principal sur

lequel nous devons nous focaliser, ce sont les certificats. Pour couper l’herbe sous le pied d’un

attaquant qui aurait comme idée d’utiliser MITMproxy ou une technique semblable, plusieurs

solutions s’offre à nous.

Premièrement il faut utiliser les navigateurs internet dans leurs dernières versions, car cela

met à jour aussi les listes blanches qui permettent de vérifier si les autorités de certification

sont toujours de confiance. Ensuite il est possible d’appliquer certaines règles sous les

environnements de travail Microsoft qui bloquent la modification des paramètres du

Figure 24: Trame FTPS

Page 46: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

45

navigateur internet. Mais la solution la plus utile pour nous est quand même d’informer et de

sensibiliser les employés sur les dangers des ajouts de certificats.

Page 47: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

46

Conclusion

Nous avons effectué ce projet sans avoir de réelles connaissances dans ce domaine

d’attaque et dans la sécurité de ces attaques. C’est pour cela que nous avons avant tout

effectué de nombreuses recherches sur ce sujet. Des recherches qui ont permis d’obtenir

différentes connaissances dans ce domaine.

Nous avons appris à effectuer ce genre d’attaque, mais avant tout de comprendre les

protocoles qui servent à attaquer et ceux attaqués.

Les attaques man in the middle sont, comme nous avons pu le constater, facilement

exécutables sur un réseau lorsque l’intrusion a eu lieu. Ces attaques mettent en danger les

informations sensibles des entreprises, aussi bien sur la récupération de mail, de fichiers FTP

que de consultation internet. Grâce à ce projet, nous avons également appris à nous protéger

ou du moins minimiser et rendre la tâche plus difficile à un attaquant. C’est pour cela qu’il est

préconisé d’utiliser les protocoles dans leurs versions sécurisées, de posséder des moyens de

détections telles que des serveurs Anti-Intrusion, ainsi qu’une politique de sécurité très stricte

dans des entreprises comportant des informations sensibles. Mais avant tout, la meilleure

solution de défense existante est d’informer les utilisateurs sur les dangers de certaines

pratiques, les sensibiliser et les former.

Aujourd’hui, le domaine informatique est quelque chose de très sensible dans les

entreprises, car c’est le cœur de la société. Nous avons montré durant ce rapport que si ce

service n’est pas sécurisé, il est très facile pour un concurrent d’usurper les données et faire

tomber la société.

Ce projet nous a vivement intéressés et nous a permis d’apprendre énormément de

connaissances dans un domaine très étendu. Grâce à ce projet, nous allons pouvoir en faire

part dans nos entreprises futures pour protéger aux mieux les données et informer les salariés

des risques possibles.

Page 48: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

47

Bilan humain

Le projet tuteuré est très important pour chaque étudiant. Il permet de se former

pour effectuer des missions de groupe et donc de se séparer les différentes tâches à faire, de

se faire confiance mutuellement et de s’entraider lors de difficultés.

Durant toute la durée du projet, nous avons pu acquérir de nombreuses

compétences, autant au niveau technique qu’au niveau humain. En effet, nous avons

commencé ce projet sans avoir réellement de base dans le domaine technique de ce genre

d’attaque.

De plus, ce projet nous forme donc à de futures mises en situation dans nos propres

entreprises et dans la gestion d’équipe pour certains projets.

Page 49: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

48

Abstract As part of the AESR degree at the IUT of Clermont-Ferrand, we had plans to set up

attacks Man In The Middle (MITM). MITM attacks consist in an attacker positioned between

his victim and the server to listen to communication.

The purpose of our project was to create attacks in order to find different solutions in order

to protect the companies. This project was spread over 7 months of the training year starting

from November until June.

We dedicated our time on this project during our training at the IUT but also worked outside

during different periods in our company. The working team consisted of three students:

HUGUET Anthony, CHEMINADE Julien and GRZESKIEWICZ Teddy. This project was supervised

by Mr. David GERAULT who is the tutor of this project, and helped us, advised, brought

additional information throughout the project.

This project is in the center of our profession because the attack is all the time on the

network company.

When we began, the first thing was to understand the different attack methods. We

needed to understand the crypted exchanges and the https protocol.

Secondly, we tested different tools to make the man in the middle attack and

understand this.

We had different results, in function of the protocols we attacked.

Then, we needed to find solutions and methods to defend these attacks.

To conclude, our project was very interesting, because we learned how to be a Man

in the middle position, and give any information in a system. Indeed, we had to be in the

position between the server and the victim. With this method, we took users and passwords

from any sources, and listened to the exchange between servers and victims. It was a good

experience for us, and now, we know how to protect systems to limit the attacks. For the

future, we are aware of the various means of attacks.

Page 50: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

49

Glossaire

Adresse IP : Numéro d’identification (ipv4 : 4 octets, ipv6 : 16octects) qui est attribué à un

équipement d’un réseau connecté à internet.

Adresses MAC (Adresse Physique) : Une adresse Mac est l’identifiant physique stocké dans une

carte réseau, cette adresse est unique.

Apache 2 : C’est le serveur HTTP sous environnement Linux, le paquet apache2 permet de créer

et mettre en production un site web.

ARP : Protocole de résolution d’adresse, il fait la traduction d’adresse IP en adresse MAC.

Autorité de certification : Tiers de confiance permettant d’authentifier l’identité des

correspondants. Délivre des certificats décrivant des identités numériques et propose des

moyens de vérifier la validité.

Certificats X509 : Utilisé pour identifier et authentifier une personne physique ou morale, mais

aussi chiffrer des échanges. Le certificat X509 est une norme de cryptographique asymétrique.

Commutateur (Switch) : Est un équipement qui relie plusieurs segments dans un réseau

informatique. Il s’agit d’un boitier disposant de plusieurs ports Ethernet (ou fibre).

Cryptographie : Moyen permettant de protéger des messages à échanger.

Cryptographie asymétrique : Cryptographie à clé publique, une clé publique pour chiffrer le

message et la clé privée pour le déchiffrer.

Cryptographie symétrique : Cryptographie à clé secrète, une clé permet de chiffrer et déchiffrer

les messages.

Dsniff : C’est une suite d’utilitaire qui permet d’analyser le trafic réseau et de récupérer des

informations.

Flux : Succession de paquets d’une source vers une destination.

Page 51: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

50

FTP : File Transfer Protocol, permet le transfert de fichier par internet.

HotSpot : Point d’accès wifi permet une connexion à un réseau non filaire.

HSTS : Mécanisme de sécurité permettant à un serveur web de déclarer aux clients (navigateur

web) d’utiliser une connexion sécurisée (HTTPS).

HTTP : Protocole de communication web, client – serveur.

HTTPS : Combinaison du protocole HTTP avec la couche TLS pour la sécurité.

IMAP : Protocole d’accès à ses courriers électroniques directement sur les serveurs de

messagerie.

Iptables : Interface en ligne de commande sous environnement Linux, permettant de configurer

un pare-feu sur la machine linux.

LDAP : Lightweight Directory Access Protocol, protocole de gestion d’utilisateur dans un

annuaire.

Modèle OSI : Standard de communication de tous les systèmes informatiques.

Paquets : Une entité de transmission de la couche réseau du modèle OSI.

Passphrase (Phrase secrète) : Mot de passe qui sert à s’authentifier pour chiffrer ou déchiffrer

les mails.

Pirate (Hacker) : Personne généralement malveillante voulant contourner les moyens de

sécurités pour voler des informations ou rendre indisponible certains services.

POP : Protocole qui permet de récupérer les courriers électroniques en local sur la machine.

Postfix : Serveur de messagerie électronique sous environnement linux.

Protocole : C’est une méthode permettant la communication entre différents processus.

Proxy : Ordinateur ou module servant d’intermédiaire entre un navigateur web et internet.

Permet d’améliorer la sécurité et l’accès à certaines pages en les stockant en cache.

Page 52: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

51

Requête : Message envoyé par un client vers un serveur.

RSA : Algorithme de cryptographie asymétrique.

Serveurs : Dispositif matériel qui offre des services (mail, web…) pour des clients.

Shell : C’est une couche logicielle qui fournit l’interface utilisateur d’un système d’exploitation.

SMTP : Protocole de communication pour le transfert de courrier électronique vers les serveurs

de messagerie.

TLS : Protocole de sécurisation des échanges sur internet.

Trame : Bloc d’information circulant au travers d’un médium.

Wireshark : Outil d’analyseur de paquets et de trame.

Page 53: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

52

Bibliographie

Sites :

o https://en.wikipedia.org/wiki/Man-in-the-middle_attack

o http://wiki.linuxwall.info/doku.php/fr:ressources:dossiers:ssl_pki:1_les_bases

o https://mitmproxy.org/

o https://www.kali.org/

o https://github.com/byt3bl33d3r/MITMf

o https://openclassrooms.com/courses/les-reseaux-de-zero/l-attaque-de-l-

homme-du-milieu-mitm

o http://www.commentcamarche.net/contents/516-le-protocole-arp

o http://www.frameip.com/entete-arp/

o http://www.information-security.fr/attaque-man-in-the-middle-via-arp-

spoofing

o http://www.ietf.org/rfc/rfc791.txt

o http://www.ietf.org/rfc/rfc959.txt

o http://www.ietf.org/rfc/rfc822.txt

o http://www.ietf.org/rfc/rfc2068.txt

o http://www.ietf.org/rfc/rfc2821.txt

Enseignements théoriques :

o Sécurité Monsieur LAFOURCADE

o Services Réseaux et leur Sécurisation Monsieur CHALHOUB

o Sécurité Approche Architecture Monsieur CHALHOUB

o Sécurité Approche Système Monsieur PRADINAT

Page 54: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy

GRZESKIEWICZ Teddy CHEMINADE Julien HUGUET Anthony Tuteur: M. David GERAULT

IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU.

53

Annexes

Voici un scripte BASH permettant de faciliter l’utilisation de MITMproxy.

Page 55: Man In The Middle sur un réseau. - WordPress.com · 2016-08-19 · IMPLEMENTATION D’ATTAQUES DE TYPE MAN IN THE MIDDLE SUR UN RESEAU. 1 ... Figure 16: Trafic HTTPS avec MITM proxy