La Red de Conocimientos Pedagógicos - Currículum vitae - Guía de introducción a las pruebas de penetración inalámbrica de Kali Linux Capítulo 4 Defectos de cifrado de WLAN

Guía de introducción a las pruebas de penetración inalámbrica de Kali Linux Capítulo 4 Defectos de cifrado de WLAN

Incluso con las mejores predicciones, el futuro siempre es impredecible. El comité WLAN diseñó WEP y WPA como los mecanismos de cifrado más simples, pero, con el tiempo, estos mecanismos han desarrollado fallas que se publican y explotan ampliamente en el mundo real.

Los mecanismos de cifrado de las WLAN son vulnerables a ataques criptográficos desde hace bastante tiempo. Esto comenzó con WEP en el año 2000, que finalmente quedó completamente roto. Recientemente, los ataques se han desplazado lentamente hacia WPA. Aunque actualmente no existen ataques disponibles públicamente para romper WPA en todas las circunstancias, son posibles ataques en casos especiales.

La WLAN transmite datos por aire, por lo que existe una necesidad inherente de proteger la confidencialidad de los datos. Usar cifrado es la mejor solución. El comité WLAN (IEEE 802.11) especifica los siguientes protocolos para el cifrado de datos:

En este capítulo, analizamos cada protocolo de cifrado y demostramos varios ataques contra ellos.

En el año 2000 se descubrió una vulnerabilidad en el protocolo WEP, pero, sorprendentemente, todavía se utiliza y los puntos de acceso todavía vienen con la funcionalidad WEP.

Hay muchos fallos criptográficos en WEP, descubiertos por Walker, Arbaugh, Fluhrer, Martin, Shamir, KoreK y otros. Una evaluación de la posición criptográfica está más allá del alcance de este libro e implica matemáticas complejas. En esta sección, veremos cómo descifrar el cifrado WEP utilizando las herramientas disponibles en Kali. Esto incluye todo el conjunto de herramientas aircrack-ng: airmon-ng, aireplay-ng, airodump-ng, aircrack-ng y otros.

El defecto fundamental de WEP es el uso de RC4 y valores IV cortos, multiplexados cada 224 fotogramas. Si bien este es un número grande en sí mismo, todavía existe un 50 % de posibilidades de ser reutilizado cuatro veces por cada 5000 paquetes. Para explotar esto, probamos una gran cantidad de tráfico, donde aumentamos la probabilidad de reutilizar el IV, comparando así dos textos cifrados cifrados con la misma clave y IV.

Primero configuremos WEP en un entorno de prueba y veamos cómo romperlo.

Siga estas pautas para comenzar:

Establecimos WEP en nuestro entorno y desciframos con éxito la clave WEP. Para completarlo, primero esperamos a que un cliente normal se conecte al punto de acceso. Luego, usamos la herramienta aireplay-ng para reproducir los paquetes ARP en la red. Esto hace que la red envíe paquetes de reproducción ARP, aumentando así la cantidad de paquetes de datos enviados por aire. Luego utilizamos la herramienta aircrack-ng para descifrar la clave WEP analizando las fallas criptográficas de la tormenta de datos.

Tenga en cuenta que también podemos utilizar el mecanismo de omisión de autenticación de clave compartida para falsificar la autenticación del punto de acceso, lo cual aprenderemos en un capítulo posterior. Esto puede resultar más conveniente si el cliente normal abandona la red. Esto garantiza que podamos falsificar la autenticación y la correlación y continuar enviando paquetes de reproducción a la red.

En el ejercicio anterior, si un cliente sano se desconectaba repentinamente de la red, no podíamos reproducir el paquete porque el punto de acceso se negaba a aceptar paquetes de clientes no asociados.

Su desafío es utilizar la clave compartida que aprenderá más adelante para evitar la autenticación y autorización falsificadas para que aún pueda inyectar paquetes en la red y verificar que el punto de acceso los acepte y responda.

WPA o WPA v1 utiliza principalmente el algoritmo de cifrado TKIP. TKIP está diseñado para mejorar WEP y no requiere hardware completamente nuevo para ejecutarse. WPA2, por otro lado, debe utilizar el algoritmo AES-CCMP para el cifrado, que es más potente y robusto que TKIP.

