jueves, 12 de noviembre de 2009

COMO: Atacando nuestra clave WEP. Un estudio de su fortaleza





En el post anterior os explicaba como conseguíamos conectarnos a internet en mi piso de estudiantes. El caso es que como disponemos de un router antiguo, no hemos tenido otro remedio que cifrar nuestra comunicación con nuestro router con una pobre clave WEP. A raíz de esta desafortunada solución, se me ocurrió comprobar la fortaleza de nuestra clave. En este manual encontrareis una forma de comprobar como de fuerte es vuestra protección contra cualquiera que quiera averiguar vuestra clave de cifrado.
Al ser mi primer "como" pido disculpas de antemano por lo feamente hecho que estará. Os invito a hacer todas las observaciones y críticas que queráis en los comentarios, así podre solucionar los posibles errores y aprender como hacer manuales.




→ ¿Que necesito?

  • Un ordenador con una tarjeta wifi o un usb wifi.


  • Una distribución línux con la suite aircrack-ng y el programa wlandecrypter instalados.


→ No cumplo los requisitos, ¿como lo hago?




Si no eres usuario de linux (muy mal por tu parte, por cierto), no hay ningún problema. Tan solo tienes que buscar un manual que te diga como instalar wifislax o wifiway en un usb y arrancar el sistema operativo en cuestión desde un cd o usb.
Si eres usuario de linux, seguro que puedes instalar aircrack-ng desde los repositorios. Un ejemplo: En ubuntu, abrimos un terminal y escribimos:


$ sudo aptitude install aircrack-ng


Para descargar e instalar wlandecrypter escribimos lo siguiente en una terminal:





Nos fijamos en el archivo que guarda, que será algo así como wlandecrypter-(nº de versión)y escribimos:


$ tar -xzvf wlandecrypter-(nºversión)
$ cd ./wlandecrypter-(nºversión)
$ make
$ sudo mv ./wlandecripter /usr/bin


Una vez hecho esto, ya tenemos todos los requisitos necesarios.




→ Ya cumplo los requisitos, ¿y ahora que?




Muy bien, ya tenemos todo lo que nos hace falta, ahora ha llegado el momento de la verdad. Resulta que no basta con tener los requisitos antes mencionados, además nuestra tarjeta o usb wifi tiene que ser tal que acepte el modo monitor. No os voy a explicar de que se trata este modo, solo como activarlo.
Lo primero que necesitamos para activar dicho modo, es saber con que nombre reconoce linux nuestro dispositivo wifi, para ello, tecleamos en un terminal:


$ iwconfig


En algunas distribuciones de linux este comando solo se puede ejecutar poniendo 'sudo' delante. Nos tenemos que fijar en el nombre del dispositivo que este activo (aparece un montón de letras al lado del nombre). Dicho dispositivo se llamará algo así como: wlan0; ath0, wifi0... En mi caso es wlan0, por lo que de aquí en adelante utilizaré dicho nombre. Solo tendrás que cambiarlo por el tuyo en las instrucciones que siguen.
Una vez sabemos el nombre de nuestro dispositivo, ponemos:


$sudo airmon-ng stop wlan0
$sudo airmon-ng start wlan0


Despues de esto, y si todo a ido bien, saldrán unas pocas lineas. Nos fijamos en una que pone algo así como: “monitor mode enabled on mon0”. Este es el nombre del dispositivo de nuestra wifi en modo monitor, en mi caso 'mon0'. Fíjate en el nombre de tu dispositivo y cada vez que veas mon0 cambialo por el tuyo. Si sale un error y no puedes activar el modo monitor, no sigas leyendo, pues estarás perdiendo el tiempo.
Una vez activado el monitor, hemos de averiguar el canal en el que esta la red que queremos atacar. Esto se hace tecleando en la terminal:


$ sudo airodump-ng mon0



Con este comando, aparece una lista con todas las redes wifi que tenemos a nuestro alcance. Nos fijamos en el nº que hay en la columna CH. Ese es el canal en el que está nuestra wifi. Una vez lo sabemos, pulsamos control+c para parar la orden anterior y escribimos:


$ sudo airodump-ng -w captura -c (canal antes elegido) mon0


A partir de este momento estamos 'esnifando' todos los paquetes que se emiten en el canal. Hemos de fijarnos si el numerito de la columna #Data que está en la fila de nuestra wifi aumenta. Si no aumenta o aumenta muy lentamente, hemos de inyectarle tráfico. Para esto, abrimos otra terminal y escribimos:


$ sudo aireplay-ng -1 0 -e (Nombre de la wifi seleccionada) -a (mac de la wlan seleccionada) -h (mi mac wifi) mon0
$ sudo aireplay-ng -3 -b (mac de la wifi seleccionada) -h (mi mac wifi) mon0


La mac de la wifi seleccionada es el número del estilo 00:1D:7E:AF:E4:XD que nos salia en la fila de nuestra wifi al ejecutar el comando airodump-ng. Nuestra mac la podemos adivinar ejecutando en una terminal:


$ifconfig (puede que haya que poner 'sudo' delante)


