martes, agosto 05, 2008

Atacar WPA/WPA2 PSK (parte III de IV)

***************************************************************************************
Atacar WPA/WPA2 PSK (parte I de IV)
Atacar WPA/WPA2 PSK (parte II de IV)
Atacar WPA/WPA2 PSK (parte III de IV)
Atacar WPA/WPA2 PSK (parte IV de IV)
***************************************************************************************
[Este artículo ha sido escrito por Alejandro Martín y Chema Alonso]

Crackeo de clave WPA/WPA2 PSK - Teoría

En el modo WPA/WPA2 PSK la clave PMK de la cual se deriva luego la PTK se obtiene con la siguiente función:

PMK = PBKDF2(PSK, SSID, longitud SSID, 4096, 256)

Donde PBKDF2 es una función de derivación de claves que forma parte de los estándares criptográficos de clave pública de los laboratorios RSA (PKCS). Se trata de una función pseudoaleatoria que se utiliza para derivar la clave (PMK) haciendo uso de la frase PSK y SSID.

Para derivar a partir de aquí la clave de cifrado por sesión (PTK) se hace uso de la PMK, los números aleatorios intercambiados, conocidos como anonce y snonce, y las direcciones MAC de cliente y punto de acceso. Dado que todo lo que se utiliza ha sido capturado salvo la PSK, basta con probar diferentes frases ya sea por fuerza bruta o mediante el uso de diccionario, para dar con la clave que se ha utilizado en el cifrado.

Para realizar este proceso de crackeo existe la posibilidad de utilizar tablas pre-calculadas [Rainbow tables] de modo que se incremente el número de pruebas que se pueden realizar por segundo para tratar de averiguar la clave. Esto es factible, sin embargo, existe una gran diferencia con el uso de este tipo de tablas en el crackeo de otras contraseñas.

El problema radica en que los hashes precalculados dependen del SSID de la red, con lo que no es posible tener precalculados todos los hashes para todos los posibles nombres de red. Existen proyectos, como el de Renderlab donde es posible obtener hasta 33 GB de hashes precalculados, partiendo de un diccionario (en inglés) y listado de SSID. Lógicamente aquí en España su utilidad es bastante más limitada.

Crackeo de clave WPA/WPA2 PSK - Práctica

Una vez que se han capturado los paquetes de una sesión de autenticación de un cliente, entonces puede ejecutarse un proceso de cracking de la clave PSK. Para realizar este proceso es posible utilizar Cain, una herramienta de auditoría de seguridad que entre otros módulos trae uno especial para craquear contraseñas. En la pestaña Cracker de Cain, en el apartado “802.11 Captures” se debe importar el fichero .cap que contiene la captura de la autenticación de un cliente. Cain analiza el fichero de captura e indica si dentro del fichero .cap se encuentra algún Handshake válido del que se pueda extraer la clave PSK.

Imagen 8: Hanshake WPA2 capturado

Una vez que se tiene capturado el intercambio se envía a craquear, es posible utilizar un ataque por fuerza bruta o basarse en un diccionario para tratar de agilizar el proceso.

Imagen 9: Ataque sobre el hash de autenticación

El éxito del ataque ahora radica única y exclusivamente en la fortaleza de las password que haya utilizado el administrador de la red. Si ha colocado una clave de red que aparezca en un diccionario o la clave es suficientemente pequeña e insegura será factible romperla. Para tratar de romperla por fuerza bruta es necesario elegir el alfabeto a utilizar, las longitudes mínimas y máximas y empezar a probar.

Imagen 10: Ataque por fuerza bruta sobre el hash de autenticación

Para el ataque basado en diccionario, es necesario contar con un buen diccionario, e indicar las posibles pruebas a realizar con cada una de las palabras disponibles en el diccionario.

Imagen 11: Ataque por diccionario sobre el hash de autenticación

En cualquiera de los dos casos si consigue dar con la clave nos lo mostrará en la parte inferior con un mensaje como el siguiente:

Imagen 12: Resultado exitoso en el ataque sobre el hash de autenticación

La última versión de Cain tiene como limitación que no es capaz de trabajar con ciertos caracteres, con lo cual no sería posible crackear algunos hash de autenticación. Como alternativa a Cain se puede utilizar la suite aircrack, disponible tanto en Linux como en Windows, que permite trabajar con todo el abanico posible de caracteres.

Imagen 13: Éxito en el ataque sobre el hash de autenticación con aircrak

[Continuará]

