Mostrando entradas con la etiqueta crackear wiffi. Mostrar todas las entradas
Mostrando entradas con la etiqueta crackear wiffi. Mostrar todas las entradas

jueves, marzo 20, 2008

ROMPIENDO EL CIFRADO WEP EN 8 COMANDOS

Existen múltiples manuales para romper la seguridad de las redes Wireless cuando se utiliza el protocolo WEP, en este caso, ajustamos el entorno a las siguientes condiciones, distribución livecd WHAX, portatil Dell Latitude D610.
Dentro de la distribución tenemos todas las utilidades que vamos a necesitar.

Comenzamos.......

Introducimos el cdrom de WHAX.

Indicamos a la BIOS el inicio desde cdrom.

Tecleamos:

1. linux load=ipw2200


De esta forma se cargará el entorno necesario para hacer funcionar la tarjeta wifi.

...cuando se nos presenta la pantalla que nos habla de la configuración del entorno gráfico X, y nos indica la password del usuario root, indicamos:

login:root
passwd:toor

y a continuación tecleamos..
2. startx


Una vez iniciado el entorno gráfico, si no carga correctamente las X, habrá que usar xconf, el entorno gráfico no es necesario, así que podríamos evitarnos este segundo paso e ir directamente al tercero.

Mediante el menú de navegación de WHAX, accedemos a una consola "Xterm" y tecleamos..
3. airmon.sh start eth0

4. airodump eth0 pruebas 0 1


(Apuntamos el nombre de la red (ESSID) y el canal (channel) a la que queremos acceder)
5. iwconfig eth0 mode monitor channel (canal) essid (essid)

6. airmon.sh start eth0 (canal)

7. airodump eth0 (essid) (canal) 1


En este momento comienza la captura de paquetes, cuanto mayor sea el número de IVS mayor la posibilidad de obtener la clave, en nuestro caso con 240.998 IVS se obtuvo en 6 segundos. Las recomendaciones son de 1.000.000 de IVS para una clave WEP de 104 bits.
Una vez capturado este tráfico...
8. aircrack (essid).ivs


Y en un periodo breve de tiempo... nos mostrará la clave.

Existen diversos métodos para acelerar la captura de tráfico en concreto de los IVS, pero no los explicaremos aquí.

Notas: este procedimiento no está probado en situaciones distintas a las descritas en el documento.

El valor (essid) ha de sustituirse por el nombre de la red wifi cuya clave se quiere obtener.
El valor (canal) se ha de sustituir por el canal de la red donde se quiere capturar el tráfico.

Enlaces relacionados:
iwhax.net
Aircrack

Y ..la Web oficial de aircrack http://www.cr0.net:8040/code/network/ de la que cuenta la leyenda que cuando se produce la alineación de los astros funciona, durante la realización de este artículo nunca se produjo.

Rompiendo el protocolo WPA con clave precompartida (PSK) y (TKIP) .. Acelerando el proceso.

En el artículo anterior vimos como se podía romper el protocolo WPA con clave precompartida PSK (TKIP), a través de un ataque de fuerza bruta.

Recordamos una vez obtenida la clave del protocolo WPA-PSK(TKIP) las conclusiones que obtuvimos...

Como todo proceso aquí existen 2 problemas, que pasaremos a comentar:

* Tiempo: más de 5 horas
* Rate: 172 palabras/segundo

El tiempo que se tarda en completar un fichero de más de 4 millones de entradas, que no es mucho, es excesivo y es debido al rate o número de palabras verificadas por segundo.

Para acelerar este proceso es necesario precalcular el PMK, para ello podemos utilizar la utilidad genpmk de Cowpatty.

Cowpatty es una herramienta específica para la ruptura del protocolo WPA-PSK(TKIP) que podríamos haber empleado en la primera parte del articulo.
Teniendo en cuenta que la generación del PSK se realiza de la siguiente manera:

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

El problema al que nos enfrentamos a la hora de atacar el protocolo WPA con diccionarios de texto plano es que, como se pudo observar, es un proceso exageradamente lento. Algunos pensarán que un ataque offline de más 5 horas es muy poco, pero teniendo en cuenta que el diccionario era de apenas 4 millones de entradas cambia un poco la perspectiva.

Como podemos observar en la fórmula anterior, el PMK esta compuesto por una serie de valores o atributos donde el SSID y la longitud del mismo entre otros son siempre los mismos para un mismo dispositivo.

Siendo esto así podremos precalcular un hash PMK donde solo se compare el valor cambiante, es decir, la clave.

Este proceso como el que se describe en el artículo anterior no esta exento de problemas ya que, como os habréis dado cuenta, es necesario generar el fichero de hash para cada ESSID, siendo imposible la reutilización del mismo.