Buscamos entre todo lo que sale el apartado mon0, y nos quedamos con los 12 primeros número que hay a continuación de 'direcciónHW'. Hay que tener en cuenta que aunque aparezcan separados por guiones, hay que ponerlos separados por dos puntos “ : “.
A estas alturas, y si los comandos anteriores no nos han soltado algún error, ya deberíamos estar inyectando paquetes. Al cabo de unos minutos debemos notar que en la primera terminal que abrimos, la anteriormente mencionada columna #Data va aumentando. Este el el número de paquetes que hemos capturado. Depende de la fortaleza de la clave y el tipo de encriptación necesitaremos mas o menos paquetes de este tipo.
Si es una red del estilo WLAN_XX, donde xx puede ser cualquier combinación de numeros o letras, hacemos lo siguiente. En otra terminal, escribimos:


$ wlandecrypter (mac de la wifi seleccionada) WLAN_(n�mero o letra de la wifi seleccionada) diccionario


Con esto acabamos de crear un diccionario para este tipo de redes. Tanto como si tenemos diccionario como si no, ya solo nos queda atacar la red. En una terminal libre ponemos:


$ sudo aircrack-ng -b (mac de la wifi seleccionada) -w diccionario captura-01.cap


La parte “ -w diccionario” solo hemos de ponerla si disponemos de diccionario. Ahora, el programa empezará a probar claves hasta que pase una de las dos siguientes cosas:

  1. Que no pueda descifrar la clave: En este caso, el mismo programa nos dirá que volvamos a intentarlo cuanto tengamos un número mayor de paquetes. No hay problema, esperamos a ello y volvemos a introducir el comando anterior en la terminal.


  2. Que descifre la clave: En este caso el programa anunciará que la ha encontrado y te dirá cual es.

La fortaleza de nuestra clave la podemos estimar por la cantidad de paquetes que son necesarios para descifrar nuestra clave.
Espero que este manual os halla servido para probar que tal fuerte es vuestra contraseña, y recordad que esto no debe ser utilizado para atacar redes que no sean vuestras, pues según el pais en el que residáis, puede que sea delito. El autor de este manual no se hace cargo de un uso fraudulento o malintencionado de todo lo aquí expuesto. Como dicen en el pueblo del autor, cada palo que aguante su vela. Si tenéis alguna duda, dejad un comentario y si puedo os la resolveré.

9 comentarios:

  1. Que feo!!!! tengo que reconocer que nunca "he probado la fortaleza de una contraseña" porque la tarjeta de mi portatil no se podía poner en modo monitor. Lo que si es hecho es configurar varias redes y te puedo asegurar que no le pongo cifrado WEP y contraseñas adivinables con palabras de diccionario, jejeje.

    ResponderEliminar
  2. Juan, con un linux y el airmon-ng puedes poner casi cualquier tarjeta en modo monitor. Si quieres, inténtalo y así podrás "comprobar la fortaleza de tu contraseña".
    Yo también soy de los tuyos y no pongo WEP nunca, salvo en el caso de mi piso que el router no da para más. Creo que asalté la contraseña con apenas 10000 paquetes, y me sobraron 9999.
    por cierto, ¿Tu tienes blog¿, ¿a cualo es?

    ResponderEliminar
  3. $ tar -xzvf wlandecrypter-(nºversión)
    $ cd ./wlandecrypter-(nºversión)
    $ make
    $ sudo mv ./wlandecripter /usr/bin

    Eso de poner cd ./ o mw ./ es redundante.

    "Espero que este manual os halla servido..."
    Es haya.

    ResponderEliminar
  4. Cómo me gustan los manuales para tontos jajaja. Está al pelo, paso por paso y sin explicar demasiado. Ya he comprobado la seguridad de un par de redes..ejem.. mías, por supuesto!! Un abrazote, feo, y sigue con manuales como éste.

    ResponderEliminar
  5. El "Tintin"ritero no debería ser tan quisquilloso ... y no ponerse nombres anónimos.

    ResponderEliminar
  6. Muy bueno el post.

    Te he añadido a la lista de enlaces. En la descripción he puesto:

    "El único blog capaz de hacer que se toquen las puntas de tu pantalla y se trencen tus pestañas"

    No me había enterado de que tenías un blog

    ResponderEliminar
  7. Y el fichero captura-01.cap de dónde lo sacamos.
    He seguido todos los pasos y nada, como no uso contraseña sino una wifi open, open, open cuando digo open es abierto, abierto y ni siquiera me dice nada el programa.

    Se te ha olvidado decir que al terminar hay que restaurar la red wlan0 y desactivar el monitor mon0.

    ResponderEliminar
  8. Querido TinTin:
    Una ley de Murphy nos dice : "No se pueden hacer las cosas a prueba de tontos, los tontos son muy ingeniosos".
    Y no olvidemos su corolario: "Puedes llegar a hacer una cosa a prueba de muchos tontos, pero no a prueba de ese maldito tonto".
    Por lo de activar de nuevo el wlan0, lo mejor que puede hacer un usuario de bajo nivel es reiniciar.

    ResponderEliminar
  9. http://www.taringa.net/posts/linux/1772128/Como-Usar-WiFiSlax-3_1.html
    os dejo un video con imágenes para que le proceso se os haga entretenido. Es divertido :) voy a seguirlo..a ver si una simple turista lo consigue.. saludos feo!! :D

    ResponderEliminar