Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A TP sécurité ARP spoofing L'objectif de ce TP est d expérimenter une attaque man-in-the-middle (MIM) de type ARP spoofing. Pour réaliser ce TP, vous utiliserez le programme ettercap dans l environnent virtuel offert par Marionnet. TP Sécurité Master IC²A 2014/2015 Christian Bulfone / Jean-Michel Adam 1/5
Préambule 1) Copiez sur votre bureau le projet nommé TP_MIM.mar qui se trouve dans le disque «commun» puis IC2A/Reseau/TP. 2) Lancez Marionnet : cliquez sur le bouton du haut du panel de gauche, et saisissez les premières lettres du mot «Marionnet». Cliquez sur l icône correspondante. Allez dans le menu Projet > Ouvrir, puis sélectionnez le projet que vous venez de copier. Vous devriez vous retrouver avec 3 machines nommées barbossa, m1 et m2 et un équipement nommé G1. 3) Démarrez les hôtes barbossa, m1 et m2 ainsi que le switch S1 et la passerelle G1. Notez les adresses IP des différentes machines et de la passerelle. 4) Testez le bon fonctionnement de la résolution de noms avec la commande : nslookup www.google.fr 5) Installez le logiciel ettercap sur l hôte barbossa avec les commandes : aptitude update aptitude install ettercap Répondez Yes aux questions posées (ignorez les messages d avertissement) 6) Sur barbossa, lancez le logiciel de capture et d analyse de trames wireshark (commande wireshark), puis sur m1 faites un ping adresse_ip_m2. Vérifiez que le switch S1 joue bien son rôle de protection et que vous ne recevez aucun des messages ICMP échangés entre m1 et m2. TP Sécurité Master IC²A 2014/2015 Christian Bulfone / Jean-Michel Adam 2/5
ARP spoofing 1) Lancez une attaque ciblée sur la machine m1 à l aide de la commande : ettercap T q M arp:remote /adresse_ip_m1/ /adresse_ip_g1/ -w /tmp/result 2) Sur m1, connectez-vous en telnet sur le serveur distant prevert.upmf-grenoble.fr à l aide de la commande : telnet prevert.upmf-grenoble.fr et des identifiant et mot de passe de votre choix. Que constatez-vous? 3) Lancez à présent un navigateur Web (commande firefox), et tapez l URL http://imss-www.upmf-grenoble.fr/~bulfonec/blog. Cliquez sur le lien redirigeant vers la page d administration du site et saisissez comme identifant «admin» et n importe quel mot de passe. Que constatez-vous? 4) Arrêtez l attaque en tapant «q». Lancez le logiciel de capture et d analyse de trames wireshark (commande wireshark) et ouvrez le fichier result qui se trouve dans le répertoire /tmp. Analysez les trames capturées. 5) Lancez wireshark sur m1, et démarrez une capture. Relancez sur barbossa la même attaque contre m1. Observez les trames échangées. Affichez le contenu du cache ARP de m1 à l aide de la commande arp n 6) Récupération d un trafic chiffré en HTTPS : éditez le fichier /etc/etter.conf et remplacez dans la section [privs] ec_uid = 65534 ec_gid = 65534 par ec_uid = 0 ec_gid = 0 et décommentez les deux lignes # redir_command_on = "iptables t nat # redir_command_off = "iptables t nat Enregistrez les modifications puis relancez l attaque : ettercap T q M arp:remote /adresse_ip_m1/ /adresse_ip_g1/ Sur m1, dans le navigateur Web tapez l URL https://www.gipsa-lab.grenoble-inp.fr/messitesweb Acceptez le certificat présenté par le navigateur, et saisissez comme identifiant «bulfonec» et n importe quel mot de passe. Que constatez-vous? TP Sécurité Master IC²A 2014/2015 Christian Bulfone / Jean-Michel Adam 3/5
Modification de contenu à la volée Le logiciel ettercap permet d utiliser des filtres qu il est possible de créer pour réaliser des actions particulières. 1) Créez dans le répertoire /tmp de votre machine barbossa, un fichier nommé ig.filter contenant les lignes suivantes : if (ip.proto == TCP && tcp.dst == 80) { if (search(data.data, "Accept-Encoding")) { replace("accept-encoding", "Accept-Rubbish!"); msg("zapped Accept-Encoding!\n"); if (ip.proto == TCP && tcp.src == 80) { replace("img src=", "img src=\"http://www.irongeek.com/images/jollypwn.png\" "); replace("img SRC=", "img src=\"http://www.irongeek.com/images/jollypwn.png\" "); msg("filter Ran.\n"); 2) Compilez votre filtre à l aide de la commande : etterfilter ig.filter o ig.ef 3) Utilisez à présent votre filtre contre la machine m1 avec la commande : ettercap T q F ig.ef M arp /adresse_ip_m1/ // 4) Sur m1, dans le navigateur Web Firefox (iceweasel), saisissez l URL : http://imss-www.upmf-grenoble.fr/master-ic2a/dciss Que constatez-vous à présent? TP Sécurité Master IC²A 2014/2015 Christian Bulfone / Jean-Michel Adam 4/5
DNS spoofing Ettercap dispose également d un certain nombre de plugins utilisables. Parmi eux, dns_spoof permet de réaliser du DNS spoofing. 1) Editez le fichier /usr/share/ettercap/etter.dns et remplacez toute occurrence de l adresse 198.182.196.56 par 91.121.22.172 2) Lancez ettercap avec le plugin dns_spoof avec la commande : ettercap T q P dns_spoof M arp:remote /adresse_ip_m1/ /adresse_ip_srv_dns 1 / 3) Sur m1, ouvrez le navigateur Web et tapez l URL http://www.microsoft.com. Que constatez-vous? 4) Editez le fichier /usr/share/ettercap/etter.dns et ajoutez les directives nécessaires pour que les requêtes DNS vers www.google.fr renvoient l adresse IP de votre machine barbossa. Vous pouvez testez sur m1 le bon fonctionnement avec la commande nslookup www.google.fr 1 L adresse du ou des serveurs de noms figure dans le fichier /etc/resolv.conf (ligne nameserver) de chaque machine. Marionnet utilise le composant «gateway» pour jouer ce rôle avec une adresse dédiée dans le réseau local différente de celle de la passerelle. TP Sécurité Master IC²A 2014/2015 Christian Bulfone / Jean-Michel Adam 5/5