Hackear redes wifi con Wifislax

Share this…

Wifislax es una distribución Linux basada en Slackware dirigida a la auditoría de redes inalámbricas. En este artículo vamos a enseñarte cómo utilizarla para comprobar la seguridad de distintas redes wifi.

Una de las formas que los entusiastas de la tecnología tenemos de introducirnos en el mundo de la seguridad es realizando auditorías de redes inalámbricas. De acuerdo, no es lo mismo que hackear una base de datos del FBI, pero es un comienzo. Además es necesario tener en cuenta que, cuanto más sepamos sobre las debilidades de las redes wifi, mejor podremos proteger la de nuestro hogar. Esta debe ser siempre la premisa a la hora de empezar a realizar este tipo de procedimientos: el aprendizaje. Es bueno conocer cómo funcionan y qué debilidades tienen las distintas redes wirelesspara implementar mejores medidas de seguridad, pero todo este conocimiento sólo debe usarse con fines legítimos.

Existen distintas suites de scripts y programas con interfaz gráfica que podemos instalar en cualquier distribución Linux para analizar el tráfico de una red cualquiera, ya sea cableada o no. Algunos de los más famosos son Wireshark o Ettercap, que junto con otras herramientas como Angry IP Scanner nos pueden servir para conocer todo lo que deseamos sobre cualquier red. Sin embargo, conseguir todas estas herramientas por separado puede suponer un pequeño dolor de cabeza.

Ya existen distintas distribuciones Linux enfocadas a la seguridad informática. Algunas son de propósito general como Kali Linux —anteriormente conocida como BackTrack—, mientras que otras son mucho más especializadas. Es el caso de las que van dirigidas única y exclusivamente a la auditoría de redes wireless, aunque tanto en estas como en las de propósito general vamos a encontrar las herramientas antes mencionadas.

En este artículo nos vamos a centrar en wifislax, enfocada a la auditoría de redes inalámbricas. Vamos a intentar mostrarte qué necesitas y qué debes hacer para poderhackear una red wifi con ella todo ello, por supuesto, con el objetivo de aprender y saber qué debes hacer para reforzar la seguridad de tu wireless doméstico. Cualquier uso indebido que hagas de esta guía es única y exclusivamente responsabilidad tuya.

Adaptador WiFi de alta gananciaAdaptador WiFi de alta ganancia

¿Qué necesitas para usar wifislax?

En primer lugar necesitas un adaptador wifi con capacidad para modo monitor e inyección de paquetes. Antes que conseguir una imagen ISO de la distribución, asegúrate de que, si tienes una tarjeta de red inalámbrica —ya sea interna o externa—, esta se puede usar en modo monitor y se puede utilizar para realizar inyección de paquetes. Más adelante ya llegaremos a qué son estas cosas, pero por ahora te interesa saber qué tarjetas se pueden usar con wifislax y cuáles no. Tienes una relación completa de las mismas en el foro de Seguridad Wireless.

Lo siguiente es descargar una imagen ISO de la última versión de wifislax. Puedes hacerlo desde aquí. Una vez la tengas, tienes varias opciones: descomprimir la ISO en un LiveUSB usando programas como UNetbootin para usarlo en tu PC, instalarlo en tu PC o instalarlo en una máquina virtual.

Nosotros personalmente te recomendamos instalar wifislax en una máquina virtual, principalmente por varias razones:

  • Aunque se puede usar como una distro de propósito general, lo que nos interesa de verdad son los programas de auditoría. No consumen muchos recursos, por lo que no es necesario hacer un fresh install en tu ordenador.
  • Si utilizando tu ordenador principal y estás usando otras herramientas en otro sistema operativo, de esta forma podrás seguir haciendo un uso normal mientras realizas la auditoría.
  • Slackware es una distro veterana y en ella se basa wifislax, pero para usuarios no familiarizados con Linux puede ser difícil de utilizar y cuenta con una librería de software third party más limitada que otras distribuciones.

Cómo configurar la máquina virtual de wifislax

Máquina virtual de Wifislax en VirtualboxMáquina virtual de Wifislax en VirtualboxPara tener wifislax configurado en una máquina virtual primero descargamos VirtualBox y lo instalamos en nuestro sistema operativo. Cuando lo hayamos hecho lo abrimos y hacemos clic en Nueva. Aparecerá un cuadro de diálogo, en el que tendremos que poner nombre a la máquina virtual y especificar el tipo de sistema operativo. En nuestro caso la llamaremos wifislax. En cuanto al tipo seleccionamosLinux y como versión other Linux (64-bit).

