Ataques a Redes Inalámbricas - 3 - Rompiendo WEP

En el post de hoy, veremos cómo se puede llegar a realizar un ataque estadístico a nuestra red WiFi que utiliza el protocolo WEP y de esta forma recuperar la contraseña de la red o auditar nuestra red WiFi.

Para el cometido de hoy, voy a utilizar Kali Linux como sistema operativo, ya que posee todas las herramientas que necesito para realizar la prueba de acceso a la red. En este caso vamos a utilizar herramientas de la suite air*Aircrack-ng es una suite de software de seguridad inalámbrica. Consiste en un analizador de paquetes de redes, recupera contraseñas WEP y WPA/WPA2-PSK y otro conjunto de herramientas de auditoría inalámbrica.

El primer paso será poner nuestra tarjeta de red en modo monitor, en este caso yo voy a utilizar una tarjeta externa, para cambiar nuestra tarjeta a modo monitor, utilizaremos el siguiente comando:

Podemos utilizar el comando ifconfig para averiguar cuál es nombre que posee nuestra tarjeta de red en el sistema.

Recordemos que poner nuestra tarjeta en modo monitor, significa que nuestra tarjeta de red va a capturar todos los paquetes de las redes que están a su alcance, los cuales están en el aire, sin necesidad de estar asociada nuestra tarjeta con el punto de acceso.

Una vez tengamos nuestra tarjeta de red en modo monitor, deberemos ejecutar el siguiente comando para visualizar el tráfico de red que hay dentro de nuestro alcance:

airodump-ng wlan0mon

Este comando lanzará la aplicación airodump-ng. Con esta aplicación podremos ver todo el trafico que circula por el aire, se lanza indicando el nombre la interfaz de red en modo monitor. Tras lanzar el comando veremos algo como lo siguiente:

Es aquí donde podremos todas las redes alcanzables, entre las que se encuentra nuestra red, en este caso podemos ver el BSSID de la red (identificador de la red), que su protocolo de cifrado es WEP, y el nombre de la red. El resto de los datos que podemos visualizar también son importantes, como el canal que está utilizado nuestra red.

En la parte de debajo de la tabla podremos ver los dispositivos que hay asociados a las redes, veremos una línea por cada dispositivo en cada red.

Bien una vez sabemos cual es el BSSID de nuestra red y cuáles son los dispositivos que hay asociados a ella, a llegado el turno de recolectar los paquetes de datos, para como ya explicamos en el post anterior, poder detectar cuando hay colisiones de IVs y con ello realizar el ataque.

Para poder comenzar a capturar paquetes y visualización de los resultados utilizaremos de nuevo la aplicación airodump-ng ejecutando el siguiente comando:

En este comando le estamos añadiendo configuraciones a la aplicación. Con el flag --bssid estamos especificando de que red queremos capturar y filtrar paquetes, de este modo solo veremos y recolectaremos paquetes de datos de esta. Importante, utilizar el flag -c para indicar el canal que está utilizando nuestra red para transmitir los paquetes. Por último, con el flag -w indicaremos el nombre del fichero donde queremos almacenar los datos recogidos por la escucha y filtro de la aplicación. Siempre que utilicemos una herramienta de la suite air* deberemos de indicarle al final que interfaz o tarjeta de red vamos a utilizar para lanzar la aplicación, en nuestro caso pondremos la misma que ya hemos utilizado en los anteriores comandos.

Bien, una vez lanzado el comando, veremos algo como lo siguiente:

En este punto del ataque solo tenemos que esperar y recabar todos los paquetes de datos que podamos, el número de paquetes de datos lo podemos visualizar en la columna llamada #Data. Recordemos, que como ya vimos en el post anterior, en todos los paquetes de datos, viaja el vector de inicialización para poder realizar el descifrado en el punto de acceso.

Puede ocurrir que la recolección de datos sea un poco lenta, por lo que otra opción que podemos añadir al ataque es utilizar la inyección de paquetes de datos en la red. Recordemos que el protocolo deberá aceptar todos los paquetes que se hayan generado utilizando el mismo key stream ya que WEP permite el reúso de IV, el receptor tiene que aceptar todos los paquetes que utilicen IVs ya utilizados.

Para poder realizar un ataque de inyección de paquetes, utilizaremos la herramienta aireplay-ng con el siguiente comando:

Esta herramienta nos permite realizar una variedad de ataques sobre el punto de acceso y los clientes asociados a la red. En este caso estamos realizando el ataque -3 que nos permite capturar paquetes ARP y reinyectarlo en el punto de acceso, generando así un gran volumen de tráfico. La configuración de la aplicación mediante flags en este caso comienza con el flag -b el cual nos permite indicar el BSSID de la red, le sigue el flag -h con el cual indicaremos la MAC de uno de los clientes que están asociados a la red, como podemos observar para poder realizar este ataque debe de haber un cliente asociado a la red y, por último, indicamos la tarjeta de red.

Este ataque hará que la recolección de paquetes de datos se agilice. Para intentar encontrar la contraseña de nuestra red, deberemos tener entre unos 10000 u 100000 paquetes de datos, si no tenemos los suficientes paquetes a la hora de intentar encontrar la contraseña, veremos un mensaje como el siguiente:

En nuestro caso rápidamente recaudamos más de 100000 paquetes de datos:

Para intentar encontrar la contraseña de nuestra red, haremos uso de la herramienta aircrack-ng, mediante el siguiente comando:

La herramienta aircrack-ng nos permite realizar ataques de fuerza bruta, de diccionarios o estadísticos, sobre las capturas del trafico que hemos realizado de una red. En este caso vamos a realizar un ataque estadístico utilizando los paquetes recolectados:

Como podemos observar se ha encontrado la contraseña de nuestra red con éxito.

Espero que os haya gustado esta entrada y que hayamos aprendido todos sobre el funcionamiento de WEP y porque no hay que utilizarlo actualmente. En las siguientes entregas veremos los siguientes protocolos de cifrado para redes inalámbricas, con el mismo formato que hemos visto en WEP.

Un saludo.

Comentarios

Entradas populares de este blog

Realizando hash con PowerShell

Cracking hashes con Hashcat - 4

Cracking hashes con Hashcat - 2