Búsqueda

jueves, 2 de diciembre de 2010

Respaldando la contraseña de los puntos de acceso de nuestros vecinos

Se nos ha presentado en muchas ocasiones la necesidad de poder ayudar a que nuestro vecinos, que tienen sus puntos de acceso protegidos con claves de tipo WEP, nunca olviden o pierdan sus contraseñas.
Como buenos ciudadanos podemos usar herramientas de Software Libre para colaborarles en la tarea de almacenarles caritativamente sus contraseñas en nuestro basto espacio de disco duro :).
Primero que nada necesitamos una tarjeta de red inalámbrica con capacidades para hacer esta tarea, son muy famosas las de chip Atheros para estas tareas, aunque hace poco probé con una Broadcom en la oficina y cuando mis jefes se enteren de que respalde la contraseña de su red creo que se sentirán muy orgullosos de que busco la manera para que no olviden como acceder a su red inalámbrica con mayores libertades que la institucional.
Bueno lo segundo es tener un flamante GNU/Linux instalado con la tarjeta de red configurada, en mi caso el poderoso Debian es suficiente, en el existen las herramientas necesarias para lograrlo.
Empezando hay que instalar el paquete aircrack-ng por si no está instalado:
# aptitude install aircrack-ng
Una vez con esto instalado primero tenemos que tomar algunos datos importantes, el primero es que tenemos que saber cosas del punto de acceso, y esas cosas son el nombre, la dirección de hardware y el canal por el cual envía la señal, para ello ejecutamos el siguiente comando:
# iwlist wlan0 scann | grep Cell -A 5
Esto mostrará una salida como esta:
Cell 01 - Address: 64:68:0C:77:A7:E4
                    Channel:1
                    Frequency:2.412 GHz (Channel 1)
                    Quality=51/70  Signal level=-59 dBm  
                    Encryption key:on
                    ESSID:"VECINO"
De ahí sacamos los datos de la dirección de hardware:

Address: 64:68:0C:77:A7:E4

El canal por el cual transmite:

Channel:1

Y el nombre de la red:

ESSID:"VECINO"

Con estos datos ya podremos proceder a buscar como respaldar la contraseña de ese punto de acceso, primero debemos colocar nuestra tarjeta en modo monitor:
# airmon-ng start wlan0 1
En lo anterior wlan0 es el nombre de la tarjeta de red en el sistema operativo y el 1 es el canal al que necesitamos conectarnos, al hacer eso crea un monitor como si fuera una interfaz adicional de tarjeta de red y le llama mon0 (sí se ejecuta varias veces mon1, mon2, etc...).
Despues hay que empezar a capturar paquetes de transito de esa red, para lo que se usa la herramienta de captura de los datos.
# airodump-ng -c 1 -w wep123 --bssid "64:68:0C:77:A7:E4" mon0
En el comando anterior va un '-c 1', donde el 1 es el canal otra vez y "64:68:0C:77:A7:E4" es la dirección de hardware del punto de acceso, y 'wep123' es el patron de un grupo de archivos que llevarán ese nombre en la carpeta donde se está ejecutando el comando.
Esto ocupara la terminal, por lo que sería bueno ocupar otra terminal para seguir, teniendo que asociarse al punto de acceso para poder generarle tráfico, se hace una asociación breve con:
# aireplay-ng -1 0 -a "64:68:0C:77:A7:E4" -e "VECINO" mon0
En el comando anterior otra vez se puede identificar la dirección de hardware "64:68:0C:77:A7:E4" y el nombre del punto de acceso "VECINO" y la interfaz que hace de monitor mon0, luego de ejecutar esto dice Association succesful :-), lo que significa que estamos asociados al punto de acceso.

Acto seguido hay que hacer que el punto de acceso genere tráfico, y como es de esperarse a veces nuestros vecinos no es que pasen ocupando mucho la completa capacidad del punto de acceso, así que hay que ayudarles a que generen ese tráfico de red con el comando siguiente:
# aireplay-ng -3 -b "64:68:0C:77:A7:E4" mon0
Ya aburro escribiéndolo pero es necesario reacalcarlo, en la ejecución anterior se nota la dirección de hardware del punto de acceso "64:68:0C:77:A7:E4" y la interfaz del monitor mon0.
Al hacer esto nuevamente la terminal será acaparada, pues mostrará que está enviando paquetes y verán un número incrementarse, en la primera consola o terminal que dejamos trabajando al inicio también veremos que en la tabla mostrada, bajo la columna que dice #Data habrá un número incrementándose de manera muy rápida (y que antes no lo hacía), hay que esperar a que llegue a un número de 20,000 o mas (no se tardará mucho en hacerlo).
Una vez echo esto de haber esperado a 20,000 paquetes o más en la ejecución de la captura de datos de esa tabla, hay que cancelarla con [Control] + [C].
Inmediatamente hay que ver que los archivos del directorio están listos para ser analizados, las capturas las almacena con un identificador en el nombre, por lo que si es la primera vez el archivo que necesitamos se llama wep123-01.cap, (pero si hemos ejecutado este comando muchas veces el número después del guión variaría como por ejemplo wep123-09.cap) asumiendo que todo está bien y es nuestra primera vez que deseamos ayudar a nuestro vecino sólo nos falta ejecutar este comando:
# aircrack-ng -n 64 -b "64:68:0C:77:A7:E4" wep123-01.cap
Luego de un par de extraños códigos que se mueven en nuestra pantalla veremos aparecer abajo de ellos algo parecido a esto:
KEY FOUND! [ 68:0C:77:A7:E3 ]
Esta clave encontrada en el ejemplo es un hexadecimal, por lo que al ponerla en las configuraciones de red no es necesario colocar los dos puntos entre cada número, hay casos en que la contraseña es alfanumérica y aparece como tal al final del ejercicio.
Ahí termina nuestra afable labor de conservarle la contraseña a nuestro vecino, pudiendo almacenarla en nuestro catálogo amplio de datos que no debemos olvidar para cuando sean necesarios.
Espero que seamos personas de bien y le ayudemos a toda la colonia a poder recordarles las claves de los puntos de acceso donde sean necesarios, incluso a nuestros jefes por si se les olvida ;).