Archive

Posts Tagged ‘cracking wpa’

Crackeando WPA2 con un Half-Handshake

marzo 10, 2015 Deja un comentario

Las redes wifi con WPA/WPA2 activado suelen ser suficientemente seguras y dadas sus características, a la fecha de redactar este articulo, la única forma de atacar directamente una red con este mecanismo de protección es intentando capturar un 4way-handshake entre el cliente y un AP. Un 4way-handshake en la terminología de WPA se refiere a los paquetes de datos intercambiados entre AP y cliente a la hora de realizar el proceso de autenticación mutuo. No obstante, aunque un handshake completo es lo deseado para poder iniciar un ataque por diccionario, también es posible hacerlo con un handshake “a medias”, es decir, cuando el cliente inicia el proceso de autenticación con un AP y dicho proceso ha fallado. Ahora bien, seguramente el lector ya lo sabe, pero cuando un dispositivo tiene registrado un AP con el que suele conectarse con frecuencia (como por ejemplo una red wifi domestica), dicho dispositivo envía de forma constante paquetes del tipo “PROBE_REQUEST” con la esperanza de que el AP se encuentre en en la zona de alcance. Cuando un AP con el SSID especificado responde con un “PROBE_RESPONSE”, el proceso de autenticación en ambos sentidos comienza inmediatamente, dando lugar a una serie de peticiones que identifican tanto al cliente como al AP y determinan si ambos son quienes dicen ser. Se trata de un procedimiento robusto en el que la relación de confianza en ambos sentidos es vital para que la conexión se pueda realizar correctamente. No obstante, es posible que solamente una de las dos partes se pueda identificar con la otra de forma correcta, en este caso hablamos de un handshake a medias, ya que solamente una de las dos entidades ha podido reconocer a la otra. Con un handshake a medias también es posible realizar el mismo ataque por diccionario que con un handshake completo y por este motivo, también es un vector de ataque valido en este tipo de entornos.
Ahora, ¿Cuándo y cómo se debe llevar a cabo este tipo de ataque? Cuando se capturan los paquetes “PROBE_REQUEST” de un cliente, dichos mensajes contienen el SSID del AP que el cliente busca y en este punto, un atacante puede levantar un AP falso con dicho SSID para responder a las peticiones enviadas por el cliente. Para responder al “cómo” de la pregunta anterior, pueden haber varios mecanismos validos, como por ejemplo utilizando la herramienta “ap-hotspot”. Por simplicidad y porque es una solución rápida de implementar, se puede utilizar la herramienta “KDE NetworkManager” o el “NetworkManager de Gnome”, a efectos prácticos utilizar cualquiera de los dos resulta equivalente.

Configurando un AP inalámbrico con el NetworkManager

En sistemas Debian el paquete que incluye el KDE NetworkManager es el “network-manager-kde” y en sistemas Ubuntu el “plasma-nm”. Como es acostumbrado en este tipo de sistemas, se puede instalar muy fácilmente utilizando herramientas como “apt-get”. Por otro lado, en sistemas Debian y Ubuntu con GNOME, el NetworkManager viene incluido por defecto y se puede ver en el panel lateral en donde se encuentran otras herramientas del escritorio. En ambos casos, crear un AP es bastante simple, las imágenes que se enseñan a continuación muestran cómo crear un AP con un SSID y una contraseña. (Antes de crear la conexión, asegurarse de que la red wifi se encuentra desactivada).

 

wifi1

Creando conexión inalámbrica con NetworkManager de Gnome

wifi2

Estableciendo los detalles básicos de conexión

wifi3

Estableciendo credenciales de acceso a la conexión.

Después de crear la conexión, aun es necesario cambiar el modo de la conexión, de esta forma actuará como AP. Para ello, es necesario editar el siguiente fichero de configuración.

sudo gedit /etc/NetworkManager/system-connections/ONO-FAKE

Donde “ONO-FAKE” es el nombre que se le ha dado a la conexión. Al abrir dicho fichero de configuración, es necesario cambiar la línea “mode=infrastructure” por “mode=ap”. El contenido del fichero será similar al siguiente:

[connection]

id=ONO-FAKE

uuid=c3704266-e143-4705-a3c0-9511fc2d37eb

type=802-11-wireless

[802-11-wireless]

ssid=ONO12B5

mode=infrastructure

mac-address=9C:D2:1E:43:76:E9

security=802-11-wireless-security

[802-11-wireless-security]

key-mgmt=wpa-psk

psk=testingwpa2ap

[ipv4]

method=auto

[ipv6]

method=auto

Con todo lo anterior, ahora se puede activar la red wifi y el dispositivo actuará como un AP con el SSID indicado.

El siguiente paso consiste en capturar todo el trafico correspondiente a las conexiones que realizarán los clientes contra el AP recién creado. Para ello, se puede utilizar Wireshark, TCPDump o airodump-ng para capturar el handshake a medias.

sudo tcpdump -i wlan0 -s 65535 -w half-handshake.cap

Una forma de conseguir trafico, es utilizando herramientas como aircrack-ng para ejecutar ataques de “deauthenticación” contra los clientes de una red determinada. En el caso de que no exista un AP con el SSID especificado en la zona de acción, pero que se tenga la plena seguridad de que en algún momento habrá clientes que busquen dicho SSID, solamente será cuestión de paciencia y esperar a que dichos clientes ejecuten las peticiones “PROBE_REQUEST”.

Finalmente, es el momento de realizar el ataque por diccionario y para ello, se puede utilizar una herramienta llamada “WPA2-HalfHandshake-Crack”

