Ataques prácticos contra WPA2

8
  

Tal vez un duplicado: Bruteforce en 10 caracteres de longitud Contraseña WPA2

Por lo tanto, estoy tratando de ingresar a la seguridad de la red doméstica por diversión. Más concretamente, estoy intentando reproducir el escenario de descifrar la contraseña WPA2 de mi enrutador doméstico.

Fue trivial grabar un apretón de manos con mi AP. Ahora, para descifrar la contraseña (ya conocida por mí). La contraseña consta de dos palabras largas en búlgaro (pero escritas en latín), con primeras letras en mayúsculas, sin espacios, caracteres especiales o números.

  • Encontré dos diccionarios para tales contraseñas en búlgaro: uno , dos . Ninguna de estas dos palabras está en ninguno de los diccionarios.

  • La contraseña tiene 18 caracteres de longitud. Si bien la elección podría haber sido un ejemplo afortunado de "corregir la combinación de caballos", incluso una contraseña de 10 caracteres no es factible para fuerza bruta , según mis cálculos. Tenga en cuenta que Wikipedia parece indicar lo contrario.

  

Para protegerse contra un ataque de fuerza bruta, una frase de contraseña verdaderamente aleatoria de 13 caracteres (seleccionada del conjunto de 95 caracteres permitidos) es probablemente suficiente.    Wikipedia

aircrack-ng: 1500 keys/second
worst_case_attempts = (lowercase(26) + uppercase(26) + numbers(10) + common_symbols(15)) ^ pass_len(10)
The result is about 80 million years.

Entonces, ¿a dónde voy desde aquí? ¿Aprendo cómo generar diccionarios según las distribuciones de probabilidad de la entrada del usuario, por ejemplo? Las mayúsculas son a menudo las primeras letras? ¿Aprendo más sobre los detalles del protocolo? ¿Busco otros tipos de ataque, por ejemplo? ¿Atacar de alguna manera los puertos abiertos del AP?

    
pregunta Vorac 04.09.2013 - 12:24
fuente

1 respuesta

8

WPA2 utiliza PBKDF2 para el hashing de contraseñas; está configurado con HMAC / SHA-1 y 4096 iteraciones. El resultado es una cadena de 256 bits. Dado que SHA-1 ofrece solo una salida de 160 bits, PBKDF2 necesita aplicar HMAC / SHA-1 iterado dos veces, para obtener los 256 bits de salida, por lo que esto significa 8192 invocaciones de HMAC / SHA-1. Cada invocación implica dos llamadas elementales a SHA-1 ("llamada elemental" significa "procesamiento de un bloque de 512 bits con la función de compresión SHA-1"), por lo que son 16384 invocaciones de función hash. Una vez que se obtiene la clave dependiente de la contraseña de 256 bits, todavía se necesitan algunos cálculos adicionales para verificar esa clave con respecto a lo que se observó, pero eso es liviano, por lo que ignoramos ese costo aquí (es tan costoso como un par de invocaciones SHA-1 más ). La clave completa de 256 bits debe estar disponible para esa comprobación, por lo que no hay acceso directo aquí: un atacante que ejecute un ataque del diccionario debe pagar el costo de computar 16384 instancias de SHA-1 (más algunos códigos adicionales) por contraseña.

Un atacante con una buena GPU puede esperar mil millones de instancias de SHA-1 por segundo, por lo que podría "probar" 60 miles de contraseñas por segundo, pero eso es suponiendo que tiene una buena , GPU programable, y que el software que utiliza está a la altura. El software de cracking común como Aircrack-ng generalmente será solo para la CPU, lo que le dará el tipo de rendimiento que observe (1500 contraseñas por segundo ). Suponiendo que puede encontrar un diccionario apropiado (lo que puede ser difícil, como lo observa, cuando el objetivo usa palabras búlgaras), y conocer el método de construcción (como explica: dos palabras, con mayúscula), entonces puede calcular el número de posibles contraseñas (con un diccionario de N palabras, es N2 posibles contraseñas) y una simple división le dará el tiempo necesario para "intentar todos ellos ".

Sin más información sobre las distribuciones de probabilidad de los componentes de contraseña, hay poco más que puede hacer. Esto también muestra que las 4096 iteraciones de PBKDF2 son efectivas para dificultar la vida de los atacantes.

Ahora, ¿hay posibles atajos? Hay un acceso directo potencial , que es que PBKDF2 usa un salt ; es como si no hubiera una función PBKDF2, sino miles de millones de billones de funciones distintas, una por valor de sal. Si varios puntos de acceso usan la misma sal, entonces los atacantes que intentan romper cualquiera de estos puntos de acceso pueden coludir y compartir el esfuerzo, porque las "contraseñas probadas" para un punto de acceso también se aplicarán (de alguna manera) a otros puntos de acceso. En WPA2, la sal para PBKDF2 es el SSID de la red. Por lo tanto, si varios puntos de acceso usan el mismo SSID, entonces transforman la misma contraseña en la misma clave.

Sin embargo, los mensajes reales y la clave de cifrado reales se derivarán no solo de la contraseña cifrada, sino también de los valores de nonce que los puntos de acceso y el cliente de conexión envían como parte de los pasos iniciales del protocolo de enlace. "https://security.stackexchange.com/a/17782/655"> esta respuesta para los punteros). Esto en realidad evita que las precomputaciones sean efectivas. Existe un consejo genérico acerca de no usar un "SSID común" pero, en el caso de WPA2, usar el mismo SSID que muchos otros puntos de acceso no parece provocar ninguna debilidad adicional.

Todo lo anterior se trata de intentar encontrar la contraseña del punto de acceso para descifrar el tráfico, o conectarse al punto de acceso y beneficiarse de sus servicios (es decir, acceso a Internet "gratuito"). Actualmente no se conoce ninguna debilidad en WPA2, por lo que la adivinación de contraseñas es la única ruta de acceso práctica.

Sin embargo, si el verdadero objetivo no es el punto de acceso sino otra máquina que se conecta a ese punto de acceso, entonces pueden aplicarse otros métodos. Por ejemplo, el atacante puede configurar un punto de acceso falso, anunciando el mismo SSID, pero sin requerir ninguna autenticación; es posible (según el sistema operativo y la configuración de la víctima, y la capacidad del usuario humano de "hacer clic" en las ventanas emergentes de advertencia) que la máquina de destino se conectará al punto de acceso falso. En ese momento, el atacante debe proporcionar el servicio de "acceso a Internet", pero también tiene un acceso directo a la máquina de la víctima, lo que le permite probar cualquier explotación remota relevante para esa máquina. Además, esto coloca al atacante en el lugar ideal para probar los ataques Man-in-the-Middle .

    
respondido por el Thomas Pornin 04.09.2013 - 13:40
fuente

Lea otras preguntas en las etiquetas