Por ello, la generación de un fichero de hash para un ESSID no genérico o por defecto es más larga y costosa que el propio ataque a través de un diccionario de texto plano.
¿Donde esta la gracia entonces? Es la pregunta que muchos se estarán haciendo en estos momentos, pero la realidad es otra si tenemos en cuenta los miles de puntos de acceso que vienen con el ESSID por defecto, ya sea del fabricante o del ISP. Entonces ¿y si encontramos o nos ponemos a generar ficheros de hash con nombres de ESSID por defecto?

Probablemente nunca podremos recopilar todos los ESSID por defecto y menos aún generarlos con un diccionario de más de 50 millones de entradas, tardaríamos toda una vida y parte de la otra. De ahí la importancia de compartir este tipo de ficheros.

A continuación mostraremos como generar los ficheros de hash y hacer uso de las mismas. En nuestro caso, y por seguir el hilo del artículo anterior, precalcularemos el PMK para cada una de las entradas del diccionario con el ESSID HACKTIMES.

* Generar el fichero:

# genpmk –f ModlokHacktimesDICCsrt.txt –d HACKTIMES_COW –s HACKTIMES
Opción -f: Diccionario.
Opción -d: Nombre del fichero de hash que se generará.
Opción -s: El Essid.

* Ejecución del ataque:

# cowpatty -r pskcrack-01.cap -d HACKTIMES_COW -s HACKTIMES
Opción -r: Fichero *.cap donde capturamos el handshake con el airodump.
Opción -d: Nombre del fichero generado con la utilidad genpmk.
Opción -s: El Essid.

Collected all necessary data to mount crack against passphrase.
Starting dictionary attack. Please be patient.
key no. 100000: ÒÁÓÐÁÈÎÕÔØÓÑ
key no. 200000: after-written
…
The PSK is "ZinedineZidane".
3586552 passphrases tested in 50.24 seconds: 71385.42 passphrases/second

Las previsiones han sido mejores que las que esperábamos, que eran de unas 20000 palabras por segundo. Como se puede observar ha testeado 3 millones y medio de claves en 50 segundos, muy por debajo de las más de 5 horas de la vez anterior.

Rompiendo el protocolo WPA con clave precompartida (PSK) y el protocolo de integridad de clave temporal (TKIP)

Los proveedores de servicios o ISPs que distribuyen puntos de acceso siguen sin tener presente la seguridad como una necesidad, por lo que en el mejor de los casos utilizan el inseguro protocolo WEP.

Poco a poco se van implementando en los dispositivos, configuraciones por defecto que dejan a un lado el lamentable protocolo WEP, que tantos y tantos quebraderos de cabeza ha generado, tanto en particulares como en entornos de pequeña y mediana empresa.

En este breve artículo veremos como las “nuevas” implementaciones como WPA-PSK (TKIP) son susceptibles a ataques de fuerza bruta.

WPA es un subconjunto del desarrollo del estándar 802.11i, donde con un porcentaje de éxito mucho menor que con el protocolo WEP, es posible la obtención de la contraseña a través de un ataque por diccionario.

Para entender un poco más el protocolo WPA-PSK es necesario conocer, aunque sea de forma muy superficial, el protocolo TKIP (Temporal Key Integrity Protocol), que fue diseñado para cubrir en gran medida las criticas continuas sobre la debilidad del protocolo WEP.

Podemos decir que TKIP:

* Es un vector de inicialización o IV de 58 bits
* Tiene una clave de 128 bits
* Generación de bloques de 4 Bytes (MIC) a partir de la dirección de origen, de destino y datos, es decir, cifra el checksum incluyendo direcciones MAC.

WPA-PSK es un protocolo de clave compartida (PSK) para aquellos entornos donde no existen servidores de autenticación (RADIUS). La clave esta compuesta por una cadena de 256 bits o una frase entre 8 y 63 caracteres.


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

Paso a paso ....

* 1. Asociación del dispositivo cliente con el AP.
* 2. Autenticación y distribución de claves PMK (Pair-Wise MasternKey)
* 3. Creación del PTK (Pair Wise Transient Key) basado en el anterior PMK
* 4. Verificación de la integridad.
* 5. Establecimiento de sesión a través del protocolo TKIP.

Para realizar esta prueba se han utilizado un portátil ASUS Pentium IV, una tarjeta PCMCIA AirPlus Extreme con chipset Atheros. La distribución elegida para llevar a cabo nuestros planes es BACKTRACK con drivers MADWIFI.

Tanto los puntos de acceso como los clientes del mismo pertenecen a un entorno controlado y destinado exclusivamente a estas pruebas.

Datos de los dispositivos de laboratorio:

* BSSID del AP(Viene a ser la MAC): 00:30:BD:98:CE:62
* ESSID: HACKTIMES
* MAC dispositivo cliente: 00:15:E9:1B:33:53

Lo primero que haremos es buscar un punto de acceso que tenga este tipo de configuración (WPA-PSK(TKIP)). En nuestro caso y debido a que disponemos de puntos de acceso y dispositivos cliente debidamente configurados (no es objeto de este artículo el explicar como se configura un AP para que incorpore este tipo de cifrado, que en último caso dependerá del dispositivo instalado así como de su firmware) es muy sencillo encontrar un punto de acceso, aunque a veces se hace complicado localizar un AP con este tipo cifrado fuera del laboratorio.

