Wifi / Hara-kiri (Seppuku)
Cette semaine j’ai été surpris d’apercevoir, dans un centre hospitalier, un spot wifi (professionnel) avec du WEP. Même si il y avait du filtrage par adresse mac et le service DHCP était coupé, cela m’a pris quelques minutes supplémentaires pour obtenir toutes les informations nécessaires à la connexion de ce réseau… Alors je me suis dit qu’un petit rappel sur la sécurité des réseaux wifi pourrait être utile afin d’éviter l’hara-kiri.
Actuellement nous avons les différents types d’authentification suivants :
- WEP Open ou Shared Key
- WPA PSK avec encryption TKIP ou AES
- WPA Enterprise avec encryption TKIP ou AES
- WPA2 PSK avec encryption TKIP ou AES
- WPA2 Enterprise avec encryption TKIP ou AES
- 802.1x
Sur ces différents modes d’authentification, il y a bien entendu le WEP qui est complètement obsolète, et le protocole d’encryption TKIP qui contient des faiblesses découvertes par deux chercheurs allemands en novembre 2008.
Je ne vais pas refaire une biographie complète du WEP car il en existe déjà beaucoup sur internet. Mais je vais vous montrer (à nouveau car pour certain ce n’est pas clair visiblement) comment il est facile de casser une clé WEP.
Personnellement j’utilise le live CD backtrack 4 qui contient tous les outils nécessaires pour notre démo.
Pour la suite de la démonstration, on prendra pour acquis les éléments suivants :
- MAC adresse du point d’accès cible : 00:CA:FE:BA:BE:FF
- MAC adresse du client connecté sur le point d’accès : 00:BA:BE:CA:FE:FF
- BSSID du point d’accès cible : POVWEP
Dans un premier temps, je mets ma carte wifi en mode monitor :
Puis je lance airodump-ng, il permet de scanner les réseaux wifi. Airodump-ng est simple d’utilisation.
Airodump-ng offre une multitude d’options et de filtres afin de cibler ce que l’on souhaite surveiller.
Options airodump-ng:
-w permet de créer un fichier de capture dans lequel seront enregistrés tous les paquets.
Exemple: airodump-ng -w out wlan0
–encrypt permet de filtrer les réseaux en fonction du type d’encryption utilisé.
Exemple: airodump-ng –encrypt wep wlan0 (seuls les réseaux en WEP seront affichés)
-c permet de cibler l’écoute sur un canal wifi particulier.
Exemple: airodump-ng -c 10 wlan0 (airodump-ng n’écoutera que le canal 10)
–bssid permet de ne cibler qu’un seul point d’accès en fonction de son adresse mac.
Exemple: airodump-ng –bssid 00:CA:FE:BA:BE:FF wlan0 (airodump-ng ne surveillera que le point d’accès dont l’adresse mac est 00:CA:FE:BA:BE:3F)
Donc si je veux faire un tour d’horizon ce que qui ce passe dans le coin, je lance :
Je peux apercevoir que le point d’accès 00:CA:FE:BA:BE:FF a du WEP et un client connecté. Parfait, nous pouvons commencer. On lance un autre airodump qui va créer un fichier de capture. Ce fichier de capture sera utilisé par aireplay pour rejouer les ARP (injections de paquets).
Maintenant que nous sommes focalisé sur notre point d’accès et que nous avons un client connecté, nous pouvons tenter de nous associer au point d’accès avec aireplay :
Voici les différentes options de aireplay :
–deauth count : deauthenticate 1 or all stations (-0)
–fakeauth delay : fake authentication with AP (-1)
–interactive : interactive frame selection (-2)
–arpreplay : standard ARP-request replay (-3)
–chopchop : decrypt/chopchop WEP packet (-4)
–fragment : generates valid keystream (-5)
–caffe-latte : query a client for new IVs (-6)
–cfrag : fragments against a client (-7)
–test : tests injection and quality (-9)
On utilise l’option -1 fakeauth (association & authentification) pour notre test :
POVWEP: essid (nom du réseau wifi)
00:CA:FE:BA:BE:FF: adresse mac du point d’accès
00:BA:BE:CA:FE:FF: adresse mac du client (“station” sous airodump-ng)
wlan0: notre interface wifi
Maintenant nous pouvons lancer notre attaque par rejeux d’ARP (injection de paquets). On utilise l’option -3 standard ARP-request replay (rejeu d’arp) :
POVWEP: essid (nom du réseau wifi)
00:CA:FE:BA:BE:FF: adresse mac du point d’accès
00:BA:BE:CA:FE:FF: adresse mac du client (“station” sous airodump-ng)
600: nombre de paquets par secondes qui seront injectés (à régler en fonction de la qualité du signal wifi)
out-01.cap: notre fichier de capture airodump-ng
wlan0: notre interface wifi
Il ne reste plus qu’attendre afin d’obtenir 40000 ARP pour décrypter la clé WEP. Une fois vos 40000 ARP dans votre fichier de capture, il ne reste plus qu’à décrypter la clé à l’aide de aircrack.
Aircrack-ng est très simple d’utilisation.
Dans notre cas, nous allons utiliser la commande suivante :
Quelques minutes après vous pourrez voir :
Maintenant si le réseau fait du filtrage par MAC adresse vous avez déjà un mac adresse de disponible, utilisez là :
Et si le service DHCP n’est pas activé, vous pouvez utiliser wireshark afin de définir l’adressage du réseau. Commencez par lancer wireshark.
Puis configurer wireshark pour qu’il décrypte les paquets avec la clé WEP que vous venez juste de décrypter.
Allez dans Edit\preferences\protocols\IEEE 802.11
puis entrer la clé WEP
Cochez Assume packets have FCS et enable decryption
Vous pouvez commencer à sniffer en allant dans capture\options
Si vous voulez être plus granulaire dans votre recherche vous pouvez faire un filtre sur votre point d’accès :
Vous allez découvrir des choses intéressantes.
Deux formules à retenir (dont une que j’empreinte à sid) :
WIFI != WEP