24/10/2012

Décryptage Wi-fi : WPA avec Reaver

LifeHacker, par l'intermédiaire de Gina Trapani et Adam Pash, a commis deux articles en 2011 et 2012 sur le décryptage de réseau WEP et WPA. Ce sont ces deux articles que je traduis librement ici. Partager l'information permet de mieux se protéger.
"Qui connaît son ennemi comme il se connaît, en cent combats ne sera point défait." Sun Tzu, l'Art de la guerre.

Comment décrypter un mot de passe WPA, utilisé dans un réseau Wi-Fi, avec Reaver.


Votre réseau Wi-Fi est très certainement protégé par un mot de passe, et vous n'êtes pas sans savoir qu'il est relativement aisé de décrypter une clé WEP. donc, vous êtes tout naturellement passé au cryptage WPA, plus résistant.

Mauvaise nouvelle : un récent utilitaire open-source et gratuit, appelé Reaver exploite un trou de sécurité des routeurs Wi-Fi et peut décrypter assez facilement les mots de passe courants de la plupart d'entre eux.

Voici comment décrypter un mot de passe WPA ou WPA2, pas-à-pas, avec Reaver et comment protéger votre réseau des attaques de ce même Reaver.

Dans la première section de cet article, je décrirai la méthode de décryptage d'un mdp WPA avec Reaver. Vous disposez de la vidéo suivante ou bien du texte en-dessous. Ensuite, j'expliquerai comment Reaver travaille et ce que vous pouvez faire pour vous en protéger.


Note : Comme nous le répétons souvent au sujet de thèmes potentiellement malveillants : le savoir est le pouvoir, mais cela ne veut pas dire qu'il faut se sentir obligé d'avoir un comportement de délinquant, ou de faire quelque chose d'illégal. Savoir ouvrir une serrure sans la clé ne fait pas de vous un voleur. Il faut considérer cet article comme purement pédagogique, ou un simple exercice intellectuel. Plus vous en savez, mieux vous vous protégez.


Requis

Pas besoin d'être un sorcier du Net pour se servir de Reaver, la ligne de commande fait le gros du travail, un DVD vierge, un PC avec carte WI-Fi compatible, et quelques heures devant vous forment l'équipement de base. Il y a différentes manières de configurer Reaver, mais voici celle qui nous intéresse :

Un Live DVD BackTrack 5

BackTrack est une distribution Linux bootable chargée à ras bord d'outils de tests réseau, et bien qu'il n'est pas strictement indispensable à Reaver, il constitue la meilleure approche pour la plupart des utilisateurs. Téléchargez le Live DVD et gravez-le sur le DVD vierge. Vous pouvez aussi télécharger une image pour machine virtuelle si vous utilisez VMware. Pour coller à notre exemple, choisissez BackTrack 5 R1 dans la liste, avec Gnome, en 32 ou 64 bits selon votre micro-processeur (si vous ne savez pas, choisissez 32 bits), ISO pour l'image, et validez vos choix.

Un PC Wi-Fi avec lecteur de DVD

BT fonctionnera avec la carte Wi-Fi sur la plupart des portables. Cependant BT n'a pas de liste de compatibilité à 100% donc c'est sans garantie. Il vous faudra une lecteur de DVD pour booter sur BT. Pour ma part, j'utilise un MacBook Pro vieux de 6 ans.

Un réseau voisin utilisant WPA

Techniquement ce réseau devra utiliser WPA avec l'option WPS validée. Je détaillerai ceci dans la rubrique "Comment Reaver travaille", section "comment WPS crée le trou de sécurité qui rend le décryptage possible" (NdT : finalement cette rubrique n'existe pas dans l'article original).

De la patience

C'est une procédure en 4 étapes, et bien que relativement simple, c'est une attaque 'brute-force', ce qui signifie que le PC va essayer différentes combinaisons de décryptage avant de trouver la bonne. Lors de mon test, Reaver a mis 2 heures 30 pour trouver mon mot de passe. La page d'accueil de Reaver évalue qu'il faut entre 4 et 10 heures de traitement la plupart du temps.

La méthode

On suppose ici que le DVD de BT est gravé et votre portable est prêt.

