Captura de tráfico de WLAN

La captura de paquetes de Wi-Fi te permite ver detalles e interacciones que, de lo contrario, se enmascaran antes de llegar al software que se ejecuta en un dispositivo, lo que hace que estas capturas sean una herramienta importante para algunos tipos de errores.

Los pasos principales son los siguientes:

  1. Encuentra el canal correcto para rastrear.
  2. Captura el tráfico.
  3. Comparte la captura y un hash de tu contraseña de WLAN.

1. Determina el canal y el ancho adecuados

Las redes WLAN operan en:

  • un canal, que suele denominarse con un número. Del 1 al 13, son para canales de 2.4 GHz, y del 36 al 200, para canales de 5 GHz
  • con un ancho específico (20 MHz, 40 MHz, 80 MHz o 160 MHz)

Cada punto de acceso (por ejemplo, router o nodo de malla) de tu red suele tener un canal único de 2.4 GHz y uno de 5 GHz, y debes averiguar a cuál está conectado el dispositivo. Tienes las siguientes opciones:

Usa el panel de control del router

Si usas Nest WiFi, omite esta opción, ya que la información no se expone.

La mayoría de los routers tienen una lista de dispositivos conectados y el canal y el ancho que usan.

  1. Busca la dirección IP de tu router con esta guía.
  2. Ve a la dirección del router en el navegador web, por ejemplo, http://192.168.1.1.
  3. Accede. ¿No sabes cuál es tu contraseña? Busca una etiqueta en el router o usa Router Passwords.
  4. Busca una página que se llame "clientes" o "dispositivos conectados". Por ejemplo, una página de router Netgear podría verse como la siguiente o para dispositivos Eero.

    Vista del cliente de Netgear

  5. Es posible que debas buscar en otra parte de la configuración para asignar la información del paso 4 a un canal y un ancho de banda específicos. Por ejemplo, un router Netgear:

    Vista de canales de Netgear

Usa tu Mac si ya está conectada al mismo canal

Mantén presionada la tecla Option en el teclado y, luego, haz clic en el ícono de WLAN en la esquina superior derecha de la barra de estado de la Mac. Deberías ver el menú de WLAN habitual con algunas opciones y más información. Revisa los elementos del menú que no están disponibles y busca el que menciona Canal:

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

WLAN de Mac

No se puede encontrar el canal ni el ancho

Si los otros métodos no funcionan, puedes probar lo siguiente:

  1. Enumera todos los canales que usan tus AP (por lo general, 2 para cada AP o punto de malla).

    a. Recomendado Con un teléfono Android, puedes usar una app como Wifiman o Aruba Utilities.

    a. En una Mac, puedes usar /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s para ver una lista de opciones.

  2. Realiza una captura breve (incluso 15 segundos es suficiente) en cada uno de esos canales con las instrucciones que se indican a continuación.

  3. Instala Wireshark (para obtener ayuda, consulta Instala Wireshark).

  4. Abre cada una de las capturas con Wireshark, aplica un filtro de visualización de wlan.addr == YOUR_DEVICE'S_MAC y observa si aparece algún paquete.

2. Inicia la captura

Importante: Captura el protocolo de enlace de 4 vías

Si la seguridad está activada para la conexión Wi-Fi, debes conocer las claves de encriptación para desencriptar los paquetes capturados. Las claves de encriptación se derivan de un protocolo de enlace de 4 vías que se produce cuando el dispositivo se conecta a la red y son únicas para cada conexión entre un dispositivo y el AP.

Por este motivo, DEBES capturar el protocolo de enlace de 4 vías para desencriptar las cargas útiles de Wi-Fi. Si el dispositivo ya está conectado a la red cuando inicias la captura, desconéctalo y vuelve a conectarlo (o reinícialo) una vez que comience la detección.

Cómo capturar contenido en una Mac

Mientras mantienes presionada la tecla Option en el teclado, haz clic en el ícono de WLAN y, luego, selecciona "Abrir Diagnóstico inalámbrico…":

Captura de WLAN en Mac

En la barra de menú de Diagnóstico de conexión inalámbrica, selecciona Window > Sniffer:

Analizador de WLAN para Mac

