Hacking WiFi - Análisis de Paquetes
En esta ocasión, vamos a analizar una captura de entorno y los paquetes que podemos obtener cuando un dispositivo se conecta a una AP, analizaremos cada paquete que trabaja en este proceso con tal de entender un poco el funcionamiento de cada paquete y como estos nos pueden ayudar a identificar dispositivos y APs que estan en constante comunicación.
DISCLAIMER:
La información proporcionada en este blog, es solo con fines educativos e informativos. No me hago responsable de cómo se use o interprete la información aquí proporcionada. Es importante que se utilice esta información de manera responsable y ética. Cualquier daño o consecuencia causada por el mal uso de la información aquí proporcionada, es responsabilidad exclusiva del lector.
Índice
- Análisis de Paquetes
- Análisis de Paquetes: Probe Request
- Análisis de Paquetes: Probe Response
- Análisis de Paquetes: Association Request
- Análisis de Paquetes: Association Response
- Análisis de Paquetes: Beacon
- Análisis de Paquetes: Authentication
- Análisis de Paquetes: Deauthentication
- Análisis de Paquetes: Disassociation
- Links de Investigación
Análisis de Paquetes
Cuando un cliente se autentica y se asocia a un AP, existe un intercambio de paquetes entre ambas partes que les permiten negociar la conexión y, posteriormente, intercambiar paquetes de datos.
Este proceso se realiza en una serie de pasos:
-
1.- Envío de paquetes Probe Request por el cliente: El cliente inicia el proceso enviando paquetes de tipo Probe Request de manera broadcast. Estos paquetes están dirigidos a cualquier AP dentro del rango y tienen como objetivo descubrir redes Wi-Fi disponibles. El cliente puede estar buscando redes específicas (mediante el SSID) o cualquier red abierta, según su configuración.
-
2.- Recepción de paquetes Probe Response por parte del AP: Los APs que reciben un paquete Probe Request responden con un paquete Probe Response, que contiene información esencial sobre la red, como el SSID, las capacidades del AP (velocidades, tipos de cifrado soportados, etc.), y otros detalles que el cliente puede necesitar para decidir a qué AP conectarse.
-
3.- Proceso de autenticación: Una vez que el cliente ha identificado un AP al que quiere conectarse, comienza el proceso de autenticación. En redes abiertas, este paso puede ser mínimo, pero en redes protegidas con WPA/WPA2, se produce un intercambio de claves para establecer una conexión segura. En el caso de WPA2, por ejemplo, se utiliza el Four-Way Handshake, que negocia claves temporales para cifrar la comunicación.
-
4.- Asociación: Después de autenticarse, el cliente envía un paquete de asociación al AP. Este paso finaliza el proceso de conexión, y a partir de este momento, ambos pueden intercambiar paquetes de datos a través de la red.
Todo el proceso se resume en el siguiente intercambio de paquetes:
“Probe Request” → “Probe Response” → “Authentication Request” → “Authentication Response” → “Association Request” → “Association Response” → “Four-Way Handshake” → “Deauthentication” → “Disassociate” → “Beacon Frames”.
Vamos a analizar cada uno de esos paquetes aplicando filtros y usando Tshark, la cuestión es que solamente se cambiara un número para aplicar los filtros.
Te muestro el número al que pertenecen estos paquetes:
- Probe Request = 4
- Probe Response = 5
- Association Request = 0
- Association Response = 1
- Beacon Frame = 8
- Authentication = 11
- Deauthentication = 12
- Desassociate = 10
Además, voy a dejar las definiciones del Three-Way y Four-Way Handshake.
Three-Way Handshake |
---|
El Three-Way Handshake es un proceso utilizado por el protocolo TCP (Transmission Control Protocol) para establecer una conexión fiable entre dos dispositivos en una red. Es el primer paso en la transmisión de datos a través de TCP y asegura que ambos extremos estén listos para el intercambio de información. |
Estos son los pasos que se siguen para obtener el Three-Way Handshake:
Pasos | Descripción |
---|---|
1.- SYN (Synchronize) | El cliente que desea establecer una conexión envía un segmento SYN al servidor. Este segmento contiene un número de secuencia inicial (ISN), que será utilizado para numerar los bytes que se transmitan posteriormente. |
2.- SYN-ACK (Synchronize-Acknowledge) | El servidor recibe el SYN y responde con un segmento SYN-ACK. En este paso, el servidor reconoce el número de secuencia del cliente y también envía su propio número de secuencia inicial. |
3.- ACK (Acknowledge) | Finalmente, el cliente recibe el SYN-ACK y responde con un segmento ACK. Este segmento confirma que el cliente ha recibido el número de secuencia del servidor, y la conexión queda establecida. |
Una vez completado el Three-Way Handshake, ambos extremos han acordado los números de secuencia iniciales y la conexión TCP está lista para el intercambio de datos de manera fiable.
Ahora veamos el Four-Way Handshake:
Four-Way Handshake |
---|
El Four-Way Handshake es un protocolo de autenticación utilizado en redes Wi-Fi protegidas con WPA o WPA2 para establecer una conexión segura entre el cliente (estación) y el punto de acceso (AP). Su objetivo es generar y confirmar claves de cifrado que serán utilizadas para proteger los datos transmitidos entre ambos. |
Pasos | Descripción |
---|---|
Paso 1: El AP envía un Nonce aleatorio | El punto de acceso envía un número aleatorio (llamado ANonce) al cliente. Este nonce será utilizado junto con la clave precompartida (PSK) o la clave derivada del servidor de autenticación (si se utiliza WPA-Enterprise) para generar la clave temporal de sesión (PTK). |
Paso 2: El cliente genera el PTK y envía su propio Nonce | El cliente recibe el ANonce y utiliza la PSK, junto con el ANonce y su propio nonce (llamado SNonce), para calcular la clave temporal (PTK). Luego, el cliente envía el SNonce al AP. |
Paso 3: El AP confirma el PTK y envía la clave temporal del grupo (GTK) | El AP utiliza el SNonce recibido del cliente para generar la misma PTK. Si ambas claves coinciden, el AP envía un mensaje que contiene la clave temporal del grupo (GTK) cifrada con la PTK al cliente. Esta clave es utilizada para la comunicación en multicast y broadcast dentro de la red. |
Paso 4: El cliente confirma la recepción de la GTK | Finalmente, el cliente envía un mensaje de confirmación al AP, indicando que ha recibido y establecido correctamente las claves PTK y GTK. |
Una vez completado el Four-Way Handshake, tanto el cliente como el AP comparten las claves necesarias para cifrar la comunicación y la transmisión de datos puede comenzar de forma segura.
La razón de poner las definiciones de estos dos, es porque más adelante puede que se mencionen y con este contexto dado se entendera mejor.
Análisis de Paquetes: Probe Request
Vamos a poner la defición de este paquete:
Paquete Probe Request |
---|
Un paquete Probe Request es un tipo de trama de administración en redes Wi-Fi, específicamente del estándar IEEE 802.11, que es enviado por un dispositivo cliente (como un teléfono, laptop o tablet) para detectar puntos de acceso (APs) cercanos. La función principal de este paquete es buscar redes Wi-Fi disponibles para que el cliente pueda conectarse. |
Veamos un poco las caracteristicas que tiene este paquete:
Caracteristicas | Descripción |
---|---|
Dirección de destino (MAC) | El paquete se envía como broadcast, lo que significa que está destinado a todos los APs dentro del alcance. Por lo tanto, la dirección de destino será FF:FF:FF:FF:FF |
SSID (Service Set Identifier | En un Probe Request, el SSID puede estar especificado si el cliente está buscando una red en particular. Si el SSID está vacío o es “wildcard”, el cliente está solicitando respuestas de cualquier AP disponible. |
Tasa de transmisión soportada | El cliente indica las tasas de datos que es capaz de manejar. Esto ayuda a que los APs sepan cómo ajustar su comunicación. |
Información adicional | Dependiendo de las capacidades del cliente, el Probe Request puede incluir campos como el soporte para ciertos protocolos de seguridad (WPA, WPA2) o modos de operación (por ejemplo, 802.11n, 802.11ac). |
El AP que recibe un Probe Request responde con un Probe Response, proporcionando información sobre sí mismo, incluyendo su SSID, capacidades de seguridad y más, lo que ayuda al cliente a decidir a qué AP conectarse.
Quedamos que los paquetes Probe Request son los que el cliente envía a todos los AP cercanos, siendo que es una petición del tipo “Soy un cliente nuevo y busco APs en el área, envienme sus SSID”.
Los paquetes Probe Request se obtienen mejor cuando ocurre el Handshake, por lo que te recomiendo tratar de conectar un dispositivo para obtener el Handshake, mientras analizas el entorno:
airodump-ng -c 11 -w Captura --essid Wifi_Salon wlan0
15:23:25 Created capture file "Captura-01.cap".
CH 11 ][ Elapsed: 18 s ][ 2023-05-23 15:23 ][ WPA handshake: MAC:DE:MI:CEL:XD
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
MAC:Wi:Fi:Sa:lon:XD -56 96 174 46 4 11 130 WPA2 CCMP PSK Wifi_Salon
BSSID STATION PWR Rate Lost Frames Notes Probes
(not associated) **:**:**:**:**:** -32 0 - 1 0 2 Wifi_Vecino >
(not associated) **:**:**:**:**:** -32 0 - 1 0 2 Wifi_Vecino2 >
MAC:Wi:Fi:Sa:lon:XD MAC:DE:MI:CEL:XD -88 1e-24 6 324 EAPOL Wifi_Salon
Para encontrar estos paquetes, podemos utilizar la herramienta Tshark para poder filtrar una captura de data y encontrar dichos paquetes.
Necesitaremos una captura de data y poner los siguiente parámetros, como mencione antes, se debío haber capturado un Handshake:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==4" 2>/dev/null
Debo mencionar que no esta mal si no se captura ningún paquete, pues es posible que tarde mucho en aparecer uno (en mi caso, no pude capturar ninguno).
Puedes comprobar la cantidad de paquetes capturados con el comando wc:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==4" 2>/dev/null | wc -l
0
Vamos a aplicar otros filtros, para especificar que encuentre la MAC de un dispositivo o para que nos muestre información sobre los frames que se compartieron en los paquetes.
Análisis de Paquetes: Probe Response
Vamos a poner la defición de este paquete:
Paquete Probe Response |
---|
Un paquete Probe Response es una trama de administración en redes Wi-Fi (IEEE 802.11) que es enviada por un punto de acceso (AP) en respuesta a un paquete Probe Request recibido de un cliente. Su objetivo es proporcionar información detallada sobre el AP para que el cliente pueda decidir si conectarse a esa red. |
Veamos un poco las caracteristicas que tiene este paquete:
Caracteristicas | Descripción |
---|---|
Dirección de destino (MAC) | La dirección MAC del cliente que envió el Probe Request. Es un paquete unicast, es decir, dirigido específicamente a ese cliente. |
SSID (Service Set Identifier) | Contiene el SSID de la red del AP que responde. Si el cliente buscaba una red específica, este campo coincide con el SSID solicitado. Si el cliente solicitó redes abiertas, el AP proporciona su propio SSID. |
Capacidades del AP | El Probe Response incluye información sobre las capacidades del AP, como los estándares soportados (802.11a/b/g/n/ac), tasas de transmisión disponibles, y características adicionales, como canales disponibles y modos de operación. |
Métodos de autenticación y cifrado | El AP informa al cliente sobre los métodos de seguridad soportados, como WPA/WPA2, y el tipo de cifrado utilizado (AES, TKIP). |
Intervalo de beacon | Especifica la frecuencia con la que el AP envía beacons, que son tramas de administración periódicas para anunciar la existencia de la red. |
Información adicional | Puede incluir detalles como el tiempo de actividad del AP, restricciones de acceso, y otros parámetros que ayudan al cliente a tomar una decisión sobre la conexión. |
El Probe Response le proporciona al cliente toda la información necesaria para evaluar si se puede conectar al AP, incluyendo detalles sobre seguridad, capacidades, y configuración de la red.
Aplicamos el mismo filtro, pero cambiamos el número solamente:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==5" 2>/dev/null
1020 4.141850 MAC:Wi:Fi:Sa:lon:XD → MAC:DE:MI:CEL:XD 802.11 304 Probe Response, SN=1448, FN=0, Flags=....R..., BI=100, SSID="Wifi_Salon"
...
...
...
Puedes ver que hay muchas respuestas como el ejemplo anterior:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==5" 2>/dev/null | wc -l
85
Si le aplicamos al filtro el parámetro Json, mostrara mucho más detallado todo, pero lo que nos interesa es solamente ver la MAC de nuestro dispositivo que se conecto:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==5" -Tjson 2>/dev/null | grep MAC:DE:MI:CEL:XD
"wlan.ra": "MAC:DE:MI:CEL:XD",
"wlan.ra_resolved": "MAC:DE:MI:CEL:XD",
"wlan.addr": "MAC:DE:MI:CEL:XD"
Pueden salir varios resultados tipo “wlan.#”, aquí pongo que significan:
- Dirección de destino (da): Destinatario final del frame.
- Dirección de origen (sa): Fuente original del frame.
- Dirección del receptor (ra): Receptor inmediato del frame.
- Dirección del receptor resolvida (ra_resolved): La dirección ha sido resuelta, lo que significa que ha sido interpretada o traducida a una forma más legible o comprensible.
- Dirección del transmisor (ta): Remitente inmediato del frame.
- Dirección (addr): Dirección MAC (Media Access Control) en una trama 802.11.
- Fragmento (frag): Representa el número de fragmento de una trama 802.11.
- Número de secuencia (seq): Representa el número de secuencia de la trama 802.11.
En el siguiente link se explica mejor de que van cada uno, esta en inglés, pero vale la pena entender de que van esos tipos de frame, aunque el unico que nos interesa es el .addr:
Con esto podemos saber cuantos paquetes Probe Response se enviaron, también este filtro aplica para cualquier tipo de paquete.
Veamos cuantos paquetes se enviaron:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==5" -Tjson 2>/dev/null | grep MAC:DE:MI:CEL:XD | wc -l
78
Se mandaron 78 paquetes, pero te recuerdo, nos interésa ver paquetes con el frame .addr.
Ahora, veamos que MACs mandaron paquetes:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==5" -Tfields -e wlan.addr 2>/dev/null
**:**:**:**:**:**,MAC:Wi:Fi:Sa:lon:XD,MAC:Wi:Fi:Sa:lon:XD
**:**:**:**:**:**,MAC:Wi:Fi:Sa:lon:XD,MAC:Wi:Fi:Sa:lon:XD
...
...
...
Podemos filtrar para que nos muestre las MACs unicas porque hay varias que se repiten:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==5" -Tfields -e wlan.addr 2>/dev/null | tr ',' '\n' | sort -u
**:**:**:**:**:**
**:**:**:**:**:**
MAC:DE:MI:CEL:XD
MAC:Wi:Fi:Sa:lon:XD
...
...
...
Y veamos cuantas MACs son:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==5" -Tfields -e wlan.addr 2>/dev/null | tr ',' '\n' | sort -u | wc -l
29
Excelente, vemos que hay varios dispositivos que mandaron paquetes, estos tienen frames tipo wlan.addr y otros tipos.
Nos viene bien saber que dispositivos han enviado esta clase de datos, porque podremos identificar cuales son los que estan conectados al AP.
Análisis de Paquetes: Association Request
Vamos a poner la defición de este paquete:
Paquete Association Request |
---|
El paquete Association Request es una trama de administración enviada por el cliente al punto de acceso (AP) después de haber identificado el AP al que desea conectarse. Su función es solicitar la asociación del cliente a la red inalámbrica, permitiendo así el intercambio de datos. |
Veamos un poco las caracteristicas que tiene este paquete:
Caracteristicas | Descripción |
---|---|
Dirección de destino (MAC) | Es la dirección MAC del AP al que el cliente desea asociarse. |
SSID (Service Set Identifier) | El paquete incluye el SSID de la red que el cliente intenta asociar, asegurándose de que está solicitando acceso a la red correcta. |
Tasas de transmisión soportadas | El cliente informa al AP sobre las tasas de datos que puede manejar, lo que permite que el AP optimice la conexión para el cliente. |
Capacidades del cliente | El paquete contiene información sobre las capacidades del cliente, como el soporte para ciertos modos de operación (802.11n, 802.11ac), y características adicionales como MIMO (Multiple Input Multiple Output). |
Métodos de seguridad soportados | Si la red está protegida (por ejemplo, WPA/WPA2), el Association Request incluye información sobre los métodos de seguridad que el cliente puede utilizar. |
El cliente envía una petición Association Request al AP para que este establezca la conexión con el cliente y le asigne una dirección IP valida (típicamente por medio de un servidor DHCP).
Apliquemos el filtro para ver los paquetes que se mandaron:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==0" 2>/dev/null
6702 19.014720 MAC:DE:MI:CEL:XD → MAC:Wi:Fi:Sa:lon:XD 802.11 162 Association Request, SN=2910, FN=0, Flags=........, SSID="Wifi_Salon"
...
...
...
Veamos cuantos se mandaron:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==0" 2>/dev/null | wc -l
4
Solamente 4 paquetes o son los unicos que capturamos, ahora veamos que dispositivos mandaron frames tipo wlan.addr:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==0" -Tfields -e wlan.addr 2>/dev/null | tr ',' '\n' | sort -u
MAC:Wi:Fi:Sa:lon:XD
MAC:DE:MI:CEL:XD
Solamente aparecen 2, que son los que deberían, ya que son los que ya estan en comunicación.
Análisis de Paquetes: Association Response
Vamos a poner la defición de este paquete:
Paquete Association Response |
---|
El paquete Association Response es una trama de administración enviada por el AP en respuesta a un Association Request. Informa al cliente si la solicitud de asociación fue aceptada o rechazada y proporciona detalles adicionales sobre la configuración de la conexión. |
Veamos un poco las caracteristicas que tiene este paquete:
Caracteristicas | Descripción |
---|---|
Código de estado | Indica si la solicitud de asociación fue exitosa. Si fue rechazada, el código de estado especifica la razón (por ejemplo, el AP puede estar lleno o no soportar las capacidades del cliente). |
Dirección de destino (MAC) | Es la dirección MAC del cliente que envió la solicitud de asociación. |
Tasas de transmisión soportadas | El AP confirma las tasas de datos que el cliente puede utilizar en la red. |
Identificador de asociación (AID) | El AP asigna un Identificador de Asociación (AID) al cliente. Este identificador es único para cada cliente conectado al AP y se usa para gestionar las conexiones activas. |
Parámetros adicionales | El paquete puede contener información adicional, como detalles sobre los intervalos de potencia o configuraciones de ahorro de energía. |
Después de que el cliente manda el paquete Association Request y el AP lo recibiera, el AP envía un paquete Association Response el cual contiene la respuesta exitosa o fallida de la asociación del cliente con el AP.
Apliquemos el filtro:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==1" 2>/dev/null
6705 19.016616 MAC:DE:MI:CEL:XD → MAC:Wi:Fi:Sa:lon:XD 802.11 145 Association Response, SN=1639, FN=0, Flags=........
17768 47.209053 MAC:DE:MI:CEL:XD → MAC:Wi:Fi:Sa:lon:XD 802.11 145 Association Response, SN=2030, FN=0, Flags=........
19789 51.769913 MAC:DE:MI:CEL:XD → MAC:Wi:Fi:Sa:lon:XD 802.11 145 Association Response, SN=2105, FN=0, Flags=....R...
Se mandaron 3 paquetes.
Veamos la cantidad de frames:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==1" -Tfields -e wlan.addr 2>/dev/null | tr ',' '\n' | sort -u | wc -l
2
Se obtuvieron unicamente 2 frames.
Análisis de Paquetes: Beacon
Vamos a poner la defición de este paquete, ya hemos visto este paquete antes, pero vamos a profundizar un poco más:
Paquete Beacon |
---|
El paquete Beacon es una trama de administración que es periódicamente enviada por un punto de acceso (AP) para anunciar la presencia de la red Wi-Fi a los dispositivos cercanos. Los dispositivos escanean constantemente para encontrar estos paquetes y así identificar redes disponibles. |
Veamos un poco las caracteristicas que tiene este paquete:
Caracteristicas | Descripción |
---|---|
Dirección de destino (MAC) | Este paquete se envía en modo broadcast, por lo que la dirección de destino es FF:FF:FF:FF:FF, lo que significa que cualquier dispositivo dentro del rango puede recibirlo. |
SSID (Service Set Identifier) | Contiene el SSID de la red, lo que permite que los clientes lo identifiquen como una red a la que pueden conectarse. |
Tasas de transmisión soportadas | El Beacon incluye información sobre las tasas de datos que soporta el AP. |
Información sobre seguridad | El paquete puede contener información sobre el tipo de seguridad implementada en la red (por ejemplo, WPA, WPA2, o ninguna en redes abiertas). |
Intervalo de Beacon | Especifica la frecuencia con la que el AP envía estos paquetes. Los intervalos típicos son de 100 ms, pero pueden variar. |
Capacidades del AP | El Beacon también proporciona información adicional sobre las capacidades del AP, como los canales disponibles, compatibilidad con estándares (802.11n/ac), y otros parámetros de gestión de red. |
Timestamp | El AP incluye una marca de tiempo que ayuda a sincronizar las operaciones de los dispositivos asociados. |
El Beacon es fundamental para que los clientes sepan de la existencia de la red y puedan iniciar el proceso de conexión.
Recordemos que estos paquetes, contienen mucha información valiosa sobre el AP y del dispositivo.
Vamos a ver si capturamos alguno:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==8" 2>/dev/null
17 0.002026 MAC:Wi:Fi:Sa:lon:XD → Broadcast 802.11 259 Beacon frame, SN=1390, FN=0, Flags=........, BI=100, SSID="Wifi_Salon"
Capturamos 1 paquete solamente, pero con eso podemos desglosar toda la información que contiene con el parámetro -Tjson:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==1" -Tjson 2>/dev/null
[
{
"_index": "packets-2023-05-23",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.encap_type": "20",
"frame.time": "May 23, 2023 15:40:21.525640000 CST",
...
...
...
},
"wlan.duration": "314",
"wlan.ra": "MAC:DE:MI:CEL:XD",
"wlan.ra_resolved": "MAC:DE:MI:CEL:XD",
"wlan.addr": "MAC:DE:MI:CEL:XD",
"wlan.addr_resolved": "MAC:DE:MI:CEL:XD",
"wlan.da": "MAC:DE:MI:CEL:XD",
"wlan.da_resolved": "MAC:DE:MI:CEL:XD",
"wlan.ta": "MAC:DE:MI:CEL:XD",
"wlan.ta_resolved": "Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD",
"wlan.sa": "MAC:DE:MI:CEL:XD",
"wlan.sa_resolved": "Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD",
"wlan.bssid": "MAC:DE:MI:CEL:XD",
"wlan.bssid_resolved": "Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD",
"wlan.addr": "MAC:DE:MI:CEL:XD",
"wlan.addr_resolved": "Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD",
"wlan.addr": "MAC:DE:MI:CEL:XD",
"wlan.addr_resolved": "Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD",
"wlan.frag": "0",
"wlan.seq": "1639"
...
...
...
Como puedes ver, ahí esta información que nos puede ser útil.
Puedes ver más, pero eso ya depende de que lo analices.
Análisis de Paquetes: Authentication
Vamos a poner la defición de este paquete:
Paquete Authentication |
---|
El paquete Authentication es una trama de administración que forma parte del proceso de autenticación entre un cliente y un AP en una red Wi-Fi. Antes de que un cliente pueda asociarse a un AP, primero debe autenticarse para verificar su identidad y permiso para unirse a la red. Dependiendo del tipo de autenticación (abierta o segura), este paquete puede variar. |
Veamos un poco las caracteristicas que tiene este paquete:
Caracteristicas | Descripción |
---|---|
Dirección de destino (MAC) | Enviado por el cliente al AP o por el AP al cliente, dependiendo de la etapa del proceso de autenticación. Es un paquete unicast, es decir, está dirigido a un destinatario específico. |
Algoritmo de autenticación | El paquete contiene un campo que identifica el tipo de autenticación que se está utilizando, por ejemplo, autenticación abierta (el cliente simplemente se presenta y el AP acepta o rechaza la solicitud), autenticación compartida conocida también como WEP (utiliza un desafío-respuesta, donde el cliente debe responder correctamente a un desafío criptográfico) y en redes modernas (WPA/WPA2), la autenticación no ocurre en este paquete, sino en procesos posteriores como el Four-Way Handshake. |
Código de secuencia | Un campo utilizado para organizar múltiples intercambios en la autenticación. Si se requiere más de un mensaje, este campo asegura que los mensajes se procesen en orden. |
Código de estado | Indica si la autenticación fue exitosa o si fue rechazada. Si es rechazada, este campo proporciona una razón, como un fallo en el desafío-respuesta en WEP. |
En redes con WPA/WPA2, aunque el proceso de autenticación no se basa completamente en el paquete Authentication, este sigue siendo una parte importante para redes abiertas o redes WEP. En el caso de WPA/WPA2, la autenticación se realiza principalmente durante el Four-Way Handshake.
Lo que veremos ahora son los paquetes de autenticación, es decir, los paquetes que se capturaron cuando se obtuvo el dispositivo se conecto.
Apliquemos el filtro:
6697 19.011796 MAC:DE:MI:CEL:XD → Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD 802.11 65 Authentication, SN=2909, FN=0, Flags=........
6699 19.011808 Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD → MAC:DE:MI:CEL:XD 802.11 41 Authentication, SN=1638, FN=0, Flags=........
...
...
Veamos cuantos se mandaron:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==11" 2>/dev/null | wc -l
8
Se mandaron 8 paquetes, podriamos analizarlos, pero lo interesante de esto es que podemos ver si hubo más dispositivos que se conectaron al mismo AP, que nos viene bien para saber cuantos y cuales son estos, pues nos muestra la MAC.
Análisis de Paquetes: Deauthentication
Vamos a poner la defición de este paquete:
Paquete Deauthentication |
---|
El paquete Deauthentication es una trama de administración que se utiliza para terminar una conexión autenticada entre un cliente y un AP. Puede ser enviado por cualquiera de las dos partes, ya sea el cliente o el AP, para notificar que la sesión autenticada ha terminado. |
Caracteristicas | Descripción |
---|---|
Dirección de destino (MAC) | Este paquete se envía a la dirección MAC del cliente o del AP con el cual se desea finalizar la autenticación. |
Código de razón | Contiene un campo que especifica la razón por la cual se está terminando la autenticación. Algunas de las razones comunes incluyen: El AP está apagándose o reiniciándose, el cliente ha decidido desconectarse y se detectó una política de seguridad que no permite la conexión. |
Propósito | Un Deauthentication notifica explícitamente que la relación de autenticación entre el cliente y el AP ha sido finalizada. Después de recibir este paquete, el cliente ya no puede enviar datos a través de la red y deberá autenticarse nuevamente si quiere volver a conectarse. |
Este paquete puede ser utilizado en casos de control de red o de seguridad, como cuando un administrador desea desconectar a un cliente de la red, o si hay un intento de desconexión forzada como parte de un ataque de deauthentication.
Lo curioso, es que si por ejemplo, hicimos un ataque de desautenticación, también podemos verlo si es que se capturaron.
Apliquemos el filtro:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==12" 2>/dev/null
5575 15.264548 Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD → Broadcast 802.11 26 Deauthentication, SN=0, FN=0, Flags=........
5581 15.267211 Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD → Broadcast 802.11 26 Deauthentication, SN=1, FN=0, Flags=........
5582 15.269890 Marca_Dispositivo:MAC:Wi:Fi:Sa:lon:XD → Broadcast 802.11 26 Deauthentication, SN=2, FN=0, Flags=........
...
...
...
Puedes observar que el ataque que se realizo fue de Desautenticación Global por la mención del Broadcast. Vamos a comprobarlo:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==12" -Tjson 2>/dev/null | grep -i "FF:FF:FF:FF:FF:FF"
"wlan.ra": "ff:ff:ff:ff:ff:ff",
"wlan.addr": "ff:ff:ff:ff:ff:ff",
"wlan.da": "ff:ff:ff:ff:ff:ff",
Además, salieron muchos paquetes, veamos cuantos paquetes se lanzaron:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==12" 2>/dev/null | wc -l
2576
Fueron muchos paquetes, puedes analizar los paquetes si lo deseas, ya sabes como.
Podemos ver que dispositivos mandaron frames tipo wlan.da:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==12" -Tfields -e wlan.da 2>/dev/null | sort -u
MAC:Wi:Fi:Sa:lon:XD
MAC:DE:MI:CEL:XD
ff:ff:ff:ff:ff:ff
Incluso podríamos ver nuestra MAC de la tarjeta de red.
Análisis de Paquetes: Disassociation
Por último, tenemos a estos paquetes que también podemos listar. Apliquemos el filtro:
tshark -r Captura-01.cap -Y "wlan.fc.type_subtype==10" 2>/dev/null
Bueno, como con el paquete Probe Request, no lo pudimos capturar, pero es normal, no siempre se capturan.
Podriamos mostrar tambien como se ve el CTS Frame, pero eso ya lo hicimos cuando aplicamos el ataque, así que hasta aquí lo dejamos.
Links de Investigación
- https://thehackerway.com/2012/03/21/wireless-hacking-conceptos-basicos-sobre-seguridad-en-redes-wireless-parte-ii/
- https://superuser.com/questions/677679/whats-the-difference-between-wlan-sa-wlan-ra-wlan-ta-and-wlan-da