Explication de la nouvelle attaque sur WPA/WPA2

Ce week-end n’a pas été particulièrement chargé en actualité dans le domaine de l'infosec. En revanche, une information est sortie du lot : une nouvelle attaque sur le WPA a été identifiée et implémentée !


Le but de ce court article de blog est de vous expliquer quelle est la différence entre les attaques existantes et cette nouvelle attaque, afin de vous aider à déterminer dans quelle mesure vos infrastructures sans-fil (personnelles ou professionnelles) sont impactées.



Qu'est-ce qu'un test d'intrusion sans-fil ?    Recevoir plus d'information via notre wizard evaluation de securité


TL;DR – La version courte

Nous parlons ici d’attaques visant les points d’accès disposant des protocoles de sécurité WPA/WPA2 (https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access), utilisés par la majorité de ceux-ci. Cela ne concerne que les points d’accès utilisant un mot de passe aussi appelé « Pre-Shared-Key » (c’est le mot de passe que vous rentrez lors d’une connexion à votre box opérateur, par exemple). Pour les réseaux d’entreprise (basée sur du 802.1x), il existe d’autres attaques, mais qui ne seront pas le sujet de cet article.

Cette nouvelle attaque repose sur les mêmes principes que l’attaque principale précédente : le brute-force du mot de passe. En bref, la différence principale vient du fait que, dans l’attaque précédente, il était nécessaire d’avoir un échange complet EAPOL, nécessitant donc un utilisateur légitime dont il fallait capturer une authentification.

Dans cette nouvelle attaque, la capture de l’élément permettant le brute-force ne nécessite plus d’interaction, ce qui permet d’attaquer plus de points d’accès.

Cependant, si le mot de passe est suffisamment robuste (15 caractères, avec complexité), vous n’avez aucun souci à vous faire.


Qu'est-ce qu'un test d'intrusion sans-fil ?

Présentation des attaques actuelles sur les réseaux WPA/WPA2

