WLAN chiffré LEAP Pentesting

Le protocole LEAP (Lightweight Extensible Authentication Protocol) est un protocole d'authentification hérité basé sur Cisco qui utilise un serveur RADIUS externe pour authentifier les utilisateurs. Il effectue une authentification pseudo-mutuelle du client sans fil et du serveur d'authentification, avec l'utilisation des fonctions de hachage - MS-CHAP et MS-CHAPv2.

La vulnérabilité de LEAP réside dans le fait que -

  • Le nom d'utilisateur de l'utilisateur est envoyé en texte clair - par conséquent, le pirate n'a besoin que d'obtenir le mot de passe de l'utilisateur, en utilisant, par exemple, l'ingénierie sociale.

  • Le mot de passe de l'utilisateur est piraté avec MS-CHAPv2 - l'algorithme est vulnérable aux attaques par dictionnaire hors ligne.

De la même manière que dans les cas précédents, commençons par airodump-ng pour savoir quels WLAN sont diffusés dans l'environnement.

Comme vous pouvez le voir, le WLAN "LAB-test" est visible en tant que réseau WPA2. Ce type le mode d'authentification est changé en "MGT" - ce que cela signifie est qu'il n'y a pas de clé pré-partagée statique (PSK), mais les services d'authentification sont déplacés vers un serveur d'authentification externe (ex. RADIUS). À ce stade, vous ne pouvez pas dire si le réseau WLAN particulier est basé sur LEAP, PEAP, EAP-TLS, EAP-TTLS ou quel autre type de technologie EAP.

La prochaine étape consiste à activer Wireshark, afin de voir dans les détails des paquets - cela donne au testeur d'intrusion beaucoup d'informations précieuses.

Comme vous pouvez le voir, le serveur d'authentification a d'abord essayé de négocier EAP-TTLS, mais le client a refusé. Dans les 2 messages suivants, ils ont accepté d'utiliser LEAP.

Dans les 2 premiers messages, le serveur d'authentification demande un nom d'utilisateur (Identité) et le client répond - comme vous pouvez le voir, la réponse du client est transmise en texte clair.

À ce stade, nous savons déjà qu'un nom d'utilisateur valide du client sans fil est "LAB_user". Afin de connaître le mot de passe, nous allons jeter un œil àRequest/Response échange.

Au bas de l'en-tête d'authentification 802.1x, vous pouvez observer que le serveur d'authentification a lancé un défi au client sans fil avec un texte de défi «197ad3e4c81227a4». Ensuite, en arrière-plan, le client sans fil a utilisé un algorithme MS-CHAPv2 combiné avec le mot de passe de LAB_user et a obtenu un hachage de valeur - "ef326a4844adb8288712a67e2dc659c4f9597dc4a7addc89", qui a été renvoyé au serveur d'authentification. Comme vous le savez dans les chapitres précédents, heureusement pour nous, MS-CHAPv2 est vulnérable aux attaques de dictionnaire hors ligne. Pour cela, nous utiliserons un outil très courant pour casser le mot de passe LEAP, appeléasleap.

Comme vous pouvez le voir, basé sur la capture de paquets, asleapa pu extraire toutes les informations de l'échange de paquets 802.1X et cracker le hachage MS-CHAPv2. Le mot de passe de l'utilisateur: "LAB_user" est "f8be4a2c".

Encore une fois, il y a de grandes chances que vous ne voyiez jamais l'authentification LEAP dans l'environnement de production - au moins maintenant vous avez une très bonne preuve pourquoi.