Diccionarios de claves para auditar redes WiFi con WPA y WPA2

Diccionarios de claves para auditar redes WiFi con WPA y WPA2

Sergio De Luz

Actualmente la mayoría de las redes inalámbricas WiFi utilizan autenticación WPA/WPA2-Personal, esto significa que tenemos una contraseña de paso de entre 8 y 63 caracteres que es precompartida con todos los clientes inalámbricos que se quieran conectar. Este tipo de redes WiFi se pueden auditar de forma fácil y rápida por varios métodos, lo primero que debemos comprobar es si el WPS está habilitado e intentar crackearlo, a continuación, podríamos realizar un ataque por fuerza bruta para probar todas las combinaciones, o también podremos atacar las redes WiFi por diccionario. Si vas a atacar una red WiFi por diccionario, nuestra recomendación es que descargues diferentes diccionarios de palabras que existen por Internet. Hoy en RedesZone os vamos a indicar cómo descargar los mejores diccionarios de claves.

¿Qué es WPA y WPA2?

Antes de pasar a nuestro tema principal, es bastante conveniente que sepamos que es cada protocolo, ya que de esta manera puedes identificar mejor la información y aplicar mejor las soluciones que te ofrecemos sobre los diccionarios de claves tanto en uno como en otro sistema de protección.

En el caso de WPA o Wi-Fi Protected Access por sus siglas en inglés, un protocolo de protección que fue creado alrededor del año 2003 con la finalidad de mejorar la funcionalidad que tenía el protocolo WEP que en comparación tendía una seguridad más bajo, aunque fuese un poco más fácil de configurar ya que el WPA está basado en el protocolo TKIP que es un protocolo de integridad contraseñas temporales, lo cual justamente ayudaba a que cumpliese con su función y aumentase la seguridad de las redes un peldaño más.

A pesar de que la transición de WEP a WPA por parte de Wi-Fi Alliance fue paulatina hacia este protocolo más avanzado, tuvieron que mantener varios aspectos y funcionalidades del primero, y esto se debe a que, si lo retiran del todo, varios dispositivos, sobre todo los más antiguos, dejarían de funcionar correctamente debido a que dejarían de ser compatibles y esto ha significado a lo largo del tiempo que sigan existiendo vulnerabilidades que puedan ser explotadas por parte de los piratas debido a su limitada capacidad de seguridad a día de hoy.

Cuando hablamos de WPA2, que es la segunda versión o una versión mejorada del propio WPA, vio la luz por primera vez en 2004 y vino a paliar las carencias tanto en seguridad como en complejidad de configuración de las anteriores, ya que mejoraba en ambos aspectos, no solo es más seguro si no que a su vez, también es más fácil de configurar, la vulnerabilidad más destacable que presenta, es el hecho de que una que cualquier atacante logra romper su seguridad, puede atacar sin ningún tipo de inconveniente a cualquier dispositivo que forme parte de dicha red.

¿Qué es un ataque por diccionario?

Un ataque por diccionario a una contraseña, ya sea en un sistema o a una red WiFi, consiste en probar todas las palabras que hay contenidas en un fichero de texto. Generalmente podemos encontrar diccionarios de millones de palabras que ocupan varias decenas de GB de tamaño, el ordenador deberá ir probando cada una de estas palabras o combinación de palabras una a una, hasta dar con la contraseña correcta o hasta que se termine el diccionario que nos hemos descargado. Tener un buen diccionario de claves es fundamental para poder «acertar» con la contraseña, es muy importante que disponga de millones de palabras y también combinaciones de las más habituales que un humano podría poner como contraseña.

Cuando descargamos un diccionario de claves, si queremos crackear las redes inalámbricas WiFi, debemos asegurarnos de que no tenemos palabras o combinación de palabras y números por debajo de los 8 caracteres ni tampoco por encima de los 63 caracteres. Debemos recordar que las redes WiFi con WPA tienen entre 8 y 63 caracteres, por lo que «probar» estas palabras no tiene ningún sentido, ya que no conseguiremos «acertar» con la contraseña WiFi.

Actualmente existen programas muy potentes y configurables que nos permiten crear un diccionario bajo demanda, como Crunch. Si sabemos o intuimos que la contraseña WPA de un objetivo tiene, por ejemplo, 10 caracteres y que solamente usa letras mayúsculas y minúsculas, podremos crear un diccionario que tenga todas las combinaciones y permutaciones de letras mayúsculas y minúsculas. De esta forma, no tendremos que usar diccionarios que están fuera de estos parámetros. Crunch nos permitirá configurar el diccionario como nosotros queramos, y lo exportará a un fichero de texto para posteriormente utilizarlo en programas como Aircrack-ng entre otros. Debemos tener en cuenta que esta herramienta genera un diccionario con todos los caracteres, generalmente una persona pone una contraseña WiFi fácil de recordar, y no una clave que es casi aleatoria, por lo que recurrir a diccionarios de palabras es una gran decisión.

