martes, 22 de febrero de 2011

Cómo descifrar claves WEP con Backtrack 4


Backtrack es una distribución GNU/Linux diseñada para la auditoría Wireless y en general para seguridad informática en la Red. Actualmente se encuentra en su cuarta versión, y se diferencia en otras distribuciones en que ésta trae más de 300 aplicaciones para la gestión de redes, entre las que se encuentra Aircrack-ng. Existe una versión de Aircrack para Windows, pero no funciona con la mayoria de tarjetas wifi, ya que habría que crear un driver para cada tarjeta para que soporte Aircrack, y eso está muy lejos de las posibilidades de cualquier usuario común. La suite Aircrack es un conjunto de herramientas para descifrar claves WEP una vez se haya capturado un número suficiente de paquetes de la red Wifi que utilice ese tipo de cifrado.

Volviendo al tema de Backtrack 4, podeis descargar la iso desde su web oficial, y luego grabarla en un DVD. También teneis la opción de instalar Backtrack en pendrive de como mínimo 2GB con la herramienta Unetbootin, o instalarla en una máquina virtual (VMware), pero eso lo dejamos para usuarios más avanzados. Hablando de usuarios, tengo que dejar claro que este tutorial/manual/guía está dirigido a usuarios con conocimientos básicos en linux, es decir, que sepa como mínimo manejar la consola (Shell). Si no sabes de lo que estoy hablando, mejor no continues leyendo y llama al informático más cercano.

Una vez tenemos nuestro DVD de Backtrack, o en mi caso instalado en una memoria USB, arrancamos el sistema operativo, y elegimos la opción por defecto (default). No voy a pararme a explicar como se bootea un DVD, ya que existen muchos manuales en internet de como hacerlo cambiando la configuración de la BIOS. Cuando se haya iniciado el sistema, si pide login es "root", y no tiene contraseña. A continuación escribimos "startx" y pulsamos Enter para que inicie la interfaz gráfica. Backtrack 4 viene con el entorno de escritorio KDE 3.5. A mi personalmente no me gusta, prefiero GNOME, pero eso es el gusto de cada uno.

Lo primero que tenemos que hacer es comprobar que cuando pulsamos sobre cada tecla del teclado, se imprima el caracter correspondiente. Si no es así habrá que seleccionar la configuración del teclado que mejor se adapte. Por defecto viene con la configuración de EEUU, pero eso da problemas (por lo menos a mi), ya que, por ejemplo al pulsar sobre la tecla guión, imprime otro carácter distinto. Abajo a la derecha, aparece un icono que representa una bandera, y que al pulsarla cambia la configuración del teclado. Como no está la opción de teclado en Español, elejimos la de Alemania, que viene a ser la misma configuración. Una vez resuelto ese pequeño inconveniente, comenzamos ahora con lo que realmente nos interesa.

Lo primero es ver si nuestro sistema ha detectado la tarjeta Wifi. Para ello abrimos una consola y ejecutamos el comando "ifconfig". Aparecerá una lista con las distintas tarjetas de red de nuestro PC. Suelen tener nombres como wifi0, ath0, o el caso más común, wlan0. Para comprobar que funciona correctamente tecleamos el comando airodump-ng y el nombre de nuestra tarjeta, por ejemplo, "airodump-ng wlan0". Si todo va bien, comenzará a mostrar una lista con las redes wifi disponible al alcance, con su correspondiente dirección mac (BSSID), el canal (CH), el nombre de la red (ESSID), cifrado (WEP/WPA), y otros datos importantes. Si no puedes ver esto, probablemente será porque el sistema no soporta tu tarjeta wifi. Tenemos que tomar nota de los datos de la red Wifi de la que queramos conseguir su clave WEP, y cerramos la consola.

Abrimos una nueva consola y ejecutamos "airmon start wlan0 6". Donde pone "6", debes poner el canal de la red wifi. El comando lo que hace es poner la tarjeta wifi en modo monitor en el canal canal especificado, que puede ser del 1 al 12. Si tu tarjeta wifi es compatible aparecerá un mensaje como "managed mode on" o "monitor mode enabled". Al entrar en modo monitor pueden pasar dos cosas: O que el nombre de la interfaz wifi no cambia (sigue siendo wifi0/ath0/wlan0), o que se cree una nueva interfaz con un nuevo nombre donde esta funcionando el modo monitor. En mi caso se crea una nueva interfaz con nombre "mon0", desde la cual trabajo a partir de ahora.

Casi siempre el principal problema a la hora de monitorear la redes wifi en linux tiene que ver con los drivers de las dichas tarjetas, o bien porque no existen dichos drivers, o porque existen pero no están diseñados para trabajar en modo monitor. Mi tarjeta wifi es la Realtek RTL 8187B, y antes de que se lanzara Backtrack 4, no existía ningún driver que realmente funcionase. Así que si tu tarjeta no está soportada en la actualidad, probablemente tengas que esperar a que desarrollen los drivers para futuras versiones de Backtrack, o comprar una nueva que sí tenga soporte.

