Introduction
Les réseaux sans fil peuvent être configurés pour ne pas diffuser leur identifiant de jeu de services (SSID), ce qui les rend "cachés". Bien que cela offre une légère couche d'obscurité, ce n'est pas une mesure de sécurité robuste. Un attaquant peut toujours découvrir le SSID à l'aide d'outils d'analyse réseau.
Dans ce laboratoire, vous apprendrez le processus de découverte d'un SSID caché. Vous utiliserez airodump-ng pour surveiller le trafic sans fil et identifier un réseau caché, puis vous utiliserez aireplay-ng pour effectuer une attaque de désauthentification. Cette attaque force un client connecté à se déconnecter brièvement, puis à se reconnecter, révélant ainsi le SSID du réseau pendant le processus de réassociation.
Nous travaillerons dans un environnement sans fil simulé préparé pour ce laboratoire.
Lancer airodump-ng en mode de scan général
Dans cette étape, vous allez lancer airodump-ng, un outil de capture de trames 802.11. Nous l'utiliserons pour scanner tous les réseaux sans fil à proximité. L'environnement de laboratoire a été configuré avec une interface de surveillance nommée wlan2mon.
Tout d'abord, ouvrez un terminal. Toutes les commandes de ce laboratoire seront exécutées dans le terminal.
Maintenant, exécutez airodump-ng sur l'interface de surveillance. Cela nécessite des privilèges sudo.
sudo airodump-ng wlan2mon
Après avoir exécuté la commande, votre terminal sera rempli d'informations sur les réseaux Wi-Fi à proximité. Laissez cette commande continuer à s'exécuter, car nous observerons sa sortie dans les étapes suivantes.
Vous devriez voir un affichage similaire à celui-ci, qui se met à jour en temps réel :
CH 6 ][ Elapsed: 10 s ][ 2023-10-27 10:00
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:XX:XX -30 10 0 0 6 54e OPN <length: 0>
BSSID STATION PWR Rate Lost Frames Probe
Gardez ce terminal ouvert et en cours d'exécution avec airodump-ng. Vous devrez ouvrir un nouveau terminal pour les commandes de l'étape 4.
Identifier un réseau avec un ESSID '<length 0>'
Dans cette étape, vous allez analyser la sortie de airodump-ng pour trouver le réseau caché.
Regardez le terminal où airodump-ng est en cours d'exécution. Les réseaux cachés sont identifiés par un ESSID (nom du réseau) qui n'est pas diffusé. airodump-ng affiche cela comme <length: 0>.
Dans la sortie, vous devriez voir une ligne similaire à celle-ci :
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:XX:XX -30 10 0 0 6 54e OPN <length: 0>
Cette ligne représente notre réseau caché cible. Notez deux informations importantes de cette ligne :
- BSSID : L'adresse MAC du point d'accès. Dans l'exemple, c'est
XX:XX:XX:XX:XX:XX. - CH : Le canal sur lequel le réseau opère. Dans l'exemple, c'est
6.
Vous aurez besoin du BSSID pour l'attaque de désauthentification dans une étape ultérieure. Pour votre commodité dans ce laboratoire, le BSSID du point d'accès simulé a été enregistré dans un fichier. Vous pouvez le visualiser en exécutant cat /tmp/bssid.txt dans un nouveau terminal si nécessaire.
Attendre qu'un client se connecte pour révéler l'ESSID
Dans cette étape, nous allons discuter de la méthode passive pour découvrir un ESSID caché.
Une façon de découvrir l'ESSID est simplement d'attendre. Lorsqu'un client légitime se connecte au réseau caché, il envoie des requêtes de sonde (probe requests) et des requêtes d'association (association requests) qui contiennent l'ESSID. Si airodump-ng est en cours d'exécution et écoute sur le bon canal, il capturera ces paquets et affichera l'ESSID.
La sortie de airodump-ng présente deux sections. La section supérieure liste les points d'accès (APs), et la section inférieure liste les clients connectés (Stations).
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:XX:XX -30 10 0 0 6 54e OPN <length: 0>
BSSID STATION PWR Rate Lost Frames Probe
XX:XX:XX:XX:XX:XX YY:YY:YY:YY:YY:YY -40 0- 1 0 1
Dans l'exemple ci-dessus, un client avec l'adresse MAC YY:YY:YY:YY:YY:YY est connecté à notre point d'accès caché (XX:XX:XX:XX:XX:XX).
Cependant, attendre qu'un client se connecte peut prendre beaucoup de temps. Dans l'étape suivante, nous utiliserons une méthode active pour forcer la situation et révéler l'ESSID beaucoup plus rapidement.
Forcer une attaque de désauthentification pour révéler l'ESSID
Dans cette étape, vous allez forcer activement la révélation de l'ESSID en utilisant une attaque de désauthentification avec aireplay-ng. Cette attaque envoie des paquets spéciaux à un client connecté, le faisant se déconnecter du réseau. Un client bien configuré tentera alors immédiatement de se reconnecter, et lors de cette poignée de main de reconnexion, il révélera l'ESSID.
Tout d'abord, vous devez ouvrir un nouveau terminal. Ne fermez pas le terminal exécutant airodump-ng.
Dans le nouveau terminal, vous allez construire la commande aireplay-ng. Le format de la commande est :
sudo aireplay-ng --deauth <nombre_de_paquets> -a <BSSID_AP> <interface>
--deauth 5: Nous enverrons 5 paquets de désauthentification.-a <BSSID_AP>: C'est le BSSID du réseau caché que vous avez identifié à l'étape 2.wlan2mon: C'est notre interface de surveillance.
Pour vous faciliter la tâche, vous pouvez obtenir le BSSID à partir du fichier que nous avons préparé. Exécutez cette commande pour lancer l'attaque :
sudo aireplay-ng --deauth 5 -a $(cat /tmp/bssid.txt) wlan2mon
Vous verrez une sortie indiquant que les paquets de désauthentification sont envoyés.
10:05:10 Waiting for beacon frame (BSSID: XX:XX:XX:XX:XX:XX) on channel 6
10:05:10 Sending 64 directed DeAuths. STMAC: [YY:YY:YY:YY:YY:YY] [ 0|63 ACKs]
...
Maintenant, basculez rapidement votre vue vers le premier terminal exécutant airodump-ng pour observer le résultat à l'étape suivante.
Noter l'ESSID révélé dans l'affichage airodump-ng
Dans cette dernière étape, vous observerez les résultats de l'attaque de désauthentification.
Revenez à votre premier terminal, celui où airodump-ng était en cours d'exécution. Après l'attaque de désauthentification, le client s'est reconnecté au point d'accès. Pendant ce processus, airodump-ng a capturé l'ESSID.
La ligne qui affichait précédemment <length: 0> pour l'ESSID devrait maintenant afficher le nom réel du réseau, LabExHidden.
Avant l'attaque :
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:XX:XX -30 10 0 0 6 54e OPN <length: 0>
Après l'attaque :
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:XX:XX -32 25 1 0 6 54e OPN LabExHidden
Vous avez réussi à découvrir l'ESSID du réseau caché !
Vous pouvez maintenant fermer les deux terminaux en tapant exit ou en utilisant Ctrl+C pour arrêter d'abord les processus en cours.
Résumé
Dans ce laboratoire, vous avez appris une technique pratique pour découvrir les réseaux Wi-Fi cachés. Vous avez constaté que masquer un ESSID n'est pas une mesure de sécurité efficace, car il peut être facilement découvert.
Vous avez pratiqué l'utilisation d'outils clés de la suite aircrack-ng :
airodump-ng: Pour scanner les réseaux sans fil et identifier un réseau caché par son ESSID<length: 0>.aireplay-ng: Pour effectuer une attaque de désauthentification, forçant un client connecté à révéler l'ESSID lors de la reconnexion.
Ce processus de surveillance passive suivi d'une attaque active est un concept fondamental dans l'audit de sécurité sans fil.