Il existe plusieurs attaques sur les points d’accès utilisant WPA :

  • La récente KRACK, expliquée ici, et qui repose sur une faille d’implémentation
  • Les attaques utilisant WPS (https://en.wikipedia.org/wiki/Wi-Fi_Protected_Setup), consistant à deviner un PIN ou utiliser un PIN par défaut afin de récupérer la clé PSK (le mot de passe du point d’accès) et de s’y connecter
  • Les attaques basées sur l’interception de trafic sans-fils et permettant d’injecter des paquets de manière arbitraire
  • Enfin, l’attaque la plus commune, applicable à tous les réseaux WPA/WPA2 : la capture d’un challenge, permettant de recouvrer le mot de passe à partir d’une liste type dictionnaire ou brute-force

Nous allons expliquer cette dernière dans cette partie, ceci dans un but de comprendre la nouvelle attaque, qui n’est ni plus ni moins qu’une alternative similaire à l’attaque par dictionnaire.

En deux mots, l’attaque consiste à capturer un échange complet EAPOL (composé de 4 échanges), contenant de quoi recomposer un élément appelé PTK (Pairwise-Transient-Key), qui peut enfin être utilisé comme élément de comparaison à partir d’une liste de mot de passe.

Tout d’abord, une explication de cet échange EAPOL avec le schéma suivant (à gauche, le client, à droite, le point d’accès) :

Figure 1 - Echange 4-Way handshake EAPOL

On constate dans cet échange que plusieurs données sont échangées, permettant au client de transmettre au serveur sa clé PTK. Mais, au fait, c’est quoi la clé PTK, et quel est son lien avec la clé que l’on connaît, le mot de passe du point d’accès ?

Explications ci-dessous, permettant de faire le lien entre le mot de passe et la PTK :

Figure 2 - Calcul du PTK (Pairwise-Transient-Key) à partir du mot de passe

On constate deux étapes :

  • La clé est dérivée vers la PMK (Pairwise-Master-Keys), en fonction du SSID (le nom du réseau Wi-Fi) également
  • Le PMK est ensuite dérivé à nouveau vers la PTK, en fonction de nouveaux éléments

Souvenez-vous de la PMK, car nous nous en servirons par la suite dans la nouvelle attaque.

En l’état actuel des choses, un attaquant est en mesure de forcer un client (s’il existe un client connecté au réseau WPA en cours d’attaque) afin de lui faire effectuer une nouvelle authentification.

L’attaquant capture alors les quatre échanges et obtiens la PTK. Cependant, la PTK n’est pas suffisante pour se connecter à un réseau WPA de manière arbitraire puisqu’il est unique à chaque connexion.

Il faut donc que l’attaquant arrive à deviner le mot de passe, celui qui correspondra à la PTK capturée.

Ayant réuni tous les éléments, l’attaquant peut, à l’aide d’une liste précompilée ou un dictionnaire, tenter de générer des PMKs puis des PTKs jusqu’à tomber sur la bonne :

Figure 3 - Attaque réussie, permettant de retrouver le PTK capturé, à l'aide du mot de passe "Hakunamatata"

Les outils généralement utilisés pour cette besogne sont les éléments de la suite AirCrack :


On retrouve d’ailleurs des éléments qui nous sont familiers : la PMK (Master Key) et la PTK (Transcient Key, dans la capture).

Les inconvénients de la technique expliquée ci-dessus sont les suivants :

  • Un client légitime est nécessaire afin de capturer un échange complet
  • Le mot de passe doit être peu robuste, car le nombre d’opérations processeur pour passer d’un mot de passe au PTK est important. On parle donc d’un algorithme compliqué à « casser »

Nouvelle attaque reposant sur la capture d’un PMKID

Dans l’article de forum d’Hashcat suivant, la nouvelle attaque est présentée et détaillée, ainsi que la méthode d’utilisation :

Figure 4 - Capture Wireshark montrant la capture d'un PMKID

Le PMKID est calculé de la manière suivante :


Vous l’avez peut-être compris, mais la nouvelle attaque consistera à :

  • Capturer ce fameux PMKID
  • Utiliser les éléments d’un dictionnaire pour calculer, tour à tour :
  • Un PMK correspondant à chaque mot de passe
  • Un PMKID correspondant à chaque PMK calculé
  • Pour chaque PMKID calculé, celui-ci sera comparé au PMKID capturé, jusqu’à ce que nous ayons un « match »

Nous avons tenté de schématiser l’attaque ci-dessous, en reprenant les schémas de l’attaque classique par dictionnaire :


On remarquera que le principe change très peu par rapport à l’attaque présentée dans la partie précédente.

Il existe bien entendu des outils permettant de « casser » le mot de passe correspondant du point d’accès. Notamment, hashcat en fait partie :

Figure 5 - Cassage du mot de passe (extrait du forum hashcat.net)

Conclusion

Est-ce que cette attaque change le monde de la sécurité des réseaux sans-fil ? Probablement que non.

Elle rend juste encore plus aisées les attaques par dictionnaire et permettra aux attaquants d’attaquer des réseaux WPA de manière plus stable et plus large (plus besoin de clients légitimes).

Notons également que l’article sur le forum Hashcat ne confirme pas que tous les équipements supportent l’envoi du PMKID. Ceux testés l’étaient en tous cas.

Ceci renforce la nécessité d’avoir un remplaçant au WPA/WPA2 pour la sécurité des réseaux personnels : le tant attendu WPA3.

Dans l’attente de ce protocole de sécurité, la recommandation à suivre est d’utiliser un mot de passe complexe pour les réseaux WPA/WPA2 utilisant des clés partagées (PSK), ceci afin de rendre les attaques par dictionnaire obsolètes.

Pensez également à parer les attaques alternatives en désactivant le WPS.

Recevoir plus d'information via notre wizard evaluation de securité

Contactez-nous

Pour plus d'informations, contactez-nous aux coordonnées ci-dessous :
03 66 72 95 95
sales@ssl247.fr

Partager cela:

Posté le Tuesday 07 August 2018 par

Retourner au blog

Envoyez-nous vos commentaires


Votre commentaire ne sera pas publié. Si vous avez une question, n'oubliez pas d'écrire votre adresse email afin que l'on puisse vous répondre.