Cuando conseguimos que nuestra tarjeta entre en modo monitor, lo siguiente que tendremos que hacer es ejecutar el comando "airodump-ng -w clave -c6 mon0". Y eso lo que hace es ir guardardando todos los paquetes que circulan por el canal 6 (-c6) en el fichero clave. Con la opción -w debemos especificar la ruta y nombre del fichero donde queremos que se vayan almacenando los paquetes. En Backtrack 4 ese fichero es nombrado como "clave-01.cap", y si no especificamos una ruta, se guardará en el directorio por defecto, es decir, en el escritorio. Pero tened en cuenta que cuando apaguemos el equipo, el archivo ".cap" será borrado, así que sería recomendable que lo guardarais en el disco duro. De forma que si teneis varios ficheros ".cap" de varias capturas distintas, podrán ser combinados como explicaré más adelante.

Abrimos una nueva consola, y la anterior la dejamos abierta para que vaya guardando el tráfico wifi. Ahora es cuando realmente empieza lo bueno. Ejecutamos el comando "aireplay-ng -1 30 -e WLAN_32 -a e0:91:53:23:cd:99 -h 00:21:63:04:54:4d mon0". En lugar de "WLAN_32" debemos poner el nombre de la red. Ojo con la distinción entre mayusculas o minisculas, porque sino no funcionará, y si el nombre de dicha red viene con espacios, deberemos ponerlo con comillas. Donde pone "e0:91:53:23:cd:99", hay que poner la dirección mac (BSSID) de la red wifi, y donde pone "00:21:63:04:54:4d", debeis poner la dirección mac de vuestra tarjeta wifi. Una forma fácil de averiguar cual es la mac de tu tarjeta es, desde Windows, en el símbolo del sistema (CMD) ejecutar el comando "ipconfig -all".

El siguiente paso es, desde otra nueva consola, ejecutar "aireplay-ng -3 -x600 -b e0:91:53:23:cd:99 -h 00:21:63:04:54:4d mon0". Con estos dos últimos comandos lo que hacemos es comenzar a leer y enviar paquetes y recibir ARP y guardarlos, lo que se conoce como inyección. A partir de ahora debemos fijarnos en la columna "#data "de la primera consola que dejemos abierta. En dicha columna se muestra el numero de paquetes capturados (IVs). Para poder descifrar una clave WEP de 64 bits, serán necesarios más de 5000 paquetes hasta 50000-60000 como máximo, y para claves WEP de 128 bits serán necesarios alrededor de 100000 paquetes. Este proceso puede tardar entre 10 minutos y 3 horas, eso depende de la calidad de la señal y de si el propietario esta haciendo uso de la red, es decir, que haya tráfico. Si todo esto no funciona puede deberse a que hay algunos routers wifi que vienen preparados para evitar la injección.

Cuando el número de paquetes capturados se acerque al numero de paquetes suficientes para descifrar la clave, en una nueva consola ejecutamos el comando "aircrack-ng clave-01.cap". Con esto se nos mostrará una lista con los nombres de las redes y el número de IVs capturados. Seleccionamos la red correspondiente, y automáticamente comenzará el descifrado de la clave mediante fuerza bruta, es decir, que va probando todas las combinaciones de claves posibles sobre los paquetes capturados hasta que encuentra la clave deseada. El cifrado WEP tiene entre 1048576 y 4294967296 claves distintas, por lo que el proceso puede durar más o menos en función del número de paquetes capturados (cuantos más mejor) y de la potencia de nuestro procesador. La clave será mostrada en formato ASCII, y suele ser un conjunto de números y letras (hexadecimal).

Por último, me falta añadir que si disponeis de varios ficheros ".cap" de varias capturas realizadas con anterioridad, el comando aircrack-ng puede combinarlas, de modo que si, por ejemplo, teneis la mala suerte de que vuestra tarjeta inyecta muy lentamente y sólo podeis capturar 5000 paquetes que insuficientes para el descifrado, podeis probar otro día a realizar el mismo proceso y capturar otros nuevos 5000 paquetes, y finalmente ejecutar "aircrak-ng clave-01.cap clave-02.cap clave-03.cap ...". Aircrak se encargará de sumar todos los paquetes de la misma red, y descifrar la clave WEP.

6 comentarios:

Julian dijo...

Hola Nitro, muy buen articulo, pero permite me una recomendación mas.

Si a este ataque le sumamos el conocido chop shop con el cual capturamos un paquete arp para después inyectarlo como si fuéramos un cliente mas, los IVS se incrementarían de una forma inimaginable facilitando así la captura en redes con poco trafico.

Nitro dijo...

gracias por la info! no conocia el ataque chop-chop... tendré que probarlo haber si me funciona ;)

Anónimo dijo...

here

Feel free to surf to my weblog seo for lawyers
Review my blog : attorney leads

Anónimo dijo...

Top Network Marketing Companies - Zeek Incentives

my web blog :: lawyer search engine optimization
Also visit my weblog ... lawyer search engine optimization

Anónimo dijo...

Continued

Look at my web site: bankruptcy lawyers in jacksonville fl
My blog post - foreclosure homes

Anónimo dijo...

Hi there this is kind of of off topic but I was wondering if blogs use WYSIWYG editors or if you have to manually code with HTML.
I'm starting a blog soon but have no coding experience so I wanted to get guidance from someone with experience. Any help would be greatly appreciated!

Also visit my web-site; compare car insurance

Publicar un comentario