Utilizando WPA2-HalfHandshake-Crack

“WPA2-HalfHandshake-Crack” es una herramienta que se encarga de realizar ataques por diccionario contra ficheros PCAP con un handshake completo o uno a medias. El proyecto se encuentra ubicado en el siguiente repositorio de GitHub: https://github.com/dxa4481/WPA2-HalfHandshake-Crack.git

Es necesario instalar todas las dependencias para poder ejecutar el script y para ello, se puede lanzar el script setup.py con el argumento “install”. La utilidad principal del proyecto es “halfHandshake.py” y recibe como argumento las siguientes opciones:

-r: Fichero PCAP con el handshake o el handshake a medias que se ha capturado previamente

-m: Dirección MAC del AP.

-s: El SSID del AP.

-d: Ubicación del diccionario para realizar el ataque. Si no se especifica un valor, se lee el diccionario por defecto de la herramienta.

Usando el fichero PCAP capturado en el paso anterior y un diccionario que contiene la contraseña, se puede ejecutar la utilidad para intentar obtener el passphrase.

python halfHandshake.py -r half-handshake.cap -m FC15B4FCF606 -s “ONOB4387″ -d dictONOFAKE

loading dictionary…

0.02212665655% done. 700.23228772 hashes per second

0.0431311549654% done. 713.574044375 hashes per second

0.0637903739549% done. 714.927209317 hashes per second

0.0851689250818% done. 721.570195251 hashes per second

0.105885690642% done. 721.111075404 hashes per second

Passphrase found! testingwpa2ap

Como se puede apreciar, ha sido rápido y limpio, evidentemente porque el diccionario especificado ya contenía la passphrase del AP, sin embargo es bastante ilustrativo para probar el uso de esta herramienta y verificar que aunque no se cuente con un handshake completo, aun sigue siendo posible realizar un ataque por diccionario con un handshake a medias.

Un saludo y Happy Hack!
Adastra

Wireless Hacking – Cracking WPA/PSK utilizando Honeypots WPA /WPA2 – Parte XVI

mayo 24, 2012 Deja un comentario

Uno de los vectores más efectivos contra clientes de redes inalámbricas es la creación de Fake AP’s o Evil Twins (que en esencia parten de los mismos conceptos) dado que es relativamente fácil engañar a un cliente para que utilice un determinado punto de acceso, tal y como se ha comentado anteriormente en este blog en creando de un evil twin y creando un fake AP.

La diferencia entre el ataque de “Evil Twin” y la creación de Fake AP simple, es que el ataque de “Evil Twin” se caracteriza por ser un ataque dirigido, mientras que la creación de un Fake AP con un portal captativo, sin ningún tipo de mecanismo de autenticación, como en el caso de Karmetasploit (ver el post sobre karmetasploit) es un ataque abierto y pasivo, dado que no se ejecuta contra un cliente(s) concreto, solamente espera a que alguien quiera utilizar el AP sin ningún tipo de autenticación (Hay algunos “hackers” que les gusta tener internet gratis y que sean otros los que lo paguen por ellos). Sin embargo, cuando se trata de la creación de un Fake AP con cifrado WPA o la ejecución de un ataque de “Evil Twin” contra un AP con WPA/WPA2 con PSK, las cosas cambian. Por este motivo, en esta publicación se intentará explicar como se adaptan estas técnicas (especialmente en el caso del “Evil Twin”) contra un AP con WPA/WPA2 con PSK.

Leer más…

Wireless Hacking – Utilizando Cowpatty y Pyrit para optimizar ataques por diccionario contra WPA/WPA2 – Parte XV

mayo 17, 2012 2 comentarios

Una de las principales desventajas de realizar un ataque offline por diccionario es la cantidad de tiempo y de recursos que deben emplearse para conseguir crackear una clave WPA, la razón de esto es que todo el proceso de generación de la clave PSK con 256 bits debe realizarse una y otra vez para cada una de las palabras encontradas en el diccionario de claves, esto sin lugar a dudas puede consumir una gran cantidad de recursos en un ordenador que lo pueden dejar “inutilizable” mientras se realiza el ataque.

WPA/WPA2 el proceso de ataque por fuerza bruta es tan exigente en términos de recursos de CPU? Porque para cada clave contenida en el diccionario debe aplicarse el algoritmo PBKDF2 que como se recordará de publicaciones anteriores, es el responsable de la generación de la clave maestra PMK (comúnmente conocida como PSK) el algoritmo recibe como parámetros una serie entradas que son:

1. El passphrase (la clave del AP seleccionada por el administrador del router)

2. El SSID

3. La longitud de dicho SSID

4. Número de veces que el passphrase será codificado (hashed) 4096

5. La longitud de la clave PSK (256)

Leer más…

Wireless Hacking – Cracking WPA/WPA2– Parte XIV

mayo 10, 2012 1 comentario

Una vez que se han comprendido correctamente los conceptos funcionales de WPA con PSK, se comprende rápidamente que el proceso de crackeo de una red que este tipo de protección no es una tarea trivial y adiciona un nivel de dificultad extra que no existía en WEP, para que un atacante pueda atacar este mecanismo de defensa, en primera instancia debe capturar el “4-way handshake” generado cuando un supplicant y un authenticator intercambian los paquetes correspondientes al proceso de instalación de las claves PTK. Para recordar estos conceptos, merece la pena volver a enseñar la imagen de la anterior publicación en la que se explica como es el intercambio de mensajes (y su tipo) entre el authenticator y el supplicant.

Leer más…

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 1.465 seguidores

A %d blogueros les gusta esto: