Redes Wi-Fi
Como se van a trabajar con múltiples tarjetas de red, como todos los comandos tienen una versión con variables, para que sea más fácil y rápido modificar la información.
Conceptos generales
Esquemas de red Wi-Fi


Estándar IEEE 802.11
El estándar IEEE 802.11 define cómo se empaqueta y transmite la información en redes inalámbricas. Estas unidades de datos se llaman tramas. Comprenderlas es crucial, ya que muchos ataques (como la deautenticación) se basan en crear y falsificar estas tramas para manipular la red.
Todas las comunicaciones 802.11 se basan en una estructura fundamental: la trama MAC. Esta estructura actúa como un contenedor que transporta la información necesaria para que los datos lleguen a su destino.
Campos de tramas MAC
Una trama MAC típica consta de los siguientes campos clave:
Frame Control
Contiene metadatos vitales: tipo y subtipo de trama, versión del protocolo, y flags que indican la dirección del tráfico (hacia/desde el sistema de distribución), si está fragmentado, etc.
Duration/ID
Indica el tiempo que el medio inalámbrico estará ocupado transmitiendo la trama y su acuse de recibo (ACK), ayudando a evitar colisiones.
Direcciones (1-4)
Especifican las direcciones MAC involucradas. Su significado varía según el tipo de trama, pero suelen incluir la MAC del transmisor, receptor, el BSSID del Punto de Acceso (AP), etc.
Sequence Control
Un número de secuencia para ordenar las tramas y detectar duplicados.
Data (Payload)
El contenido real que se está transmitiendo (datos del usuario, información de gestión, etc.).
CRC (FCS)
Frame Check Sequence. Una suma de comprobación de 32 bits para verificar que la trama no se haya corrompido durante el viaje.
Tipos de tramas
Las tramas 802.11 se dividen en tres categorías principales según su función:
Management (Tipo 00): Son los "jefes" de la red. Gestionan la conexión, autenticación y asociación entre clientes y APs. Son nuestro principal foco en pentesting.
Control (Tipo 01): Son los "policías de tráfico". Ayudan a la entrega de las tramas de datos, asegurando el medio (RTS/CTS) y confirmando la recepción (ACK).
Data (Tipo 10): Son los "transportistas". Llevan los datos reales de las aplicaciones de los usuarios.
Para las pruebas de penetración de Wi-Fi, nos centramos principalmente en los marcos de gestión, ya que controlan la vida de la conexión. Analicemos los subtipos más relevantes y sus funciones.
Si buscamos filtrarlos en Wireshark, especificaríamos el tipo general 00 seguido del subtipo específico.
El punto de acceso utiliza principalmente las tramas de baliza ("faros") para comunicar su presencia. Son el "latido" de la red. Incluyen información crítica como el SSID (nombre de la red), los cifrados compatibles, los tipos de autenticación y las velocidades de datos admitidas.
Este proceso permite a los clientes descubrir puntos de acceso cercanos de forma activa.
Probe Request: Independientemente de si una red está oculta o no, un cliente envía una solicitud de sondeo (a veces buscando un SSID específico).
Probe Response: El punto de acceso responde con información sobre sí mismo para que el cliente pueda decidir si conectarse.
Son los primeros pasos formales para unirse a la red. El cliente envía una solicitud al AP para iniciar el proceso. Estas tramas se utilizan principalmente para identificar al cliente ante el punto de acceso (en sistemas abiertos, es un mero trámite antes de la asociación).
Tras el proceso de autenticación inicial, el cliente envía una solicitud de asociación para unirse a la red lógica. El AP responde con una respuesta de asociación indicando si el cliente puede asociarse o no. Una vez asociado, el cliente es parte de la red.
Estas son las tramas de "ruptura". Se envían para terminar la conexión entre el AP y el cliente.
Son críticas para los pentesters: contienen un código de motivo (reason code) que indica por qué se desconecta al cliente.
Uso ofensivo: Falsificamos estas tramas para realizar ataques de denegación de servicio (DoS) y para forzar la desconexión de clientes, obligándolos a reconectarse y así capturar el handshake de seguridad (como el WPA2 de 4 vías).
Ciclo de común de conexión
Ahora que hemos revisado las piezas, veamos cómo encajan. El ciclo de conexión típico (centrándonos en una autenticación WPA2 básica) sigue esta secuencia:
Descubrimiento pasivo/activo: El cliente escucha Beacon Frames o envía Probe Requests y recibe Probe Responses.
Autenticación 802.11: Intercambio de Authentication Request y Response.
Asociación: Intercambio de Association Request y Response.
Autenticación de Seguridad (Handshake): Si la red es segura (WPA/WPA2), aquí ocurre el intercambio de claves (EAPOL Handshake).
Conexión establecida: Transferencia de datos.
Terminación: Envío de Disassociation o Deauthentication.
Tabla del protocolo Wi-Fi IEEE 802.1
802.11ax
2,4 o 5 GHz
20, 40, 80, 160 MHz
802.11ac wave2
5 GHz
20, 40, 80, 160 MHz
802.11ac wave1
5 GHz
20, 40, 80 MHz
802.11n
2,4 o 5 GHz
20, 40 MHz
802.11g
2,4 GHz
20 MHz
802.11a
5 GHz
20 MHz
802.11b
2,4 GHz
20 MHz
Tradicional 802.11
2,4 GHz
20 MHz
Seguridad en redes inalámbricas
Las redes inalámbricas pueden contar con diferentes tipos de seguridad, ante los cuales, variarán los ataques a realizar.
WPS.
WEP.
WPA.
WPA2/WPA3 Personal.
WPA2/WPA3 Enterprise.

Comandos generales
Para mostrar información sobre las interfaces de red y wifi:

Modo monitor
Para la gran mayoría de las pruebas, es necesario tener la interfaz de red en modo monitor y para ello será necesario utilizar una tarjeta wifi compatible con ello.
El modo monitor permite capturar paquetes, de esta forma, es posible obtener información de los puntos de acceso y clientes conectados, entre otros detalles.
Para realizar la captura de paquetes, es necesario cambiar la interfaz a modo monitor (o modo promiscuo). Por defecto, se suele encontrar en modo managed.
Para cambiar el modo de una interfaz, por ejemplo, la wlan0 a modo monitor, se realizarán las siguientes acciones:
Tomar como variable IFACE el nombre de la interfaz de red que se quiera modificar. (ej: wlan0)
Deshabilitar la interfaz de red.
Cerrar (mata 🔪🔪🔪) los procesos de red (sí, te vas a quedar sin internet 🕯️ asegurate de haber instalado antes las herramientas que necesitarás).
Cambiar la interfaz a modo monitor.
Habilitar la interfaz de red.
Mostar información de las interfaces de red inalámbricas.
Por ejemplo, si las redes o SSIDs se encuentran en bandas de 2,4Ghz o 5Ghz, deberemos modificar la configuración de nuestra tarjeta para que trabaje con esa banda y canales correspondientes.
A continuación, se detallan los comandos de acuerdo a las bandas con las que se desee trabajar:
2,4Ghz
5Ghz
Modo managed
Captura de paquetes
Captura básica
Se capturan paquetes utilizando la interfaz de red en cuestión (IFACE) y se guarda la información en un fichero pcap que luego se podrá abrir con wireshark.
Si el nombre del pcap ya existe, se crea un fichero con el mismo nombre seguido de una numeración ascendente, evitando sobreescribir capturas que hayamos realizado anteriormente.
Captura en una banda en concreto
Banda
a:
Bandas
a,byg:
Captura de un ESSID en concreto
Es posible capturar paquetes de un ESSID en concreto haciendo uso de expresiones regulares, esto permitirá focalizar la captura de paquetes en los SSID que tengamos dentro del alcance y guardar la información en un fichero pcap que luego se podrá abrir con wireshark.
Por ejemplo, el comando anterior, realizará una captura utilizando la interfaz wlan0 de todas aquellas redes cuyo SSID coincida con la expresión regular indicada (WIFI_WTF, WIFI_OMG, etc.) y guardará la información en un fichero llamado captura.
Captura de un BSSID en concreto
Tras realizar una primera captura básica donde se pueden observar las redes que se encuentran alrededor, se identifica el/los BSSID (MAC) de la red objetivo y el canal, para realizar una captura solo de información de dicha red (para capturar solo lo que nos interesa y omitir redes fuera del alcance).
Por ejemplo:
Lo mismo, pero con variables:
Análisis de paquetes
Wireshark
Tras capturar tráfico en modo monitor, podemos usar estos filtros de visualización en Wireshark:
Beacon Frames (AP)
Las tramas Beacon (baliza) provenientes del punto de acceso se pueden identificar usando el siguiente filtro de Wireshark:
Probe Request (Cliente)
Las tramas de solicitud de sondeo (Probe Request) provenientes del cliente se pueden identificar usando el siguiente filtro de Wireshark:
Probe Response (AP)
Las tramas de respuesta de sondeo (Probe Response) provenientes del punto de acceso se pueden identificar usando el siguiente filtro de Wireshark:
Autenticación
El proceso de autenticación entre el cliente y el punto de acceso se puede observar usando el siguiente filtro de Wireshark:
Association Request (Cliente)
Una vez completado el proceso de autenticación, la solicitud de asociación de la estación (cliente) se puede ver usando el siguiente filtro de Wireshark:
Association Response (AP)
La respuesta de asociación del punto de acceso se puede ver usando el siguiente filtro de Wireshark:
WPA2 Handshake (EAPOL)
Si la red de ejemplo utiliza WPA2, las tramas EAPOL (el handshake) se pueden ver usando el siguiente filtro de Wireshark:
Desconexión (Deauth/Disassoc)
Una vez que el proceso de conexión se ha completado, la terminación de la conexión se puede visualizar identificando qué parte (cliente o punto de acceso) inició la desconexión. Esto se puede hacer usando el siguiente filtro de Wireshark para capturar tramas de Disociación (10) o tramas de Desautenticación (12):
Deautenticación
Desconectar a todo el mundo o un cliente en específico (ESSID) de un AP.
Para la realización de la mayoría de ataques, cuando no podamos capturar conexiones nuevas en la red, será muy útil realizar un ataque de deautenticación controlado contra clientes de la red objetivo con el fin de desconectar a un usuario/cliente de la red objetivo y capturar la información de autenticación de dicho usuario de acuerdo a la seguridad de la red en cuestión.
Por ejemplo, si la red tiene:
WPA-PSK: Se fuerza al usuario a deautenticarse de la red, podremos capturar el handshake.
WPA-MGT: Se fuerza al usuario a deautenticarse y se capturan credenciales con un AP falso.
Si se quiere evitar realizar ataques de deautenticación, es recomendable capturar paquetes antes de que se realicen nuevas conexiones, por ejemplo, al comienzo de la jornada habitual de los trabajadores o al volver de la hora de comida. Para ello, bien se puede madrugar, o dejar una raspberry PI capturando handshakes y/o un AP falso (aquí es donde empieza a ser útil tener mínimo dos tarjetas de red y, además, cuenten con soporte de la frecuencia del AP más cercano a la posición del dispositivo de ataque).
Deautenticación simple
Para realizar un ataque de deautenticación, es necesario conocer:
La MAC del AP del SSID (red objetivo) del cuál se quiere obtener el handshake.
La MAC de un cliente que se encuentre conectado a dicho AP.
Esta información se puede obtener de la siguiente forma:
Realizar una captura básica para obtener información de las redes cercanas. [Captura básica]
Obtener la MAC de la red objetivo. [Captura de un ESSID en concreto]
Realizar una captura del AP con la MAC obtenida. [Captura de un BSSID en concreto]
Seleccionar la MAC del cliente que se desea deautenticar.
Utilizar airplay-ng para deautenticar al usuario, repetir todas las veces que se considere necesarias para obtener el handshake o credenciales. Si no se consigue obtener un handshake, ponerse en medio o acercarse al cliente objetivo.
Obtención del handshake o credenciales.
De acuerdo a los pasos mencionados anteriormente:
Capturar de redes cercanas o directamente nuestra red objetivo:
Conociendo la MAC (BSSID) de la red objetivo, se realiza una captura de paquetes de dicha red. Aquí pueden pasar dos cosas:
Se realiza una nueva conexión por parte del cliente y se consigue capturar el handshake o credenciales.
Forzamos la nueva conexión del cliente usando la MAC del dispositivo que se quiera deautenticar para capturar el handshake en cuanto se intente conectar al AP (ir al punto 3).
Se realiza la deautenticación del cliente objetivo mientras se capturan paquetes del AP (BSSID) o red (ESSID) en cuestión.
Si se conoce que solo hay un AP en la red, será interesante hacerlo solo de este o del AP más cercano a nuestra posición, esto se puede saber por la potencia de la señal.
En cambio, si la red tiene múltiples AP's, será interesante realizar una captura del ESSID, con el fin de abarcar todos los AP's correspondientes a la red objetivo y tener mayor probabilidad de capturar el handshake.
Mientras se realiza una captura del AP o red (con el comando del punto 2), desde otra terminal se ejecuta el siguiente comando para forzar la deautenticación del cliente:
Lo mismo, con variables:
Realizar la deautenticación hasta obtener un handshake o credenciales. Si no se consigue un resultado favorable, habrá que colocarse físicamente entre el AP y la víctima, a mayor cercanía, más probabilidades de capturar los paquetes.
Deautenticación múltiple
Si se realiza la deautenticación anterior para múltiples usuarios, se puede causar una denegación de servicio en masa.
Obtener nombres de redes ocultas - Hidden SSIDs
Es posible obtener el nombre de redes ocultas si se capturan paquetes de conexiones de clientes a esta red.
Por ejemplo, se identifican las redes disponibles, y posteriormente, se capturan paquetes del BSSID del que se desee obtener el nombre.
Una vez se conecte un usuario, bien de forma trivial o por medio de forzar una nueva conexión deautenticando al usuario, se obtendrá el nombre de la red.
Cracking
Diccionarios
Crunch
Hashcat
Para el cracking de contraseñas desde los pcap capturados, se puede realizar un:
Ataque por diccionario.
Ataque de fuerza bruta.
Para el ataque por diccionario:
Para el ataque por fuerza bruta:
Una vez se obtenga la contraseña, se puede visualizar con el siguiente comando:
Resumen de ataques
[DoS] Denegación de servicio.
Ataque de deautenticación.
Saturación de APs.
[Cracking] Fuerza bruta.
WEP.
WPA-PSK.
Captura de handshake (4-way).
Nueva conexión.
Deautenticación.
Captura de PMKID.
WPS pin.
WPA-MGT.
Captura de nombres de usuario.
Fuerza bruta para obtención de credenciales.
[Fake AP] AP falso.
Red abierta.
Portal cautivo y captura de credenciales.
WPA-PSK.
Captura de handshake y cracking.
WPA-MGT.
Captura de credenciales corporativas.
Captura de nombres de usuarios.
Captura y falsificación de certificados.
[Otros] KARMA, MANA, Loud Mana, Known beacon.
Red abierta.
Portal cautivo y captura de credenciales.
WPA.
Captura de handshake.
Para la adaptación de los ataques de acuerdo a la casuística con la que nos encontremos y la seguridad de las redes objetivo, es muy útil utilizar el siguiente mapa para determinar el flujo de ataque y llevar un mejor control de las pruebas:
https://github.com/koutto/pi-pwnbox-rogueap/blob/main/mindmap/WiFi-Hacking-MindMap-v1.pdf

WEP
WEPWPA/WPA2-PSK
WPA2-PSK / Red personalWPA/WPA2-MGT
WPA2-MGT / Red corporativaWPA3
WPA3Referencias
Última actualización