Descripción
Aircrack-ng es un programa crackeador de claves 802.11 WEP y WPA/WPA2-PSK. Aircrack-ng puede recuperar la clave WEP una vez que se han capturado suficientes paquetes encriptados con airodump-ng. Este programa de la suite aircrack-ng lleva a cabo varios tipos de ataques para descubrir la clave WEP con pequeñas cantidades de paquetes capturados, combinando ataques estadísticos con ataques de fuerza bruta. Para crackear claves WPA/WPA2-PSK, es necesario usar un diccionario.
Captura de pantalla
LEYENDA
1 = Keybyte, es decir el número de cada uno de los bytes o caracteres de la clave.
2 = Profundidad de la actual búsqueda de la clave
3 = Byte o caracter que se está probando
4 = Votos o número de probabilidades de que sea correcto ese byte
¿Cómo funciona?
En esta página: Techniques Papers encontrarás muchos links a otras webs que tienen algunos manuales que describen estas técnicas de forma más detallada y como funcionan las matemáticas que hay detrás de ellas.
Múltiples técnicas se combinan para crackear la clave WEP:
Ataques FMS ( Fluhrer, Mantin, Shamir) - son técnicas estadísticas
Ataques Korek - tambien técnicas estadísticas
Fuerza bruta
Cuando se usan técnicas estadísticas para crackear claves WEP, cada byte de la clave es tratado de forma individual. Usando matemáticas estadísticas, la posibilidad de que encuentres un byte determinado de la clave crece algo más de un 15% cuando se captura el vector de inicialización (IV) correcto para ese byte de la clave. Esencialmente, ciertos IVs “revelan” algún byte de la clave WEP. Esto es básicamente en que consisten las técnicas estadísticas.
Usando una serie de pruebas estadísticas llamadas FMS y ataques Korek, se van acumulando posibilidades o votos (votes) para cada byte de la clave WEP. Cada ataque tiene un número diferente de votos asociado con él, por lo que la probabilidad de cada ataque varia matemáticamente. Cuantos más votos tengamos de un byte o valor particular, mayor probabilidad hay de que sea el correcto. Para cada byte de la clave, la pantalla nos muestra el caracter más probable y el número de votos que ha acumulado. Sobra decir, que la clave que tenga el mayor número de votos es la que más probabilidades tiene de ser la correcta, pero no está garantizado. Aircrack-ng probará continuamente de la más probable a la menos probable para encontrar la clave.
Usando un ejemplo entenderemos esto de forma más clara. En la anterior captura de pantalla, puedes ver, que para el primer caracter o byte 0, 0xAE ha obtenido unos cuantos votos, 50 exactamente. Entonces, matemáticamente, es más probable que la clave comience por AE que por 11 (el segundo valor en la misma linea) que es el siguiente con más posibilidades. Esta es la razón por la cual cuantos más paquetes tengas, más fácil será para aircrack-ng determinar la clave WEP.
La aproximación estadística puede por si sola darnos la clave WEP de la red. Pero la idea es que tambien podemos complementarlo con la fuerza bruta para realizar el trabajo. Aircrack-ng usa la fuerza bruta para determinar cuantas claves se han de probar para intentar encontrar la clave WEP.
Aquí es donde entra en juego el “fudge factor”. Basicamente el “fudge factor” le dice a aircrack-ng hasta donde probar claves. Es como si quisiesemos encontrar un balón diciéndole a alguien que el balón se puede encontrar entre 0 y 10 metros alrededor. Pero si le decimos que el balón se encuentra entre 0 y 100 metros alrededor. En este escenario de 100 metros le llevará mucho más tiempo realizar la búsqueda pero tendrá más posibilidades de encontrarlo.
Por ejemplo, si le decimos a aircrack-ng que use un fudge factor de 2, dividirá los votos del byte más probable, y probará todas las posibilidades con un número de votos de al menos la mitad de los que tiene el caracter más posible. Cuanto mayor sea el fudge factor, más posibilidades probará aircrack-ng aplicando fuerza bruta. Recuerda, que cuanto mayor sea el fudge factor, el número de claves a probar crecerá tremendamente y mayor será el tiempo que se esté ejecutando aircrack-ng. En cambio, cuantos más paquetes de datos tengas, minimizarás la necesidad de aplicar fuerza bruta a muchas claves, lo que hace que no trabaje tanto tiempo la CPU y se reduce mucho el tiempo necesario para encontrar la clave.
Al final, es todo “muy simple” matemáticas y fuerza bruta!
Las técnicas mencionadas hasta ahora no funcionan para claves WPA/WPA2 pre-shared. La única forma de crackear estas claves pre-compartidas (pre-shared) es a través de un ataque de diccionario. Esta capacidad está tambien incluida en aircrack-ng.
Con claves pre-compartidas, el cliente y el punto de acceso establecen las claves que se van a usar en sus comunicaciones al comienzo cuando el cliente se asocia por primera vez con el punto de acceso. Hay cuatro paquetes “handshake” entre el cliente y el punto de acceso. airodump-ng puede capturar estos cuatro paquetes handshake. Y usando un diccionario con una lista de palabras, aircrack-ng duplica los cuatro paquetes handshake para mirar si hay alguna palabra en el diccionario que coincida con el resultado de los cuatro paquetes handshake. Si lo consigues, habrás identificado de forma satisfactoria la clave pre-compartida.
Hay que resaltar que este programa hace un uso muy intensivo del procesador del ordenador, y que en la práctica claves WPA pre-compartidas muy largas o inusuales no podrán ser encontradas . Un buen diccionario te dará mejores resultados. Otra posibilidad es usar un pograma como “john the ripper” para generar contraseñas que podrán ser utilizadas por aircrack-ng.
Explicación de la profundidad (depth) y del Fudge Factor
La mejor explicación es un ejemplo. Nos fijaremos en un byte en concreto. Todos los bytes son tratados de la misma manera.
Tu tienes los votos (votes) como en la captura de pantalla anterior. Para el primer byte ves lo siguiente: AE(50) 11(20) 71(20) 10(12) 84(12)
Los AE, 11, 71, 10 y 84 son los valores posibles de la clave para el primer caracter (byte 0). Los números que están entre paréntesis son los votos que cada posible valor ha acumulado hasta ahora.
Ahora si decides usar un “fudge factor” de 3. Aircrack-ng realizará la siguiente operación a partir del byte que tiene más probabilidades o votos: AE(50):
50 / 3 = 16.666666
Aircrack-ng probará (fuerza bruta) todas las claves posibles que tengan un número de votos superior a 16.6666, resultando que
AE, 11, 71
serán utilizados, por lo que tenemos un número total de 3 valores a probar para ese byte o caracter (depth):
0 / 3 AE(50) 11(20) 71(20) 10(12) 84(12)
Cuando aircrack-ng está probando claves con AE, muestra 0 / 3, cuando acabe de probar todas las claves con ese byte, pasará al siguiente con más votos (11 en este ejemplo) y mostrará:
1 / 3 11(20) 71(20) 10(12) 84(12)
Uso
aircrack-ng [opciones]
Aquí está la explicación para todas y cada una de las opciones disponibles:
Option Param. Description
-a amode Fuerza el tipo de ataque (1 = WEP estática, 2 = WPA/WPA2-PSK).
-e essid Si se especifica, se usarán todos los IVs de las redes con el mismo ESSID. Está opción es necesaria para crackear claves WPA/WPA2-PSK si el ESSID está oculto.
-b bssid Selecciona el AP objetivo basándose en la dirección MAC.
-p nbcpu En sistemas SMP, especifica con esta opción el número de CPUs usadas.
-q none Activa el modo silencioso (no muestra ninguna salida hasta que encuentra o no la clave).
-c none (WEP cracking) Limita la búsqueda únicamente a caracteres alfanuméricos (0×20 - 0x7F).
-t none (WEP cracking) Limita la búsqueda únicamente a caracteres hexadecimales codificados en binario.
-h none (WEP cracking) Limita la búsqueda únicamente a caracteres numéricos (0×30-0×39). Estas claves numéricas son utilizadas por defecto por muchos APs y muchas compañias de ADSL.
-d start (WEP cracking) Especifica el comienzo de la clave WEP (en hexadecimal).
-m maddr (WEP cracking) Dirección MAC para la que filtrar los paquetes de datos WEP. Alternativamente, se puede especificar -m ff:ff:ff:ff:ff:ff para usar todos y cada uno de los IVs, sin preocuparnos de la red.
-n nbits (WEP cracking) Especifica la longitud de la clave: 64 para WEP de 40-bit, 128 para WEP de 104-bit, etc. La opción por defecto es 128.
-i index (WEP cracking) Guarda solo los IVs que tienen este índice de clave (1 to 4). La opción predeterminada es ignorar el índice de clave.
-f fudge (WEP cracking) Por defecto, esta opción está fijada en 2 para WEP de 104-bit y en 5 para WEP de 40-bit. Especifica un valor más alto para para elevar el nivel de fuerza bruta: la obtención de la clave llevará más tiempo, pero la probabilidad de éxito será mayor.
-k korek (WEP cracking) Hay 17 ataques korek de tipo estadístico. Algunas veces un ataque crea un falso positivo que evita que encontremos la clave, incluso con grandes cantidades de IVs. Prueba -k 1, -k 2, … -k 17 para ir desactivando cada uno de los ataques.
-x/-x0 none (WEP cracking) No aplicar fuerza bruta sobre los dos últimos bytes de la clave (keybytes).
-x1 none (WEP cracking) Aplicar fuerza bruta sobre el último byte de la clave (opción por defecto).
-x2 none (WEP cracking) Aplicar fuerza bruta sobre los dos últimos bytes.
-X none (WEP cracking) No aplicar fuerza bruta con multiprocesadores (solo sistemas SMP).
-y none (WEP cracking) Éste es un ataque de fuerza bruta experimental, que solo debe ser usado cuando el ataque estandard falle con más de un millón de IVs
-w words (WPA cracking) Ruta al diccionario.
No hay comentarios:
Publicar un comentario