***************************************************************************************
Atacar WPA/WPA2 PSK (parte I de IV)
Atacar WPA/WPA2 PSK (parte II de IV)
Atacar WPA/WPA2 PSK (parte III de IV)
Atacar WPA/WPA2 PSK (parte IV de IV)
***************************************************************************************

9 comentarios:

Jorge dijo...

Hola Maligno,
Sé que no viene a cuento aquí, pero llevo mucho tiempo siguiendo tus escrituras. El otro día con el tema del Vista y los comentarios me decidí por fin a instalarlo y probarlo, por eso de que alguien de IT no puede criticar algo que no ha probado a fondo. Pues la primera en la frente, no puedo instalar la consola de administración de mi Exchange 2003, algo que uso diariamente varias veces. Spectra da como respuesta que utilice la consola remota y que me conecte al servidor, algo que me parece muy triste.
¿Alguna solución para que ponga el Vista o definitivamente me quedo con mi flamante XP?

Gracias

Anónimo dijo...

Hola Lucifer

¡Sorprendente! Primero dices hace bastante tiempo que no se podia -eso fue hace mucho tiempo claro- y ahora nos das todo lujo de detalles de que si se puede. Parece que has olvidado lo mas elemental del existencialismo Hacker: que todo lo que hacen las personas no es ni mucho menos perfecto, y que todo tiene puntos debiles y que a largo plazo todo es hackeable, incluido tu propio espacio en el infierno...

Anónimo dijo...

/*OffTopic*/
Cada uno tiene que cometer sus propios errores. Es lo que me acaba de pasar a mi. Y no será que soy un ignorante de la seguridad, un poquito entiendo (pero no soy gay :)) Sólo he actuado como ese amigo mío que folló sin condón con una desconocida, en realidad fueron 2, en días distintos (no se ha hecho las pruebas y esto sí que es jodido). Yo he hecho lo mismo, pero no es tan grave. Lo sabía, lo había leío "en una al día", aquí y también de otros muchos sitios. NO TE BAJES SW PIRATA DEL EMULE. Pues yo la he metido sin condón y resulta que tenía tiburón. Me ha troyanizado todo el culo, la última versión del vmware workstation, la 6 (mal número). SOY UN BOOT DESDE EL 12 DE JULIO. Hasta hoy.

Alex dijo...

El artículo me está gustando mucho. Desconocía que estas cosas se pudiesen hacer tambien co aplicaciones para Windows.

Enhorabuena fenómenos!

Maligno dijo...

@jorge, sí, es un error conocido pero para ello escribieron un artículo de la KB que explica como conseguirlo.

KB930056

@anonimo, creo recordar que lo de crackear la clave dije que se podía hacer sólo por fuerza bruta o diccionario. Desde siempre.

Mis dudas eran en la parte que aun no está publicada, ya que las claves de cifrado son 4 por usuario y por sesión y se cambian cada poco tiempo.

No obstante, debe ser que soy un empirista y me gusta ver las cosas por mi mismo (o que me las expliquen bien) o quizá que me han contado muchas cosas que eran leyenda en mi juventud...

@anónimo, no te preocupes, a golpes aprendemos.

@alex, gracias!

Saludos!

Sergio dijo...

estoy sumamente frustradooo!! por mas que hago y hago, sigo los paso de todos lados y no logro obtener un handshake de ninguna forma, estoy usando commview en una acer one con una atheros AR5006X y no logro nada de nada, con las wep si es un paseo...

Roxana dijo...

Hola, muy bueno el tutorial, realmente es muy comprensible (especialmente para mí, que conozco muy poco del tema)
He estado experimentando con una red WPA2-PSK, pero hasta ahora no he podido capturar el Handshake. Anteriormente probé con el Aircrack, me aparece "Key found!: 12345678", sin embargo, cuando pongo el code no logro conectarme (según el solucionador de problemas de Win 7, la clave es incorrecta) Alguna sugerencia?

Maligno dijo...

@roxano, revisa los protocolos de cifrado. Además puede que haya un filtrado de MAC, por lo que debérias probar esto también.

Saludos y suerte!

Antoni dijo...

Hola
Estoy siguiendo este tutorial y tengo un problema al instalar Cain, primeramente en la pagina de descarga no me deja descargarlo, lo busco en la red y lo instaló, lo ejecuto pero nunca me aparece la pantalla del programa y tiempo despuñes desaparece el programa de mi sistema. Sabes que podra ser?
Saludos

Entradas populares