El primer paso antes de realizar cualquier acción es establecer el modo monitor en nuestra tarjeta PCMCIA.

Modo 1
# airmon start ath0

Modo 2
# iwconfig ath0 mode monitor

A continuación lanzaremos la herramienta airodump para descubrir las redes cercanas, incluida la que hemos configurado para la ocasión, así como diversos datos que nos serán imprescindibles.

Nota: En caso de que airodump no sea capaz de identificar un AP con cifrado WPA-PSK, es necesario el uso de herramientas como Kismet o NetStumbler, entre otras.

Esta herramienta será vital para detectar nuestro AP, pero será también lo es el fichero que se genere donde intentaremos capturar los datos de autenticación de un determinado dispositivo conectado al AP.

Una vez tengamos la tarjeta en modo monitor, ejecutaremos..

# airodump ath0 captura 0 0

Se puede observar que con estas opciones (el último 0) que estamos capturando todos los paquetes, a diferencia de cuando se rompe el protocolo WEP, que utilizamos la opción 1 que captura solo los paquetes de tipo IV, a fin de evitar que se generen ficheros de captura muy grandes.

Para llevar a cabo este tipo de ataque únicamente necesitamos capturar el “handshake” (negociación) que se produce cuando un cliente se autentica con un punto de acceso.

Una vez esto en marcha podemos ver en la siguiente imagen como airodump ha detectado el punto de acceso que nos interesa (ESSID HACKTIMES).



Detección del ESSID


Los objetivos que nos planteamos llegados a este punto es capturar el “handshake”, que será reflejado en la columna #data, donde veremos incrementado el número de paquetes una vez realizado el ataque de denegación de servicio.

Aunque en un principio pueda que airodump no identifique el cifrado y aparezca con algo similar a lo siguiente “WEP?” en la columna “ENC”. En cuanto se capture un cierto volumen de tráfico, o mejor aún un “handshake” se establecerá ya como “WPA”.

A continuación se realizará un ataque de denegación de servicio contra el cliente conectado al AP, que en nuestro caso es 00:15:E9:1B:33:53. Para ver que clientes están conectados a un determinado punto de acceso es recomendable el uso de Kismet, tanto por la sencillez como por la cantidad de información que muestra, pero existen más herramientas que nos pueden brindar resultados excelentes.

# aireplay –0 5 –a 00:30:BD:98:CE:62 –C 00:15:E9:B1:33:53

Aireplay


Aireplay



Ataque 0: deautenticación: este ataque es probablemente el más útil para recuperar un ESSID oculto así como para capturar el “handshake”.

Habrá que tener cuidado en no dejar el dispositivo cliente inoperativo, que es lo más normal en este tipo de ataques.

El efecto que se produce en el dispositivo cliente es inmediato, tal y como se puede apreciar.

Desconexión de la Red


Desconexión de la Red


Aunque los paquetes aumenten, por ahora no sabemos si realmente el cliente se ha desconectado y vuelto a autenticar al punto de acceso. Esto es necesario para poder capturar el “handshake”.

Captura de la Negociación


Captura de la Negociación


Una vez capturado los paquetes usaremos aircrack para primero verificar que realmente hemos obtenido el ansiado “handshake”, y si es así, lanzar el ataque.

# aircrack –a 2 –w ModlokHacktimesDICCsrt.txt pskcrack-01.cap

Ataque al cifrado


Ataque al cifrado


Hay que tener en cuenta que con un solo “handshake” es suficiente y que hay que compararlo con un diccionario, es decir, por fuerza bruta. Teniendo en cuenta estos dos factores dependerá de la calidad de nuestro diccionario el éxito ante este tipo de ataque, que en definitiva tiene un gran porcentaje de suerte.

Desde HackTimes hemos usado un fichero secuencial con más de 4 millones de líneas o posibles contraseñas.

Clave Identificada


Clave Identificada


En la imagen superior observamos como se ha detectado la clave, con lo cual nuestro primer ataque al protocolo WPA-PSK(TKIP) ha sido todo un éxito.

Como todo proceso aquí existen 2 problemas, que pasaremos a comentar:

* Tiempo: más de 5 horas.
* Rate:172 palabras/segundo

El tiempo que se tarda en completar un fichero de más de 4 millones de entradas, que no es mucho, es excesivo y es debido al rate o número de palabras verificadas por segundo.

Para acelerar el proceso es necesaria la creación de tablas de tipo Rainbow Tables, y el uso de herramientas como la versión 3.0 de Cowpaty y su utilidad genpmk. Una vez creadas las tablas podemos obtener un rate de más de 20000 palabras por segundo.

En una siguiente ocasión veremos como se realiza todo este proceso de forma detallada.