Diccionario de claves para WPA y WPA2

Actualmente disponemos de una gran cantidad de repositorios en GitHub con archivos de texto con una gran cantidad de contraseñas que podemos probar. Por supuesto, en los algunos diccionarios que os vamos a poner, podremos encontrar contraseñas que no son válidas para las redes WiFi porque son claves de menos de 8 caracteres o más de 63 caracteres, no obstante, podemos usarlo sin problemas porque los diferentes programas para crackear las claves WPA.

Probable-Wordlists

En el repositorio de GitHub Probable-Wordlists, encontraremos una gran lista de diccionarios de contraseñas que están específicamente orientadas a las redes inalámbricas WiFi. El autor ha cogido diccionarios de otros proyectos de GitHub y ha filtrado todas las contraseñas que no serían válidas para las redes inalámbricas WiFi. Por tanto, podremos estar seguros que todas las claves que probemos de este diccionario funcionarán perfectamente. Este diccionario de claves lo podemos descargar a través del propio GitHub o utilizar el archivo .torrent para descargarlo vía P2P porque seguramente te funcione más rápido. El tamaño de este diccionario es de 8GB porque dispone de millones de contraseñas filtradas durante años, pero están adaptadas a las redes WiFi.

Si accedemos al repositorio de GitHub completo, podremos encontrar una gran listado de diccionarios de claves generalistas, no están orientados a redes inalámbricas WiFi de forma específica, por tanto, aunque podremos usarlo, no todas las claves que probemos serán válidas.

CrackStation

CrackStation es una plataforma online y gratuita que nos permitirá crackear hashes de contraseñas en base a unos diccionarios que tienen ellos. En el caso de que queramos descargar los diccionarios de contraseñas que tienen en su plataforma, podremos hacerlo directamente desde aquí. El diccionario más grande tiene un total de 1.493.677.782 palabras y ocupa 15GB de espacio, podemos descargarlo desde la web o utilizar la red BitTorrent que irá mucho más rápido.

Otro diccionario que tenemos disponible es una versión «pequeña» de la anterior, basada en diferentes filtraciones que han ocurrido a lo largo de los años. En esta lista tenemos un total de 64 millones de contraseñas en el listado y ocupa unos 300MB sin comprimir, por lo tanto, también tendremos una gran cantidad de palabras y claves para probar a la hora de crackear una clave WPA.

SecLists y Weakpass

En el repositorio de GitHub SecLists también encontraremos una gran cantidad de diccionarios de contraseñas, no obstante, en este caso no están adaptados a las redes inalámbricas WiFi con WPA, por lo tanto, podrías probar contraseñas que luego realmente nunca podrían ser. No obstante, este repositorio es muy conocido y ampliamente utilizado por investigadores de seguridad.

En la web oficial de WeakPass podremos encontrar una gran cantidad de diccionarios de claves que están diseñados para diferentes usos, en esta web podremos encontrar una gran cantidad de información: tamaño del diccionario sin comprimir, tamaño comprimido que vamos a descargar, el tiempo aproximado de crackeo usando diferentes hashes de contraseñas y también de WPA. Por ejemplo, el diccionario más grande nos tardará unas 2 horas aproximadamente en probar todas las contraseñas. Todos los diccionarios podremos descargarlo a través de descarga directa o a través de la red BitTorrent. Esta web es muy recomendable porque dispone de muchísimas contraseñas de diferentes filtraciones que han ido ocurriendo a lo largo del tiempo.

Gracias a estos diccionarios de palabras, vamos a poder utilizar programas automáticos para ir probando clave por clave cuál es la contraseña correcta de la red WiFi. Debemos tener en cuenta que lo primero que debemos hacer para poder hackear una red WiFi es capturar el handshake, una vez que tengamos este «handshake» tendremos que usar los programas como Aircrack o hashcat para comprobar todas y cada una de las contraseñas que hemos obtenido de los diccionarios anteriores. Este proceso puede tardar horas e incluso días, depende del número de palabras del diccionario en cuestión y de la potencia de nuestro ordenador o servidor para crackearlas.

Usar estos diccionarios con Aircrack-ng

El programa Aircrack-ng es la herramienta para auditorías WiFi más conocida que podemos encontrarnos actualmente, junto con hashcat para utilizar la potencia de la GPU para realizar un ataque por fuerza bruta. Para poder crackear una red WiFi con WPA necesitamos hacer un total de tres pasos. El primer paso consiste en poner nuestra tarjeta wiFi en modo monitor y empezar a capturar todos los datos para capturar el handshake:

airodump-ng -c CANAL --bssid BSSID -w psk INTERFAZ

En caso de que tengamos clientes inalámbricos conectados al AP o router WiFi, podríamos lanzar un ataque de desautenticación para acelerar el proceso de la captura del handshake, para hacer esto podemos ejecutar el siguiente comando:

aireplay-ng -0 1 -a BSSID_AP -c MAC_CLIENTE INTERFAZ

Una vez capturado el handshake, y suponiendo que ya hemos descargado el diccionario, podremos utilizarlo con el siguiente comando:

aircrack-ng –b BSSID –w keys.txt captura-01.cap

El nombre de la captura de airodump-ng es «captura-01» , el diccionario de contraseñas es «keys.txt», y el BSSID es el nombre de la red WiFi que queremos crackear, ya que la captura de Airodump captura todos los handshakes que ocurran.

Usar estos diccionarios con Hashcat

Hashcat es uno de los mejores programas para realizar ataques por fuerza bruta o diccionario a un determinado handshake que hayamos capturado anteriormente. Este programa permite utilizar tanto la potencia de la CPU como también de la GPU para acelerar enormemente el trabajo de probar todas y cada una de las contraseñas del diccionario en cuestión. Hashcat es compatible con sistemas operativos Windows y también Linux, aunque es en este último sistema operativo donde vamos a poder exprimirlo al máximo gracias a que tiene un mejor soporte. Este programa tiene una muy buena compatibilidad con GPU de NVidia y también de AMD, por lo tanto, nos vamos a beneficiar de una mayor rapidez.

Para poder utilizar Hashcat con los diccionarios de claves que hemos descargado anteriormente, debemos realizar la captura de la siguiente forma:

hcxdumptool -i interface -o dumpfile.pcapng --active_beacon --enable_status=15

También podrías utilizar la captura anterior capturada con Aircrack-ng, pero debes transformarla a formato 22000 de Hashcat de la siguiente forma:

hcxpcapngtool -o hash.hc22000 -E wordlist dumpfile.pcapng

Una vez hecho esto, simplemente tienes que ejecutar el siguiente comando:

hashcat -m 22000 hash.hc22000 listado_claves.txt

Y empezará el proceso para probar todas las claves del diccionario que hayamos elegido, os recomendamos utilizar unidades SSD y también aceleración de GPU para que sea mucho más rápido el proceso.

Alternativas a los diccionarios

Si no queremos hacer uso de estos métodos mediante diccionarios, siempre podemos realizar un ataque por fuerza bruta. Para esto iniciamos con una contraseña conocida, contraseñas filtradas o con búsqueda de nombres hasta encontrar coincidencias. En sí, este ataque trata de averiguar una contraseña o nombre, incluso páginas web que pueden estar ocultas o claves las cuales cifran mensajes. Se reduce a muchas pruebas de error u acierto, con la esperanza de que alguna funcione. Se trata de un método antiguo, pero que sigue siendo efectivo a día de hoy. Su rendimiento dependerá de la longitud y complejidad de la contraseña, pues según sea esta, descubrirla puede llevar desde unos pocos segundos a años. Podemos ver algunos estudios de IBM, donde indican que hay ciberdelincuentes, los cuales atacan los mismo sitios durante meses, incluso años. Muchas veces sin éxito.

El mayor inconveniente de esto, y a la vez su ventaja, es que dependerá del hardware y la capacidad de procesamiento de nuestro equipo. Para ellos tendremos que combinar una CPU y una unidad que se encargue del procesamiento como una GPU. Esta última acelera los cálculos mediante la adición de miles de núcleos. Esta GPU se usará para el análisis, ingeniería y muchas otras herramientas, pudiendo descifrar contraseñas unas 250 veces más rápido que con solo un buen procesador.

Por ejemplo, una contraseña de seis caracteres, la cual incluye números, puede llegar a tener más de dos mil millones de combinaciones probables. Si solo usamos una CPU, podremos realizar 30 pruebas por segundo, lo cual tardaría dos años en lograr descifrarla. Pero si añadimos unas GPU lo suficientemente potente, podremos probar hasta 7000 contraseñas por segundo, lo que se traduce en algo más de tres días para descifrarla.

Tal y como habéis visto, gracias a estos diccionarios de contraseñas para WPA y WPA2, podremos probar todas estas contraseñas para ver si «acertamos» con la clave del router WiFi o AP. Tras conocer todos estos detalles, quizás sea bueno revisar nuestras contraseñas, y hacerlas más largas y con combinaciones más complicadas de descifrar.

¡Sé el primero en comentar!