Capturer le trafic WLAN

La capture de paquets Wi-Fi vous permet de voir les détails et les interactions qui sont autrement masqués avant d'atteindre le logiciel exécuté sur un appareil. Ces captures constituent donc un outil important pour certains types de bugs.

Voici les principales étapes à suivre:

  1. Trouvez le bon canal à renifler.
  2. Captez le trafic.
  3. Partagez la capture et un hachage de votre mot de passe WLAN.

1. Déterminer le bon canal et la bonne largeur

Les réseaux WLAN fonctionnent sur les principes suivants:

  • un canal, généralement désigné par un numéro. 1 à 13 : canaux 2,4 GHz, 36 à 200 : canaux 5 GHz
  • avec une largeur spécifique (20 MHz, 40 MHz, 80 MHz ou 160 MHz)

Chaque point d'accès (routeur, nœud de réseau maillé, par exemple) de votre réseau dispose généralement d'un canal 2,4 GHz et d'un canal 5 GHz uniques.Vous devez déterminer à quel canal l'appareil est connecté. Plusieurs possibilités s'offrent à vous :

Utiliser le panneau de configuration de votre routeur

Si vous utilisez Nest WiFi, ignorez cette option, car les informations ne sont pas exposées.

La plupart des routeurs contiennent une liste des appareils connectés, ainsi que le canal et la largeur qu'ils utilisent.

  1. Recherchez l'adresse IP de votre routeur à l'aide de ce guide.
  2. Accédez à l'adresse de votre routeur dans votre navigateur Web, par exemple http://192.168.1.1.
  3. Connectez-vous. Vous ne connaissez pas votre mot de passe ? Recherchez une étiquette sur votre routeur ou utilisez Router Passwords.
  4. Recherchez une page intitulée "clients" ou "appareils connectés", par exemple. Par exemple, une page de routeur Netgear peut ressembler à celle-ci, ou à celle des appareils Eero.

    Vue client Netgear

  5. Vous devrez peut-être chercher ailleurs dans les paramètres pour mapper les informations de l'étape 4 à un canal et une bande passante spécifiques. Par exemple, un routeur Netgear:

    Vue des chaînes Netgear

Utiliser votre Mac, s'il est déjà connecté au même canal

Maintenez la touche Option enfoncée sur votre clavier, puis cliquez sur l'icône WLAN en haut à droite de la barre d'état de votre Mac. Le menu WLAN standard s'affiche, avec quelques options et informations supplémentaires. Examinez les éléments de menu indisponibles et recherchez celui qui mentionne "Chaîne" :

`Channel 60 (DFS, 5GHz, 40MHz)`

Mac WLAN

Impossible de trouver le canal et la largeur

