Virtual Private Network
Transcription
Virtual Private Network
Virtual Private Network WAFA GHARBI (RT4) CYRINE MAATOUG (RT4) BOCHRA DARGHOUTH (RT4) SALAH KHEMIRI (RT4) MARWA CHAIEB (RT3) WIEM BADREDDINE (RT3) Virtual Private Network | SECURILIGHT 2014 Table des matières 1. Présentation de l’atelier……………………………………………………………………………………………2 1.1. Virtual Private Network : ............................................................................................... 2 1.1.1. Définition : ............................................................................................................. 2 1.1.2. Fonctionnement d’un VPN : .................................................................................. 2 1.1.3. Les types de VPN : ................................................................................................. 2 1.1.4. Comparaison entre les différents outils de VPN : ................................................. 3 1.1.5. Le Protocole PPTP : ................................................................................................ 4 1.2. Man in The Middle Attack “MITM”: .............................................................................. 4 1.2.1. Définition: .............................................................................................................. 4 2. Présentation des outils utilisés……… ………………………………………………………………………5 2.1. Backtrack : ..................................................................................................................... 5 2.2. Wireshark : .................................................................................................................... 5 3. Architecture/topologie du réseau…………………………………………………………………………….6 4. Configuration des outils……………………………………………………………………………………………6 4.1. Configuration du serveur VPN : ..................................................................................... 6 4.2. Configuration des clients : ............................................................................................. 8 5. Un scénario de test…………………………………………………………………………………………………..9 5.1. Vérification de la connexion au VPN ............................................................................. 9 5.2. L’attaque Man In The Middle: ....................................................................................... 9 Conclusion et Perspectives…………………………………………………………………………………………………13 1 Virtual Private Network | SECURILIGHT 2014 1. Présentation de l’atelier : De nos jours, force est de constater que les réseaux « Virtual Private Network » sont omniprésents au sein des réseaux personnels et professionnel. Ainsi, dans le cadre de SecuriLight, la demi-journée 100% technique de Securinets nous allons simuler une maquette VPN à l’aide d’une architecture client-serveur en utilisant l’outil PPTP sous Ubuntu. Nous allons ensuite tester la configuration en connectant deux clients au réseau et évaluer le degré de sécurité de ce réseau en réalisant l’attaque Man In The Middle sur l’architecture réalisée. 1.1. Virtual Private Network : 1.1.1. Définition : Cette technologie est très réputée dans le monde de l’entreprise. Elle permet de créer une liaison virtuelle, qu’on appelle « tunnel », via internet, entre deux réseaux physiques géographiquement distants et ce, de manière transparente pour ses utilisateurs. Ces mêmes utilisateurs sont les seuls à y avoir accès, d’où le caractère « privé » de ce réseau. Les données envoyées au travers de ce tunnel sont chiffrées, ce qui garantit aux utilisateurs d’un VPN l’illisibilité des données en cas d’interception malveillante (espionnage, intrusion..) par des tiers. 1.1.2. Fonctionnement d’un VPN : Un réseau privé virtuel repose sur un protocole, appelé protocole de tunnelisation (tunneling), c'est-à-dire un protocole permettant aux données passant d'une extrémité du VPN à l'autre d'être sécurisées par des algorithmes de cryptographie. Figure 1 : Fonctionnement d'un VPN 1.1.3. Les types de VPN : On peut dénombrer deux grands types de VPN, chacun d'eux caractérise une utilisation bien particulière de cette technologie. 2 Virtual Private Network | SECURILIGHT 2014 LAN-to-LAN Tout d'abord le LAN-to-LAN qui permet de relier deux réseaux d'entreprises entre eux de façon transparente. Généralement les deux sites ont des tranches IP différentes ce qui oblige les postes clients à passer par le routeur. Celui-ci est directement relié à l'équipement responsable du VPN ou implante directement les protocoles choisit pour la mise en place du VPN. Ce type de VPN est installé de manière permanente. Figure 2: LAN to LAN Nomade ou Road Warrior Ensuite, il existe le type nomade, également appelé "Road Warrior" qui permet à un utilisateur distant de son entreprise de se connecter à celle-ci pour pouvoir profiter de ses services. Ainsi, il pourra lire ses mails, récupérer des fichiers présents sur le réseau de son entreprise, ... Figure 3 : Nomad ou Road Warrior Etant donné son utilisation, ce type de VPN est installé de manière occasionnelle. 1.1.4. Comparaison entre les différents outils de VPN : Nous allons comparer les 3 outils de VPN les plus répandus : PPTP, Open BPN ainsi que L2TP/IPsec. Le PPTP est le plus basique. Un VPN de ce type est très facile à configurer mais il est aussi le moins sécurisé. Le L2TP / IPsec s’en sort nettement mieux mais il est un peu plus délicat à mettre en place et il ne fonctionne pas forcément avec tous les équipements réseau. L’Open VPN, enfin, s’impose comme la meilleure solution. Il est nettement plus sécurisé que ses 3 Virtual Private Network | SECURILIGHT 2014 petits copains et c’est vraiment cette solution qu’il faut privilégier. Seul hic, tous les prestataires ne proposent pas forcément cette solution. 1.1.5. Le Protocole PPTP : Le principe du protocole PPTP (Point To Point Tunneling Protocol) est de créer des trames sous le protocole PPP et de les encapsuler dans un datagramme IP. Ainsi, dans ce mode de connexion, les machines distantes des deux réseaux locaux sont connectés par une connexion point à point (comprenant un système de chiffrement et d'authentification, et le paquet transite au sein d'un datagramme IP. Figure 4: Protocole PPTP De cette façon, les données du réseau local (ainsi que les adresses des machines présentes dans l'en-tête du message) sont encapsulées dans un message PPP, qui est lui-même encapsulé dans un message IP. Le PPTP est utilisée de manière courante par les petites et moyennes entreprises. Les grandes entreprises utilisent d'autres technologies VPN, comme celle de Cisco par exemple. Le PPTP est largement utilisé aussi par les prestataires de services VPN personnels 1.2. Man in The Middle Attack “MITM”: 1.2.1. Définition: L'attaque man in the middle (MITM) est une attaque qui a pour but d'intercepter les communications entre deux parties, sans que ni l'une ni l'autre ne puisse se douter que le canal de communication entre elles a été compromis. Le canal le plus courant est une connexion à Internet de l'internaute lambda. L'attaquant doit d'abord être capable d'observer et d'intercepter les messages d'une victime à une autre. Plusieurs protocoles internet sont vulnérable à ce type d’attaque, plus particulièrement les protocoles HTTP, FTP et ARP. 4 Virtual Private Network | SECURILIGHT 2014 2. Présentation des outils utilisés : 2.1. Backtrack : Figure 5: Backtrack 5r3 Backtrack est une distribution basée sur Debian GNU / Linux distribution destinée au forensics et à l'utilisation des tests de pénétration. La version actuelle est Backtrack 5 R3. Elle est basée sur Ubuntu 10.04 (Lucid) LTS et appartient à la famille Debian. 2.2. Wireshark : Figure 6: outil Wireshark Wireshark est un analyseur de paquets libre utilisé dans le dépannage et l'analyse des réseaux informatiques, le développement de protocoles, l'éducation et la rétro-ingénierie. Son appellation d'origine (Ethereal) est modifiée en mai 2006 pour des questions relatives au droit des marques. Wireshark utilise la bibliothèque logicielle GTK+ pour l'implémentation de son interface utilisateur et pcap pour la capture des paquets; il fonctionne sur de nombreux environnements compatibles UNIX comme GNU/Linux, FreeBSD, NetBSD, Open BSD ou Mac OSX, mais également sur Microsoft Windows. 5 Virtual Private Network | SECURILIGHT 2014 3. Architecture/Topologie du réseau Dans ce qui suit, on réalisera la topologie suivante : Figure 7: Topologie du réseau 4. Configuration des outils 4.1. Configuration du serveur VPN : Sur une machine Ubuntu suivantes : (12.04 *64 dans notre exemple) on utilise les commandes Figure 8 : installer un serveur vpn On modifie le fichier /etc/pptpd.conf et on ajoute les lignes suivantes : localip 10.0.0.1 remoteip 10.0.0.100-200 Figure 9 : Ouvrir le fichier de configuration Ensuite on ajoute les utilisateurs et leur mots de passe dans le fichier /etc/ppp/chap-secrets Figure 10: ajouter les utilisateurs Tel que : client est le nom d’utilisateur server est le type de service (pptpd pour notre exemple) secret est le mot de passe 6 Virtual Private Network | SECURILIGHT 2014 IP addresses spécifie quelles addresses IP peuvent s’authentifier. En mettant ‘*’ dans le champ IP addresses, on spécifie qu’on pourra accepter une paire username/password quelle que soit l’IP. Ensuite, on ajoute les DNS servers au fichier /etc/ppp/pptpd-options Figure 11: fichier pptpd-options Figure 12 : ajout des DNS Maintenant on démarre le PPTP daemon : Figure 13 : lancement du serveur On autorise l’ip_forwarding afin de garantir l’acheminement des paquets IPv4, en ajoutant la ligne suivante au fichier /etc/sysctl.conf Figure 14: activer l'ip_forwarding Pour activer les changements : Figure 15: activation des changements On crée une règle Nat avec la commande iptables comme suit : 7 Virtual Private Network | SECURILIGHT 2014 Figure 16 : ajout d'une règle NAT Pour permettre aux clients PPTP de communiquer entre eux, on ajoute les lignes suivantes Figure 17: Activer la communication entre les clients 4.2. Configuration des clients : Sur une machine Ubuntu (12.04 *64 dans notre exemple) on utilise les commandes suivantes : On crée un nouveau fichier /etc/ppp/peers/vpnserver et on ajoute les lignes suivantes : Figure 18: Configuration du fichier de configuration Tel que : 192.168.1.10 est l’adresse IP publique de notre serveur PPTP Le nom d’utilisateur « client1 » et le mot de passe « 123456 » qu’on a spécifiés dans le fichier /etc/ppp/chap-secrets de notre serveur PPTP. On active le routage vers notre serveur VPN via l’interface ppp0 8 Virtual Private Network | SECURILIGHT 2014 On vérifie la configuration de l’interface ppp0 avec la commande ifconfig, qui nous donne : Figure 19: configuration de l'interface ppp0 5. Un scénario de test 5.1. Vérification de la connexion au VPN On envoie une requête ping de la machine cliente vers le serveur VPN: Figure 20: Requête ping On constate que la connexion a été établie avec succès. 5.2. L’attaque Man In The Middle: Sur une machine Backtrack (5 R3 dans notre exemple) on réalise les commandes suivantes : Figure 21: arpspoof Tel que : l’adresse 192.168.1.8 est l’adresse de la machine cliente (victime) et 192.168.1.12 est l’adresse de notre machine. On redémarre le service pptpd dans notre serveur : 9 Virtual Private Network | SECURILIGHT 2014 Nous allons à présent capturer les paquets grâce à l’outil Wireshark que nous lançons comme suit : Figure 22 : lacement du Wireshark Figure 23: lancement des captures 10 Virtual Private Network | SECURILIGHT 2014 On appelle le service pptp depuis la machine victime On visualise sur wireshark après avoir appliqué le filtre « chap » qui nous permettra de capturer les paquets du type PPP CHAP : Figure 24: Résultat des captures Nous allons essayer de décrypter le mot de passe du client 1 grâce à la commande findmyhash. Nous allons procéder comme suit : Figure 25: lancement de findmyhash La méthode que nous avons choisie nous permet, à l’aide d’un script python « ./findmyhash.py » de rechercher à travers des sites internet la valeur correspondante à la valeur qu’on a copié de Wireshark en hexadécimal à la suite de l’option –h : Figure 26 : Commande à exécuter 11 Virtual Private Network | SECURILIGHT 2014 Figure 27: Résultat Nous notons que notre tentative a été soldée par un échec. Nous avons également tenté d’autres méthodes, mais nous avons eu le même résultat. Nous en avons conclu que le serveur pptp a été modifié de manière à déjouer les attaques du chap En dépit de l’échec de plusieurs tentatives, des chercheurs ont livré deux outils permettant de casser le cryptage de toute session PPTP (Point-to-Point Protocol) utilisant le protocole d'authentification MS-CHAPv2. Le MS-CHAPv2 a été créé par Microsoft. Malgré son âge, il est encore utilisé comme système d'authentification de base par la plupart des clients de réseaux privés virtuels (VPN) PPTP. Le MS-CHAPv2 est vulnérable à des attaques par brute force. ChapCrack est capable de réduire la sécurité d'un réseau utilisant le protocole MS-CHAPv2 (PPTP VPN par exemple) pour le contrôle de la transmission des données à une simple clef DES (Data Encryption Standard). Ensuite, il suffit de soumettre cette clé au service en ligne spécialisé dans le craquage de mots de passe CloudCracker.com. Le service fait tourner la boîte de décryptage FPGA pour déchiffrer la clef DES en moins de 24 heures. La clef générée par CloudCracker peut être ensuite utilisée avec ChapCrack pour décrypter une session entière capturée avec WireShark ou par d'autres outils renifleurs de réseau. 12 Virtual Private Network | SECURILIGHT 2014 6. Conclusion et perspective De par notre atelier, nous avons essayé de simuler un réseau VPN à travers une architecture client-serveur pour ensuite tester le degré de sécurité de ce serveur pptpd (serveur utilisé pour la connexion VPN), test qui a été voué à l'échec. Nous avons conclu donc que notre serveur PPTP a été configuré avec la perspective de créer un tunnel VPN capable de résister aux plus redoutables attaques (dont Man In The Middle, la plus classique d'entre-elles). Néanmoins, avec les avances débridées de la technologie, il est désormais possible de nous demander s'il est possible d'utiliser les réseaux VPN dans le cadre de réseaux domestiques et outils informatiques. Ceci sera possible en configurant un réseau VPN sur la carte Raspberry PI. En effet, ceci nous permettra de nous connecter depuis un lieu public chez soi pour ensuite aller sur Internet de manière sécurisée depuis notre maison. 13