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 !

22/10/2012

Décryptage Wi-fi : WEP avec BackTrack

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 WEP, utilisé dans un réseau Wi-Fi, avec BackTrack.


Nous savons déjà que si nous voulons réellement protéger un réseau, il vaut mieux opter pour le cryptage WPA, car WEP est facile à décrypter. Nous allons voir ici dans quelle mesure.


Note : Cet article montre comment décrypter un mot de passe WEP ainsi que d'autres protocoles de sécurité plus anciens ou moins utilisés. Si le réseau qui vous intéresse utilise WPA, voyez plutôt notre guide : comment décrypter un protocole WPA avec Reaver.


Nous allons décrire maintenant la procédure. Mais avant, un mot : le savoir est le pouvoir, mais ne vous sentez pas obliger de devenir sauvageon, ou d'enfreindre la loi. Savoir ouvrir une serrure ne fait pas de vous un voleur. Veuillez considérer cet article à des fins pédagogiques, ou comme un exercice intellectuel.

Il existe déjà des douzaines de modes opératoires sur ce thème à travers le Net, utilisant la même méthode. Voyez sur Google. Ce n'est pas un scoop. Mais ce qu'il y a de surprenant, c'est que quelqu'un comme moi, avec une expérience basique des réseaux, puisse réussir l'exercice à l'aide d'un logiciel gratuit et d'un modeste adaptateur Wi-Fi. Voyons comment :

Requis

Un adaptateur Wi-Fi compatible. 
Il doit être capable de faire de l'injection de paquets. Préférez le Alfa AWUS036H au Alfa AWUS050NH comme je l'ai recommandé précédemment. [...]. Voici un tuto en anglais pour connaître ou reconnaître un adaptateur compatible aircrack.

Nous avons déjà fait un tour d'horizon de la méthode de création d'un Live CD BackTrack 3. Le Live CD Linux qui permet d'effectuer toutes sortes de tests et de tâches de sécurité. Téléchargez-en une copie et gravez-la ou exécutez-la en environnement VMware.

Un réseau de test crypté en WEP
Le signal doit être optimal et, idéalement, il doit être actif, des utilisateurs connectant et déconnectant leurs terminaux. Plus il y aura de trafic, plus vous aurez de chance de réussir.

De la patience avec la ligne de commande. 
C'est une procédure en dix étapes qui requiert de taper d'obscures commande et d'en attendre patiemment le fruit.

Décryptage

Pour ce faire, vous devrez lancer Konsole, la ligne de commande de BackTrack. Dans la barre des tâches en bas à gauche, second bouton vers la droite. Maintenant, les commandes.

D'abord lancez celle-ci pour obtenir une liste de vos interfaces réseau :
airmon-ng
Le seul résultat que j'obtienne personnellement est ra0. Notez les vôtres. Dans les commandes qui suivent substituez le nom de votre interface au terme : (interface)
Lancez maintenant les quatre commandes suivantes. Voyez ce que j'ai obtenu dans la copie d'écran ci-dessous.

airmon-ng stop (interface)
ifconfig (interface) down
macchanger --mac 00:11:22:33:44:55 (interface)
airmon-ng start (interface)


Si vous n'obtenez pas le même résultat que ci-dessus, c'est sans doute que votre adaptateur Wi-Fi ne fonctionne pas avec la méthode décrite ici. Dans le cas contraire, vous avez réussi à y injecter l'adresse MAC : 00:11:22:33:44:55

Maintenant il est temps de scruter votre réseau.

airodump-ng (interface)

Pour voir la liste des réseaux proches. Si vous voyez celui qui vous intéresse, pressez Ctrl+C pour stopper la liste. Mettez la ligne concernée en surbrillance, et notez deux choses : le BSSID et son canal (Colonne CH), comme montré ci-dessous. Bien entendu, le réseau sélectionné doit être encrypté en WEP comme l'indique la colonne ENC, ni WPA ou autre.




Copiez le BSSID dans le presse-papier pour usage ultérieur.
Maintenant voyons le trafic dans ce réseau et capturons le résultat dans un fichier. Lancez :

airodump-ng -c (channel) -w (file name) --bssid (bssid) (interface)
Où (channel) est le canal du réseau, et (bssid) le ... BSSID copié dans le presse-papier. Utilisez Shift+Insert pour coller son contenu dans la commande. Choisissez le nom de fichier (filename) qui vous convient. J'ai choisi 'yoyo', qui est le nom du réseau scruté.




Vous obtiendrez un résultat similaire à la fenêtre ci-dessus. Laissez-la en l'état. Ouvrez une autre fenêtre Konsole, et entrez-y cette commande :

aireplay-ng -1 0 -a (bssid) -h 00:11:22:33:44:55 -e (essid) (interface)
Ici, l'ESSID est le SSID du point d'accès, qui dans mon cas est 'yoyo'. Le but recherché avec cette commande est d'obtenir le message rassurant 'Association successfull' accompagné d'un smiley. Vous y êtes presque. Maintenant il est temps pour :

aireplay-ng -3 -b (bssid) -h 00:11:22:33:44:55 (interface)



Ici, nous créons du trafic supplémentaire pour accélérer les opérations. Après quelques minutes, cette fenêtre va crépiter de paquets en lecture/écriture. (Par ailleurs j'ai été incapable de surfer simultanément sur le net avec le réseau yoyo sur un autre pc).  C'est le moment de se faire un café ou d'aller se promener. En effet il faut attendre d'avoir amassé assez de données pour lancer le décryptage. Observez le nombre dans la colonne #data, il doit dépasser 10 000.  Il n'est que de 854 ci-dessous.

Selon la puissance du réseau (le mien est inexplicablement lent à -32 dans l'image, bien que l'adaptateur soit dans la même pièce que le point d'accès yoyo), cette étape peut être assez longue.[...], En réalité il faut dépasser largement les 10 000 dans beaucoup de cas.


Une fois la collecte suffisante, c'est le moment de vérité. ouvrez une troisième fenêtre de commande Konsole, et lancez la commande de décryptage suivante :

aircrack-ng -b (bssid) (file name-01.cap)

Le nm du fichier importe peu. Dans votre dossier c'est celui qui porte l'extension .cap.
Si la collecte est insuffisante, aircrack se plante et pour suggérera de recommencer avec plus de data. Si c'est un succès, ça devrait ressembler à ça :


La clé WEP apparaît en regard du message 'KEY FOUND'. Collez-la dans la zone clé du réseau pour vous logger.

Problèmes rencontrés

J'ai cherché avec cet article à prouver que décrypter une clé WEP est relativement facile pour quelqu'un d'outillé et de décidé. Je persiste mais j'ai quand même rencontré quelques difficultés. En fait, vous avez peut être remarqué que la dernière fenêtre est sensiblement différente des autres. En fait, ce n'est pas la mienne. Bien que le point d'accès yoyo et mon Afa étaient dans la même pièce, la collecte des données s'est avérée très lente et BackTrack se serait planté avant la fin. Après douze essais (à partir du PC ; du Mac ; en CD ou en machine virtuelle), je n'ai jamais capturé suffisamment de données pour décrypter la clé.

Donc il y a loin de la théorie à la pratique ; le kilométrage dépend du matériel ; de la distance entre les antennes ; et de l'alignement des planètes. Et si vous êtes près du but, la loi de Murphy viendra couronner le tout.


Source : Lifehacker, How to Crack a Wi-Fi Network’s WEP Password with BackTrack