Etape 1

Bootez le portable avec le DVD dans le lecteur. Google est votre ami si vous ne pratiquez pas souvent les Live CD/DVD. Pendant le boot, BT vous demandera de choisir le mode. Sélectionnez "BackTrack Tex - Default Boot Text Mode" et tapez Entrée.
Peut être que BT affichera une ligne de commande, dans ce cas tapez 
startx
Puis Entrée.
BT affichera son interface graphique.

Etape 2 : installer Reaver

Reaver a été ajouté dans la dernière version de BT, mais à l'heure où nous écrivons ces lignes, pas encore dans le Live DVD, donc installation manuelle. Pour l'installer, vous devez d'abord vous connecter à un réseau Wi-Fi dont le mot de passe est connu.
1 - Applications > Internet >Wicd Network Manager
2 - Sélectionnez votre réseau et cliquez sur Connect, entrez le MdP si nécessaire, puis OK, puis Connect encore.
Maintenant que vous êtes en ligne, l'installation proprement dite. Cliquez sur le bouton 'Terminal' dans le menu (ou bien Applications > Accessories > Terminal). Au prompt, tapez :

apt-get update
Une fois la mise-à-jour effectuée, tapez :
apt-get install reaver

 Si tout va bien Reaver doit être installé. Il peut sembler un peu bancal que vous ayez besoin de vous connecter à un réseau pour ce faire, mais de cette manière il restera installé jusqu'au prochain boot. Déconnectez-vous de ce réseau en ouvrant de nouveau Wicd Network Manager et cliquant 'Disconnect'. Ceci n'est pas obligatoire mais j'avais l'impression de tricher en étant connecté à un réseau.

Etape 3 : Réunissez les infos, préparez le décryptage

Vous devez connaître le nom de votre interface réseau Wi-Fi, le BSSID du routeur qui vous intéresse (c'est une suite de lettres et de chiffres qui l'identifient) et vous devez être sur que votre carte Wi-Fi est en mode 'monitor'

- Trouvez votre carte Wi-Fi : dans Terminal, tapez :
iwconfig
Entrée. Vous devriez trouver un péripérique sans fil dans la liste. La plupart du temps, il sera appelé wlan0, mais si vous avez plusieurs cartes Wi-Fi ou une installation réseau inhabituelle,  il pourra porter un autre nom.



- Mettez votre carte en mode 'monitor' : si le nom de votre carte Wi-Fi est wlan0, tapez :
airmon-ng start wlan0
Cette commande affichera le nom de l'interface du mode moniteur, que vous devez noter. Ce devrait être mon0, comme ci-dessous.



 - Trouvez le BSSID du routeur objet :
airodump-ng wlan0
Note : si la commande ci-dessus ne fonctionne pas, essayez en remplaçant le nom du réseau par celui de l'interface mode moniteur (wlan0 par mon0 : 'airodump-ng mon0')
Vous devriez voir une liste de réseaux Wi-Fi, comme ci-dessous :


Quand vous verrez le réseau recherché, pressez Ctrl+C pour arrêter le rafraîchissement de la liste, puis notez le BSSID du réseau (la suite de lettres et de chiffres complètement à gauche). Dans la colonne ENC, vous devez voir WPA ou WPA2. Si c'est WEP, voyez cet article.
Maintenant avec le BSSID et le nom de l'interface moniteur en main, vous avez le nécessaire pour lancer Reaver.

Etape 4 Décryptage

Lancez la commande suivante sur Terminal, en remplaçant bssid et moninterface avec le BSSID et le nom de l'interface moniteur :
reaver -i moninterface -b bssid -vv
Par exemple si le nom de l'IM est mon0 comme le mien, et le BSSID est  8D:AE:9D:65:1F:B2 , votre commande doit être :
reaver -i mon0 -b 8D:AE:9D:65:1F:B2 -vv
Tapez Entrée, asseyez-vous et laissez la magie opérer. Reaver va maintenant essayer une série de codes sur le routeur avec une attaque type brute force, l'un après l'autre. Ceci va prendre un certain temps. Au cours de mon test réussi, Reaver a mis 2 heures 30 pour me donner le bon mot de passe. Comme je l'ai dit, la doc précise que Reaver met entre 4 et 10 heures, donc c'est très variable. En fin de traitement, voici ce qui apparaît :


