Attaquer le WPS

Comme je vous l’ai expliqué à la fin de l’article sur les protocoles WPA et WPA2, WPS (Wi-Fi Protected Setup) est un protocole qui permet de se connecter à son réseau sans fil sans avoir à entrer de mot de passe. Ce protocole est censé faciliter l’accès au réseau sans fil.

Pour se connecter à un réseau sans fil en utilisant WPS vous avez plusieurs possibilités :

-En pressant le bouton d’activation sur votre box
-En entrant le code PIN (prédéfini et présent sur votre box)
-Via la technologie NFC
-Via une clé USB qui s’occupera de faire le transfert de données

Alors comment ça fonctionne ? En fait c’est très simple, dans les quatre cas, vous allez devoir effectuer une action : entrer le code PIN, appuyer sur le bouton, passer votre machine sur votre box (NFC) ou brancher une clé USB. Suite à cette action votre box va tout simplement envoyer à votre machine le mot de passe de votre réseau. Votre machine va donc pouvoir se connecter au point d’accès. Eh voila… c’est tout.

Alors autant vous le dire maintenant. N’utilisez jamais WPS, désactivez le si ce n’est pas déjà fait. Vous allez me demander pourquoi ? Et bien tout simplement parce que c’est le standard sans fil le moins sécurisé au monde. Encore moins que WEP !!

Nous allons voir deux techniques qui permettent de s’infiltrer dans le réseau de notre victime.

I/Écoute de trafic WPS

Ici on ne va pas cracker WPS, on va plutôt forcer la connexion. En effet lorsque vous appuyez sur le bouton WPS, vous activez ce protocole. A partir de là n’importe qui pourra se connecter à votre réseau (s’il est assez rapide). Le plus simple pour un pirate est donc de laisser tourner en tâche de fond un script qui ordonnera à son ordinateur de se connecter à un réseau dès lors qu’il capte un signal WPS. Pour cela ouvrez un terminal (Linux) puis entrez cette commande :

wpa_cli

Ici on crée un client WPA. Puis dans un autre terminal entrez cette commande (qui est en fait un script) :

while : ; do wpa_cli wps_pbc any ; sleep 100 ; done &

Ici on va créer une boucle while infinie qui va demander de se connecter (en utilisant notre client WPA) au WPS. Si ce script tourne et qu’un de voisin active WPS alors vous serez connecté à son réseau en moins de 10 secondes.

II/ Cracker le code PIN

Pour cette deuxième méthode nous allons nous attaquer au code PIN du point d’accès. Le code PIN WPS est un code de huit chiffres. On pourrait tenter de le bruteforce mais cela serait plutôt long (99 999 999 possibilités). De plus nous avons des outils pour le faire à notre place.

Ce qui est intéressant ici c’est que le code PIN WPS est composé de trois parties. La première partie est composé de quatre chiffres, la seconde de trois chiffres et la dernière d’un chiffre.

Sauf qu’en fait la première et la deuxième partie peuvent être brute forcer indépendamment. Quant à la dernière partie c’est un fait un checksum des deux autres.

Il faut donc trouver la première partie (quatre chiffres donc 9999 possibilités), la deuxième (trois chiffres donc 999 possibilités) et la dernière dépendra des deux premières.

Pour cela nous allons utiliser l’outil Reaver.

Premièrement nous allons passer notre carte Wi-Fi en mode monitor. Pour cela nous allons utiliser airmon-ng :

airmon-ng start wlan0

Avec wlan0 qui est le nom de mon interface Wi-Fi sous Kali Linux.

Ensuite nous allons avoir besoin du BSSID du point d’accès à forcer. Donc on va partir à la rechercher des points d’accès qui ont WPS d’activé. Pour cela ,nous disposons de l’utilitaire Wash :

wash -i wlan0mon

En voila quelqu’uns. On prend le BSSID qui nous intéresse et on entre cette commande :

reaver -i wlan0mon -b "BSSID de notre victime"

Eh voila, vous n’avez plus qu’à attendre. Cela peut être très long. Par ailleurs les failles du protocole WPS ont été avéré il y a de cela quelques années, des protections ont donc été implémenté. Par exemple, ma box va bloquer la connexion si ma machine entre quatre fois un mauvais code PIN. Je ne peux donc pas vous montrer une attaque réussie.

Par contre je peux vous donner ce lien qui vous amènera vers un dossier Excel qui répertorie quelques box et si elles sont vulnérables ou pas au niveau du protocole WPS !