Si les autres méthodes ne fonctionnent pas, vous pouvez essayer les solutions suivantes:

  1. Indiquez tous les canaux utilisés par vos points d'accès (généralement deux pour chaque point d'accès ou point d'accès en réseau maillé).

    a. Recommandé : Avec un téléphone Android, vous pouvez utiliser une application comme Wifiman ou Aruba Utilities.

    a. Sur un Mac, vous pouvez utiliser /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s pour afficher les options.

  2. Effectuez une capture courte (même 15 secondes suffisent) sur chacun de ces canaux, en suivant les instructions ci-dessous.

  3. Installez Wireshark (pour obtenir de l'aide, consultez la section Installer Wireshark).

  4. Ouvrez chacune des captures à l'aide de Wireshark, appliquez un filtre d'affichage de wlan.addr == YOUR_DEVICE'S_MAC et vérifiez si des paquets s'affichent.

2. Démarrer la capture

Important: Capturer le four-way handshake

Si la sécurité est activée pour le Wi-Fi, vous devez connaître les clés de chiffrement pour déchiffrer les paquets capturés. Les clés de chiffrement sont dérivées d'un échange de quatre étapes qui se produit lorsque l'appareil se connecte au réseau. Elles sont uniques pour chaque connexion entre un appareil et le point d'accès.

Par conséquent, vous DEVEZ capturer le handshake à quatre voies pour déchiffrer les charges utiles Wi-Fi. Si l'appareil est déjà connecté au réseau lorsque vous démarrez la capture, déconnectez-le, puis reconnectez-le (ou redémarrez-le) une fois le reniflage lancé.

Capturer une photo sur Mac

En maintenant enfoncée la touche Option de votre clavier, cliquez sur l'icône WLAN, puis sélectionnez "Ouvrir les diagnostics sans fil":

Capture WLAN Mac

Dans la barre de menu des diagnostics sans fil, sélectionnez Window > Sniffer (Fenêtre > Analyseur de paquets) :

Mac WLAN Sniffer

Définissez le canal et la largeur sur les valeurs que vous avez récupérées précédemment (l'exemple de capture d'écran est pour le canal 60 et la largeur de 40 MHz):

Canal et largeur WLAN Mac

Appuyez sur Start, puis saisissez votre mot de passe. Essayez maintenant de reproduire le problème. Assurez-vous de capturer le handshake à quatre maillons à partir d'une connexion, comme indiqué dans la section Capturer le handshake à quatre maillons.

Une fois que vous avez terminé, appuyez sur Stop. Un nouveau fichier *.pcap se trouve dans /var/tmp, qui contient tout le trafic. Voici un exemple de nom de fichier : (null)_ch100_2018-11-06_10.52.01.pcap.

Capturer des images sur Linux

  1. Désactivez le Wi-Fi. Pour ce faire, procédez comme suit:

    • Utiliser l'IUG (recommandé)
    • Utilisation de la CLI Network Manager pour lui demander d'arrêter de gérer l'interface WLAN: sudo nmcli dev set <wlan-ifname> managed on
    • Si vous utilisez un autre gestionnaire de réseau, ajustez-le en conséquence.
  2. Enregistrez ce script. Remplacez <wlan-ifname> par le nom de votre interface Wi-Fi. Dans ce document, nous partons du principe que le nom du script est setup-wifi-capture.

    #!/usr/bin/env bash
    sudo ifconfig <wlan-ifname>  down
    sudo rfkill unblock wifi
    sudo iwconfig <wlan-ifname>  mode monitor
    sudo ifconfig <wlan-ifname>  up
    sudo iw dev <wlan-ifname> set channel $@
  3. Exécutez le script précédent et transmettez le canal et la bande passante la plus élevée à analyser, par exemple le canal 153 avec une bande passante de 80 MHz:

    ./setup-wifi-capture chan 153 80 MHz
  4. Ouvrez Wireshark. Vous devriez maintenant pouvoir capturer des paquets sur l'interface wlan.

3. Partager la capture

  1. Utilisez le Générateur de PSK (clé brute) WPA pour générer un hachage de votre mot de passe. Cela vous permet de déchiffrer la capture sans connaître votre mot de passe en texte brut.

  2. Vous devez également partager le PSK généré pour que d'autres utilisateurs puissent déchiffrer la capture.

Annexe

Installer Wireshark

Vous pouvez installer Wireshark à l'aide de la commande apt install wireshark sur Linux ou le télécharger en ligne sur le site Web de Wireshark.

Configurer Wireshark pour déchiffrer le trafic

Ce n'est pas nécessaire pour partager vos fichiers de capture. Ne le faites que si vous souhaitez examiner vous-même le trafic déchiffré dans Wireshark.

Avec la sécurité WPA2 sur le Wi-Fi, le WPA2-PSK n'est pas utilisé directement pour le chiffrement et le déchiffrement du trafic. Il est utilisé dans un four-way handshake, que vous devez capturer pour déchiffrer les paquets. Toutefois, si vous essayez uniquement de capturer des problèmes de connexion au Wi-Fi ou des pertes de connectivité, qui peuvent être obtenus à partir des trames de gestion Wi-Fi, vous n'avez pas besoin de capturer l'échange de clés à quatre voies. Dans tous les cas, il est toujours utile de le faire.

Ouvrez Wireshark, puis la page "Préférences" (menu Wireshark > Préférences ou **Cmd + , **).

  1. Recherchez la section "IEEE 802.11" dans la catégorie "Protocoles" et assurez-vous que l'option "Activer le déchiffrement" est cochée:

    Préférences Wireshark pour Mac

  2. Cliquez sur le bouton Modifier à côté du libellé Clés de déchiffrement.

  3. Cliquez sur le bouton + en bas à gauche, puis sélectionnez l'option "wpa-pwd".

    Mac Wireshark WPA et mot de passe

  4. Cliquez sur la colonne de clé de la ligne nouvellement créée (juste à côté de la chaîne wpa-pwd), puis saisissez votre PSK WPA2 et votre SSID au format <password>:<ssid>. Par exemple, si le nom de votre réseau était MyHomeNetwork et que votre PSK WPA2 était myp4ssword, saisissez myp4ssword:MyHomeNetwork.

    SSID Wireshark sur Mac

  5. Cliquez sur "OK" pour confirmer.

Pour en savoir plus, consultez le guide officiel de Wireshark (avec des captures d'écran) à l'adresse How to Decrypt 802.11 (Comment déchiffrer le protocole 802.11).

Si vous utilisez tshark, transmettez les arguments suivants:

tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'

Colorier les données 802.11 de Wireshark

Vous trouverez un profil de couleurs 802.11 pratique sur metageek.com : Profil de configuration Wireshark.