WPA y WPA2 permiten la autenticación basada en WAP utilizando los modos de autenticación basados ​​en servidor RADIUS (empresarial) y de clave precompartida (PSK) (personal).

WPA/WPA2 PSK es vulnerable a ataques de diccionario.

La entrada necesaria para el ataque es un protocolo de enlace WPA de cuatro vías entre el cliente y el punto de acceso, y una lista de palabras que contiene las contraseñas más utilizadas. Luego, utilizando una herramienta como Aircrack-ng, podemos intentar descifrar la frase de contraseña WPA/WPA2 PSK.

A continuación se muestra una demostración del protocolo de enlace de cuatro vías:

El principio de WPA/WPA2 PSK es que deriva una clave a nivel de sesión, denominada clave temporal por pares (PTK). ), utilizando una clave precompartida y otros cinco parámetros: SSID de red, anuncio del verificador (ANounce), anuncio del solicitante (SNounce), dirección MAC del verificador (MAC del punto de acceso), dirección MAC del solicitante (MAC del cliente WIFI). Luego, la clave se utiliza para cifrar todos los datos entre el punto de acceso y el cliente.

Un atacante que roba una conversación completa husmeando el aire puede obtener acceso a los cinco parámetros mencionados anteriormente. Lo único que no puede obtener es la clave previamente compartida. Entonces, ¿cómo crear una clave precompartida? Se deriva de la contraseña WPA-PSK y el SSID proporcionados por el usuario. La combinación de estos se envía a través de la función de derivación de clave basada en contraseña (PBKDF2), cuya salida es una clave privada de 256 bits.

En un ataque típico de diccionario WPA/WPA2 PSK, el atacante utiliza un gran diccionario de posibles contraseñas, así como herramientas de ataque. La herramienta obtiene una clave precompartida de 256 bits de cada contraseña y la utiliza con los demás parámetros (mencionados anteriormente) para crear la PTK. PTK se utiliza para verificar la verificación de integridad del mensaje (MIC) en uno de los paquetes de protocolo de enlace. Si hay una coincidencia, la contraseña adivinada en el diccionario es correcta; de lo contrario, es incorrecta.

Finalmente, si la contraseña de la red autorizada está presente en el diccionario, será reconocida. Así es como funciona el craqueo de WPA/WPA2 PSK. El siguiente diagrama muestra los pasos a seguir:

En el siguiente ejercicio, veremos cómo hackear una red inalámbrica WPA PSK. Los pasos para descifrar una red WPA2-PSK usando CCMP (AES) son los mismos.

Siga estas pautas para comenzar:

Configuramos WPA-PSK en el punto de acceso, usando una contraseña común: abcdefgh. Luego utilizamos un ataque de desautenticación para permitir que los clientes normales se vuelvan a conectar al punto de acceso. Cuando nos volvimos a conectar, capturamos el protocolo de enlace WPA de cuatro vías entre el cliente y el punto de acceso.

Debido a que WPA-PSK es vulnerable a ataques de diccionario, le suministramos a Aircrack-ng un archivo de captura que contiene el protocolo de enlace de cuatro vías WPA, así como una lista de contraseñas comunes (en forma de lista de palabras). . Debido a que la contraseña abcdefgh aparece en la lista de palabras, Aircrack-ng puede descifrar la contraseña compartida WPS-PSK. Tenga en cuenta nuevamente que en el craqueo WPA basado en diccionario, su nivel es igual a su diccionario. Por eso, antes de comenzar, es importante compilar un diccionario amplio y detallado. El diccionario que viene con Kali a veces puede no ser suficiente y es posible que se necesiten más palabras, especialmente considerando factores de ubicación.

Cowpatty es una herramienta que también utiliza ataques de diccionario para descifrar contraseñas WPA-PSK. Esta herramienta viene de forma nativa con Kali. Te dejaré como ejercicio utilizar Cowpatty para descifrar contraseñas WPA-PSK.

De igual forma, establece una contraseña poco común que no aparezca en tu diccionario y vuelve a intentarlo. No podrás descifrar contraseñas ahora, ya sea usando Aircrack-ng o Cowpatty.