Seleccionamos Seleccionamos “Other Linux (64-bit)”Hacemos clic en siguiente para asignar la cantidad de RAM que tendrá nuestra máquina virtual. Para evitar contratiempos yo he asignado 2 GB, pero se puede destinar menos memoria volátil si es preciso.

Ajustamos la cantidad de RAMAjustamos la cantidad de RAMEl siguiente paso nos lleva a la creación del disco duro virtual. Aceptamos los valores por defecto en todo lo que tenga que ver con este disco duro —son varios pasos— y continuamos.

Creamos el disco duro virtualCreamos el disco duro virtualLa máquina virtual ya estará creada. Ahora cuando la arranquemos nos aparecerá el siguiente cuadro de diálogo pidiéndonos la ubicación de la imagen ISO de wifislax:

Insertamos la ISO para instalar WifislaxInsertamos la ISO para instalar WifislaxLe indicamos dónde la hemos guardado y ya podemos arrancar el sistema en modo live. Este modo nos permite probar el sistema operativo sin necesidad de instalarlo, pero tiene una pega que nos interesa sortear para poder usar wifislax correctamente: un LiveUSB, LiveCD o LiveDVD no tiene un sistema de archivos persistente, con lo que cualquier cambio que hagamos no se guardará.

Para instalar wifislax tenemos que ir a Menú > Sistema > Instalación de wifislax > wifislax Installer GUI. A partir de aquí el proceso es totalmente automático y el instalador lo hará todo por nosotros. Primero instalará el sistema operativo y después el cargador de arranque GRUB2. Cuando haya terminado de instalarlo todo, si reiniciamos la máquina virtual ya tendremos un wifislax perfectamente operativo.

Ruta de instalación de WifislaxRuta de instalación de Wifislax

Cómo usar wifislax para auditar redes inalámbricas

Antes de entrar en materia sobre la auditoría de redes en wifislax, conviene aclarar que hay dos tipos de herramientas: manuales y automáticas. Algunas se ejecutan en modo texto, mientras que otras tienen una interfaz gráfica propiamente dicha. A continuación comentaremos cómo funcionan y cómo se usan estas herramientas.

Aircrack-ng, la mejor herramienta para auditar redes wifi

La terminal de Linux es una herramienta muy poderosa. Gracias a ella podemos realizar tareas administrativas hilando muy, muy fino. Ninguna herramienta gráfica puede llegar tan lejos. Cuesta más teclear una instrucción en la terminal que hacer unos cuantos clics, de acuerdo, pero se puede llegar mucho más lejos escribiendo que clicando.

Ocurre lo mismo con la auditoría de redes inalámbricas. Aircrack-ng es una suite de auditoría de redes para la terminal, pero que es increíblemente poderosa y que nos permite realizar un amplio espectro de pruebas para saber lo bien o mal protegida que está una red inalámbrica.

Para empezar a usar Aircrack-ng primero es necesario colocar la tarjeta de red wifi en modo monitor, algo que ya mencionamos antes. Esto significa que la tarjeta podrá escanear su entorno para detectar tantas redes como estén a su alcance. Se realiza mediante el siguiente comando:

airmon-ng start wlanX

Donde X es el número que se le asigna a nuestra interfaz inalámbrica wlan. Si tenemos más de una a la primera se le asignará el cero, a la segunda el 1 y así sucesivamente. Podemos ver nuestras tarjetas de red inalámbricas con el comando iwconfig. La salida que nos debería devolver airmon-ng sería algo parecido a esto:

Salida de airmon-ngSalida de airmon-ngLo siguiente es escanear el entorno en busca de redes wifi. Para ello utilizamos el siguiente comando:

airodump-ng monX

Donde X es el número que se asigna al monitor en que se convierte la tarjeta —generalmente es mon0—. Es conveniente dejar que la tarjeta escanee el entorno durante unos minutos. Una vez tengamos la suficiente información, nos fijamos en la que tenga el parámetro PWR más alto. Este parámetro aparece con un valor negativo, con lo que conviene recordar que cuanto más cerca de cero está dicho valor, mayor es —dicho de otra manera, -1 es mayor que -40—. Esto nos permite conocer qué red tiene la intensidad más alta, con lo que es una buena candidata para empezar a realizar una auditoría.