Establece el canal y el ancho en los valores que recuperaste antes (el ejemplo de la captura de pantalla es para el canal 60 y el ancho de 40 MHz):

Ancho y canal de WLAN de Mac

Presiona Start y, luego, ingresa tu contraseña. Ahora, intenta reproducir el problema. Asegúrate de capturar el protocolo de enlace de 4 vías de una conexión, como se indica en Captura el protocolo de enlace de 4 vías.

Cuando termines, presiona Stop. Se puede encontrar un nuevo archivo *.pcap en /var/tmp, que contiene todo el tráfico. Un ejemplo de nombre de archivo es el siguiente: (null)_ch100_2018-11-06_10.52.01.pcap.

Cómo capturar en Linux

  1. Desactiva el Wi-Fi. Esto se puede hacer de las siguientes maneras:

    • Usa la GUI (recomendado)
    • Usa la CLI de Network Manager para indicarle que deje de administrar la interfaz de WLAN: sudo nmcli dev set <wlan-ifname> managed on
    • Si usas un administrador de red alternativo, realiza los ajustes correspondientes.
  2. Guarda esta secuencia de comandos. Reemplaza <wlan-ifname> por el nombre de tu interfaz de Wi-Fi. En este documento, se supone que el nombre de la secuencia de comandos es 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. Ejecuta la secuencia de comandos anterior y pasa el canal y el ancho de banda más alto para detectar, por ejemplo, el canal 153 con un ancho de banda de 80 MHz:

    ./setup-wifi-capture chan 153 80 MHz
  4. Abre Wireshark y, ahora, deberías poder capturar paquetes en la interfaz de WLAN.

3. Comparte la captura

  1. Usa el generador de WPA PSK (clave sin procesar) para generar un hash de tu contraseña. Esto te permite desencriptar la captura sin conocer tu contraseña en texto sin formato.

  2. También debes compartir la PSK generada para que otras personas puedan desencriptar la captura.

Apéndice

Instala Wireshark

Puedes instalar Wireshark con apt install wireshark en Linux o descargarlo en línea desde el sitio web de Wireshark.

Configura Wireshark para desencriptar el tráfico

Esto no es necesario para compartir tus archivos de captura, solo hazlo si quieres examinar el tráfico desencriptado en Wireshark.

Con la seguridad WPA2 en Wi-Fi, la WPA2-PSK no se usa directamente para la encriptación y desencriptación del tráfico. Se usa en un protocolo de enlace de 4 vías, que debes capturar para desencriptar paquetes. Sin embargo, si lo único que intentas capturar son problemas de conexión a Wi-Fi o caídas en la conectividad, que se pueden obtener de los marcos de administración de Wi-Fi, no necesitas capturar el protocolo de enlace de 4 vías. En cualquier caso, no está de más capturarlo de todos modos.

Abre Wireshark y la página Preferencias (menú de Wireshark > Preferencias o **Cmd + , **).

  1. Busca la sección "IEEE 802.11" en la categoría "Protocols" y asegúrate de que la opción "Enable decryption" esté marcada:

    Preferencias de Wireshark para Mac

  2. Haz clic en el botón Editar junto a la etiqueta Claves de desencriptación.

  3. Haz clic en el botón "+" en la esquina inferior izquierda y selecciona la opción "wpa-pwd".

    Contraseña y WPA de Wireshark para Mac

  4. Haz clic en la columna de clave de la fila recién creada (justo al lado de la cadena wpa-pwd) y escribe tu PSK y SSID de WPA2 en el formato de <password>:<ssid>. Por ejemplo, si el nombre de tu red fuera MyHomeNetwork y tu PSK de WPA2 fuera myp4ssword, escribe myp4ssword:MyHomeNetwork.

    SSID de Wireshark para Mac

  5. Haz clic en Aceptar para confirmar.

Para obtener más información, consulta la guía oficial de Wireshark (con capturas de pantalla) en Cómo desencriptar 802.11.

Si usas tshark, pasa los siguientes argumentos:

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

Colorea los datos de Wireshark 802.11

Hay un perfil de color 802.11 útil ubicado en metageek.com: Perfil de configuración de Wireshark.