Tenga en cuenta que el mismo ataque se puede realizar en redes WPA2-PSK. Te recomiendo que lo verifiques tú mismo.

Vimos en la sección anterior que descifrar WPA personal funciona como por arte de magia siempre que tenemos la contraseña correcta en el diccionario. Entonces, ¿por qué no creamos un diccionario grande y detallado con millones de contraseñas y frases comunes? Esto nos ayudará mucho y, en la mayoría de los casos, la contraseña eventualmente será descifrada. Esto suena genial, pero nos falta un componente central: el tiempo que lleva.

Uno de los cálculos que consume más tiempo y CPU es la clave precompartida a través de PSKDF2 utilizando la contraseña PSK y el SSID. Esta función calcula el hash combinado de los dos más de 4096 veces antes de generar la clave compartida de 256 bits. El siguiente paso en el craqueo es usar esta clave y los parámetros en el protocolo de enlace de cuatro vías para verificar el MIC en el protocolo de enlace. Este paso es muy intensivo desde el punto de vista computacional. Además, los parámetros del protocolo de enlace cambiarán cada vez, por lo que este paso no se puede calcular previamente. Entonces, para acelerar el proceso de descifrado, debemos realizar el cálculo de la clave compartida a partir de la contraseña lo más rápido posible.

Podemos acelerar esto calculando previamente una clave compartida, también llamada clave maestra por pares (PMK) en la terminología estándar 802.11. Tenga en cuenta que debido a que el SSID también se usa para calcular el PMK, usando la misma contraseña y un SSID diferente obtendremos PMK diferentes. Por tanto, el PMK depende de la contraseña y el SSID.

En el siguiente ejercicio, veremos cómo precalcular el PMK y usarlo para descifrar WPA/WPA2.

Podemos seguir estos pasos para comenzar:

Analizamos varias herramientas y técnicas diferentes para acelerar el craqueo WPA/WPA2-PSK. El principio fundamental es precalcular el PMK dado el SSID y la lista de contraseñas en el diccionario.

En todos los contactos que hicimos, utilizamos una variedad de técnicas para descifrar claves WEP y WPA. ¿Qué podemos hacer con esta información? El primer paso es utilizar la clave para descifrar los paquetes de datos que capturamos.

En el siguiente ejercicio, descifraremos paquetes WEP y WPA en el mismo archivo de registro que capturamos, usando la clave que desciframos.

Sigue estos pasos para comenzar:

Acabamos de ver cómo usar Airdecap-ng para descifrar paquetes sellados WEP y WPA/WPA2-PSK. Tenga en cuenta que podemos hacer lo mismo usando Wireshark. Le recomendamos que consulte la documentación de Wireshark para explorar cómo se hace esto.

También podremos conectarnos a redes autorizadas tras descifrar la clave de red. Esto resulta útil durante las pruebas de penetración. El uso de una clave descifrada para iniciar sesión en una red autorizada es una prueba que puede proporcionar a sus clientes de que la red no es segura.

Sigue estos pasos para comenzar:

Estamos conectados a una red WEP.

Siga estos pasos para comenzar:

La herramienta WIFI predeterminada iwconfig no se puede utilizar para conectarse a redes WPA/WPA2. La herramienta real es WPA_Supplicant. En esta práctica de laboratorio, veremos cómo usarlo para conectarnos a una red WPA.

P1 ¿Qué tipo de paquetes se utilizan para la reproducción de paquetes?

P2 ¿Cuándo se puede descifrar WEP?

P3 ¿Cuándo se puede descifrar WPA?

En este capítulo, aprendimos sobre el cifrado WLAN. WEP contiene una falla que se puede descifrar con suficientes paquetes de datos, sin importar cuál sea la clave WEP. WPA/WPA2 es criptográficamente irrompible; sin embargo, en escenarios especiales, como cuando se utilizan contraseñas débiles en WPA/WP2-PSK, se puede utilizar para obtener contraseñas mediante ataques de diccionario.

En el próximo capítulo veremos diferentes herramientas en la infraestructura WLAN, como puntos de acceso falsos, gemelos malvados, ataques bit-flip y otros.