Pentesting WLAN encriptada WPA / WPA2
WPA / WPA2 es la próxima evolución de la red inalámbrica segura que surgió después de que WEP resultó ser inseguro. Los algoritmos utilizados por esos protocolos son mucho más seguros (WPA: TKIP y WPA2: CCMP / AES), lo que hace imposible romper la red, utilizando el mismo enfoque que hicimos con WEP.
La ruptura de WPA / WPA2 se basa en la misma idea: olfatear el apretón de manos inicial de 4 vías y aplicar un ataque de fuerza bruta para romper la contraseña cifrada.
Para ilustrar este ejemplo, una vez más haré uso de la WLAN "LAB-test", esta vez asegurada con WPA2 usando la siguiente clave - "F8BE4A2C". Como recordará de los capítulos anteriores, el éxito y el tiempo necesarios para forzar la contraseña a la fuerza bruta dependen de la complejidad de la contraseña. La contraseña que he usado aquí es potencialmente lo suficientemente débil como para poder descifrarla en un tiempo relativamente razonable. En entornos reales, solo debería ver la contraseña, que tiene más de 10 caracteres y tiene todo tipo de signos alfanuméricos incluidos; de esa manera, llevaría años aplicarla por fuerza bruta.
Al igual que en el último ejemplo, comenzaremos con airodump-ng, para recopilar pasivamente alguna información sobre la WLAN.
Como puede observar, de hecho tiene SSID "LAB-test" protegido con WPA2 con cifrado CCMP. El cliente conectado a LAB-test es actualmente mi otra PC con la dirección MAC 84: A6: C8: 9B: 84:76.
El primer paso es habilitar la detección del tráfico en (esta vez no nos importan mucho los paquetes de datos) La prueba LAB es para recopilar el protocolo de enlace inicial de 4 vías entre el AP y el cliente inalámbrico (mi PC).
Como puede ver a continuación, cada vez que un nuevo usuario se une a la red, airodump detecta el protocolo de enlace de 4 vías.
Como tenemos esos apretones de manos recopilados en un archivo, estamos listos para descifrar la contraseña. El único elemento que falta es un archivo de diccionario con posibles contraseñas. Hay un montón de herramientas que puede usar como john, crunch o incluso puede descargar el archivo de diccionario de Internet. En este ejemplo, mostraré crujido, pero siéntase libre de experimentar con todas las soluciones que pueda encontrar. Recuerda, el cielo es el límite.
Como puedes ver, crunchpuede crear un diccionario para usted. Supongamos que queremos tener todas las contraseñas con números y letras de hasta 8 caracteres de longitud. Y supongamos que el número puede ser del 0 al 9 y las letras de la A a la F. ¿Por qué hacemos estas limitaciones (suposición sobre la contraseña)? - es porque, si quieres tener un archivo con todas las combinaciones de contraseña compuesto por número 0-9, letras az y AZ, necesitas un espacio de 18566719 GB (!!!).
Entonces, primero creamos todas las combinaciones y las colocamos en un archivo de diccionario.
Luego, hacemos referencia a este archivo de diccionario al usar el aircrack utilidad para intentar derivar la clave correcta, de la siguiente manera:
El aircrack-ng ha encontrado 8 BSSID en el archivo, por lo tanto, le pregunta cuál es la WLAN que desea descifrar, mencioné el número 2, la red "LAB-test".
Verificar cada una de las contraseñas, una por una, es un proceso muy largo. El tiempo para encontrar una contraseña correcta depende de qué tan lejos esté la contraseña en un archivo de diccionario (si tiene suerte, puede encontrar la contraseña en su primera aproximación, si la contraseña se coloca en la primera línea del archivo de diccionario). En este ejemplo, como puede ver, encontré la contraseña, pero me tomó 8 horas y 47 minutos (!!!). El uso de una contraseña de 10 caracteres en lugar de 8 aumentaría el tiempo probablemente a días o quizás a semanas.
Debes tener en cuenta que cuanto más largo sea el diccionario, más tardará en descifrar la contraseña. Y, como subrayé algunas veces antes, si la contraseña es bastante compleja y larga, computacionalmente no es factible realizar un craqueo (en el tiempo limitado, digamos menos de 10 años).