Important :

Reaver fonctionne exactement comme je l'ai décrit, mais il peut ne pas fonctionner avec tous les routeurs (voir plus loin). Aussi, le routeur qui vous intéresse doit avoir un signal fort, donc si vous êtes en limite de réception, vous aurez des problèmes et Reaver ne fonctionnera peu-être pas. Durant le traitement, il rencontrera peut-être un timeout, ou restera coincé dans une boucle concernant un code PIN particulier, ou autre. Il faut le laisser travailler et le mettre près du routeur pour que l'expérience réussisse.
Par ailleurs, vous pouvez suspendre le traitement à tout moment avec les touches Ctrl+C. Vous quitterez la procédure, mais Reaver sauvegarde l'état courant et au prochain lancement, il reprendra le traitement à ce point précis, si toutefois vous ne rebootez pas la machine entre-temps, ce qui dans le cas d'un Live DVD, réinitialisera toute la procédure.

Comment Reaver travaille

Vous avez vu comment utiliser Reaver, maintenant voyons comment il travaille. Le programme tire profit d'une vulnérabilité de quelque chose appelé 'Wi-Fi Protected Setup' ou WPS. C'est une fonction répandue dans les routeurs, facilitant leur configuration, qui est liée à un PIN qui est inscrit en dur dans le routeur. Reaver exploite un défaut de ces PINs ; le résultat est que avec suffisamment de temps, il révèle un mot de passe WPA ou WPA2.
Pour plus d'infos, voir  l'article de Sean Gallagher sur Ars Technica.

Comment se protéger contre Reaver

Puisque la vulnérabilité est liée à l'implémentation de WPS, votre réseau est protégé dès que vous désactivez la fonction WPS (ou encore si votre routeur ne la supporte pas). Malheureusement, comme Gallagher le souligne dans son article, même avec la fonction WPS désactivée, Reaver a été capable de trouver le mot de passe.

Dans une conversation téléphonique, Craig Heffner a dit que l'impossibilité de se protéger de cette vulnérabilité est très répandue. Lui et d'autres ont trouvé que c'était le cas sour tous les points d'accès sans-fil Linksys et Sisco Valet qu'ils ont testés. "Sur tous les routeurs Linksys, on ne peut désactiver manuellement WPS", a-t'il dit. Quand bien même l'interface web contient un bouton-radio prévu à cet effet, il reste actif et le routeur vulnérable.
Pas de chance. Il vous faudra essayer de relancer Reaver en désactivant WPS pour voir s'il y a du changement.
Vous pouvez également configurer le filtrage par adresse MAC dans votre routeur (une sorte de liste blanche des terminaux autorisés à se connecter au réseau), mais un pirate rusé peut détecter une des adresses MAC de la liste blanche et se l'attribuer pour entrer dans le réseau.

Encore pas de chance. Donc que reste-t-il ?

J'ai le firmware open-source DD-WRT installé sur mon routeur et Reaver a n'a pas réussi à trouver le MdP. DD-WRT ne supporte pas WPS et c'est donc une raison supplémentaire d'apprécier ce firmware. Si cela vous intéresse, vérifiez la liste des routeurs supportés. C'est un plus sécuritaire et DD-WRT peut faire d'autres choses utiles comme superviser votre activité Internet, préparer un disque dur réseau, bloquer les pubs, booster le débit du Wi-Fi, etc... Il remplace votre routeur à 50 Euros par un routeur à 500 Euros.

Lectures avancées

Merci à cet article sur Mauris Tech Blog pour une approche simple de Reaver. Pour creuser la question :


L'utilisateur de reddit jagermo, (avec qui j'ai échangé quelques mots en cherchant Reaver) a publié un tableau sur Google Docs dressant une liste des routeurs vulnérables, voyez si le votre en fait partie.

Si vous avez une expérience concernant Reaver, publiez-la en commentaire !

Aucun commentaire:

Enregistrer un commentaire