Esto significa que debemos fijarnos en el BSSID —dirección MAC de la red inalámbrica— y el canal en el que se encuentra. Ahora tendremos que realizar un escáner mucho más detallado, incluyendo parámetros como el ya mencionado BSSID o el canal de la red, así como un archivo de captura de todos los datos de dicha red. El comando que usaremos quedará tal que así:

airodump-ng -c <NUMERO_DEL_CANAL_> --bssid <DIRECCION_MAC_DE_LA_RED> -w <NOMBRE_DEL_ARCHIVO_DE_CAPTURA> monX

La salida que nos debería devolver la pantalla debería ser algo similar a esto:

Escaneando una red específica con airodump-ngEscaneando una red específica con airodump-ng

Los distintos tipos de ataque de Aircrack-ng

Es conveniente dejar también que el escáner se tome su tiempo de forma que se puedan acumular tantos data como sea posible, ya que esto luego nos facilitará mucho la tarea de ejecutar pruebas de ataque. También conviene aclarar que, dependiendo del tipo de cifrado de la contraseña de la red, habrá que proceder de distintas maneras:

  • Si se trata de una contraseña cifrada mediante WEP, será necesario desautenticar un cliente y autenticarse como falso cliente antes de intentar atacar mediante inyección de paquetes ARP.
  • Si se trata de una contraseña cifrada usando WPA o WPA2 no podremos recurrir a la autenticación falsa, con lo que habrá que intentar conseguir paquetes ARP atacando directamente a un cliente legítimo.

Dicho esto, conviene mencionar que Aircrack-ng tiene a su disposición cinco tipos de ataque, cada uno con distintas características:

  • Ataque 0: se utiliza para desautenticar a un cliente conectado a la red a la que estamos atacando. Sirve para redes con cifrado WEP y WPA.
  • Ataque 1: sirve para crear un cliente falso que se conecta a la red en la que hemos desautenticado a un cliente legítimo. Es la puerta de entrada al resto de ataques cuando tratamos con una red con cifrado WEP, ya que en las WPA no funciona y es necesario intentar atacar usando un cliente legítimo.
  • Ataque 2: nos permite inyectar paquetes ARP en una red para intentar conseguir la clave wifi cifrada. Con este tipo de ataque elegimos qué paquete vamos a intentar reinyectar.
  • Ataque 3: realiza inyección automática de paquetes ARP y es el más efectivo cuando tratamos con un cliente legítimo conectado. Cuando lanzamos el ataque intenta conseguir un paquete ARP de dicho cliente, y en cuanto lo tenga empezará a reinyectárselo de forma automática.
  • Ataque 4: lo que hace es lanzar un ataque por saturación al router objetivo. Hoy en día es muy poco efectivo, debido a que los enrutadores identifican el ataque como tal y no devuelven respuesta alguna.

Para realizar estos ataques tendremos que abrir una terminal nueva, ya queairodump-ng seguirá escaneando hasta que nosotros le digamos que pare y nos conviene que siga haciéndolo mientras realizamos los distintos ataques para que también capture cómo responde la red objetivo.

Cómo realizar pruebas de ataque en cifrados WEP

Conviene aclarar para quienes no lo sepan que el cifrado WEP es más débil que el WPA. La seguridad de las redes wifi protegidas con este tipo de cifrados no es muy alta, ya que son “relativamente fáciles” de romper.

Para poder ejecutar una prueba de ataque sobre una red cuya clave está protegida con un cifrado WEP en primer lugar tenemos que desautenticar a un cliente conectado al punto de acceso al que atacamos —también sirve con redes WPA—. Esto se realiza con el siguiente comando:

aireplay-ng -0 X -a <MAC_DE_LA_RED_wifi> -c <MAC_DEL_CLIENTE_OBJETIVO> monX

Donde -0 indica el tipo de ataque que vamos a realizar —una desautenticación de un cliente conectado— y X el número de veces que vamos a lanzarlo. Si dejamos el valor a cero lo hará de forma indefinida.

Lo siguiente es autenticarnos como un cliente falso. Para ello utilizamos esta instrucción:

aireplay-ng -1 0 -e <NOMBRE_DE_LA_wifi> -a <MAC_DE_LA_RED> -h <MAC_DE_NUESTRA_TARJETA_wifi> monX

Una vez que lo hayamos conseguido, ya podemos empezar a inyectar paquetes ARP. Para ello utilizamos el siguiente comando:

aireplay-ng -3 -b <MAC_DE_LA_RED_wifi> -h <MAC_DEL_CLIENTE_FALSO> monX

La MAC del cliente falso vendrá determinada por la de nuestra tarjeta de red —que podemos saber usando el comando ifconfig—. Conviene dejar pasar un tiempo prudencial hasta que por fin tengamos paquetes ARP con los que poder intentar descifrar la clave de la red, cuanto más mejor. En cuanto a cómo obtenerla, de eso hablaremos más adelante.

Cómo realizar pruebas de ataque en cifrados WPA

Como ya establecimos antes, WPA es un cifrado de una seguridad mayor que WEP. Descifrar la contraseña de una red wifi protegida por este tipo de encriptado cuesta bastante tiempo, lo que puede requerir varios intentos hasta que por fin se logre.

El procedimiento a seguir es muy similar al que explicamos anteriormente. Primerodesautenticamos un cliente conectado para obtener el handshake con el comando que ya explicamos:

aireplay-ng -0 X -a <MAC_DE_LA_RED_wifi> -c <MAC_DEL_CLIENTE_OBJETIVO> monX

Ahora bien, si intentamos auntenticar un cliente falso el script nos devolverá un mensaje de error. Para intentar descifrar una clave WPA, una vez realizada la desautenticación del cliente, es necesario intentar inyectar paquetes ARP en uno legítimo en lugar de en uno falso. Para ello usamos de nuevo el ataque 3, pero con una ligera variación:

aireplay-ng -3 -b <MAC_DE_LA_RED_wifi> -h <MAC_DEL_CLIENTE_LEGITIMO> monX

De nuevo volvemos a dejar que el script trabaje durante un buen rato. El siguiente paso es intentar descifrar la clave de la red wifi, que pasamos a explicar ahora.

Cómo hackear la contraseña de la red wifi

Llegamos al quid de la cuestión: saber si todo el trabajo y el tiempo invertido han servido para algo. Tu PC se ha pegado unas cuantas horas intentando obtener los suficientes datos para descifrar la contraseña de la red wifi sobre la que estás ejecutando las pruebas, así que hay que saber si lo que tenemos es suficiente. Para ello usaremos el siguiente comando para los cifrados WEP:

aircrack-ng -b <MAC_DE_LA_RED_wifi> <ARCHIVO_DE_CAPTURA>.cap

La cosa se complica un poco en el caso de los cifrados por WPA pero el comando es básicamente el mismo:

aircrack-ng -b <MAC_DE_LA_RED_wifi> -w <RUTA_DE_UN_DICCIONARIO_O_LISTA_DE_PALABRAS> <ARCHIVO_DE_CAPTURA>.cap

Lo realmente espinoso del asunto es la generación de un diccionario para cifrados WPA. En wifislax hay scripts que generarán uno por ti de forma automática, pero pueden tardar mucho, mucho tiempo. En el momento de escribir esta guía, el script que utilicé yo tardaba más de un año en darme un diccionario completo que poder usar. Por otra parte, puedes intentar conseguir alguno ya creado en Internet que te facilite las cosas.

Salida de aircrack-ngSalida de aircrack-ngSi todo está como debe, Aircrack-ng debería mostrarte la clave de la red wifi. Si necesitas más información sobre Aircrack-ng, puedes consultarla aquí.

Herramientas automáticas de auditoría de redes

wifislax está equipado con multitud de scripts de auditoría automáticos que resolverán en pocos pasos todo el proceso que acabamos de comentar. Incluso Aircrack-ng tiene su propio proceso automático que elimina la necesidad de usar todos estos comandos, aunque yo personalmente encuentro que ejecutar los comandos de forma manual es mucho más efectivo —ya hemos hablado de lo poderosa que es la terminal de Linux—.

En este sentido, la herramienta automática que mejor me ha funcionado es wifi-Eye. La necesidad de tener un diccionario guardado para descifrar la clave de la red WPA es imperiosa, de eso no hay forma de librarse. Ahora bien, es una adaptación ascript de toda la suite Aircrack-ng muy bien hecha y que funciona estupendamente bien.

Esta herramienta no sólo permite realizar auditorías de redes inalámbricas, sino quetambién permite realizar intercepción de comunicaciones mediante ataques man-in-the-middle o MITM. Si tienes un diccionario de palabras con el que trabajar, WiFi-Eye te facilitará mucho el proceso.