Blog

Hacking Wifi – Parte 1 – Introducción y Becon Frames

Para ver la serie completa pulsa aqui. Habrá conceptos que se den por obvios ya que están explicados en artículos anteriores.

Las redes Wi-Fi son muy peligrosas. Son redes que no puedes ver físicamente, es decir, no puedes poner protecciones físicas como sí podrías hacer con una red cableada. Además las redes Wi-Fi atraviesa las paredes con lo que deja de estar a tu alcance y será complicado localizar a un atacante si no puedes verle físicamente. Gracias a los dispositivos móviles podemos conectarnos a muchas redes diferentes allá donde vayamos. Los ataques pasivos como capturar el tráfico de la red es prácticamente indetectable y se pueden hacer desde muy lejos.

Os recomiendo la tarjeta Alfa Networks AWUS036h. En Kali ya trae sus drivers instalados, es capaz de capturar trafico e inyectar paquetes.

Vamos a ver el arte del capturar paquetes wireless. El concepto es muy similar al de capturar en una red cableada, la diferencia será que aquí deberemos de poner nuestra interfaz de red en modo monitor (igual que cuando capturamos en red cableada poniamos la interfaz en modo promiscuo) para poder aceptar todo el trafico, y no solo los paquetes en los que seamos nosotros el destinatario.

Esto lo haremos con la herramienta Airmon-NG de la suite Aircrack-NG. Si utilizamos una interfaz de red externa como la que he recomendado, a lo mejor hay que levantarla a mano. Primero listaremos todas las interfaces, caidas y levantadas:

# ifconfig -a

Y despues veremos las interfaces levantadas:

# ifconfig

Si aparece la primera vez, y no en la segunda, está caida y tendremos que levantarla de la siguiente forma:

# ifconfig wlan0 up

Ahora tenemos que crear una interfaz en modo monitor encima de nuestra inferfaz wifi que vayamos a utilizar, en nuestro caso wlan0. Para saber si tenemos alguna en modo monitor escribimos:

# airmon-ng

Para crearla:

# airmon-ng start wlan0

Podemos comprobar que se ha creado con

# iwconfig

Donde verás que el modo es “Monitor”.

Ahora abriremos Wireshark y capturaremos con la interfaz “mon0” que es la que se nos ha creado. Podemos ver los paquetes del protocolo 802.11.

wifi4

Capturar paquetes Wi-Fi (802.11) es más complicado de lo que parece. El Wi-Fi se puede transmitir en 3 frecuencias distitnas:

– 2.4GHz (802.11b/g/n)
– 3.6GHz (802.11y)
– 4.9/5.0GHz (802.11a/h/j/n)

Cada una de estas frecuencias se divide en canales (cada canal es una frecuencia especifica dentro del rango correspondiente). Cada pais tiene una lista de canales permitidos, quien puede usar esos canales y la maxima potencia con la que puedes transmitir en ese canal. En esta foto podeis algunos de los canales que se usan en España. Hay paises en los que es legal y otros en los que está prohibido utilizar determinados canales.

wifi1

Las tarjetas de red vienen preconfiguradas con estas normas, pero hay tarjetas de red que se pueden cambiar }:).

Recordar que una tarjeta de red solo puede capturar en una banda (2.4 , 3.6 ó 5) y un canal a la vez. En la práctica que vamos a hacer se va a ver los diferentes canales y como cambiarnos de unos a otros.

Primero vamos a cambiar de canal nuestra tarjeta de red:

# iwconfig wlan0 channel 1

Nos hemos cambiado al canal 1, y si vemos la configuración de la interfaz de red con “iwconfig” podemos ver como ha cambiado el valor de la frecuencia en la que estamos y ahora aparece 2.412 que como podemos ver en la tabla anterior corresponda al canal 1.
Ahora vamos a empezar utilizar la herramienta Airodump-NG para capturar la red e ir saltando por todos los canales. Por defecto la herramienta trabaja en los canales de la frecuencia 2.4Ghz aunque podemos configurarla para capturar por otras frecuencias y otros canales.

Ahora vamos a ver todos los puntos de acceso que hay emitiendo (parte de arriba), y todos los dispositivos que hay con el wireless activado (parte de abajo).

# airodump-ng mon0

airodump-ng

Los paquetes de tipo 802.11 se dividen en 3 tipos de paquetes:

– Management
– Control
– Data

wifi3 wifi2

Cada uno de estos tipos tiene a su vez subtipos. Tienes más información en aqui. Vamos a centrarnos solo en los paquetes relacionados con la seguridad y el hacking.

Cada punto de acceso es configurado con un SSID,  para poder ser reconocido por los dispositivos clientes que se quieran conectar a él. El punto de acceso emite Beacons Frames para anunciar su presencia y que todo el mundo sepa que está ahi.

Ahora vamos a capturar estos Beacons Frames. Como siempre pondremos la tarjeta en modo monitor:

# airmon-ng start wlan0

Después arrancaremos Wireshark y pondremos a capturar en la interfaz mon0. Podemos ver mucho trafico. En la columna Info podemos ver como algunos de esos paquetes son Beacon Frames. Seleccionamos uno de ellos y nos vamos a la ventana del medio de Wireshark, donde nos desgrana el paquete dividiendolo en capas y campos. Seleccionamos la pestaña IEEE 802.11 Beacon Frame. Y podemos ver como el subtipo de paquete es 8, y si vamos a la tabla anterior podemos ver que el tipo 8 (1000 en binario) corresponde a un paquete de tipo Beacon.

wifi4

Nos damos cuenta de que toda la información de este paquete va en texto plano, es decir, no va cifrado. Esto permitirá a un atacante crearse paquetes de este tipo, Beacons Frames. Con lo cual cualquiera podrá inyectar este tipo de paquetes. Con esto conseguiríamos que a todos los dispositivos que haya por la zona les aparezca un nuevo punto de acceso.

Pues vamos a realizar la prueba. Esto lo haremos con la herramienta MDK3 de Kali. Utilizaremos la opción de Beacon Flood Mode para inyectar paquetes del tipo Beacon Frames en todos los canales provocando confusión en los dispositivos cliente de la zona.

wifi5

Hemos simulado que existe una red llamada Pwneado!

wifi8

¿Que conclusiones podemos sacar de esta pequeña prueba de concepto?

– En primer lugar que podemos hacer Spoofing de los paquetes.

– Que las cabeceras de los paquetes de Management y Control van en texto plano y no tienen ningún tipo de cifrado o protección.

Si quisiésemos hacer algo similar en una red cableada el atacante debería de estar dentro de esa red, pero la diferencia es que aquí el atacante no tiene que estar dentro de ninguna red.

Más adelante vamos a ver como sacar beneficio de esto, forzando a un cliente que se conecte a ti y no al punto de acceso legitimo.

Autor:  Roberto Lopez (@leurian)

  1. cucunete
    cucunete10-24-2013

    Buen articulo…esperendo el siguiente.

    Gracias

  2. R0dW3
    R0dW310-24-2013

    Muy bueno Roberto.
    Estupendo post!

  3. Pepe Luis
    Pepe Luis06-21-2014

    La verdad esta muy bien explicado, ademas de que todo lo que hace lo explica y asi entiendes lo que haces y porque, lo que le da aun mucho mas valor.

    MUCHAS GRACIAS

  4. jony
    jony09-06-2014

    que version de GNU/Linux recomiendas para hacer esto?

Leave a Reply

*

    No Twitter Messages