Rompiendo claves WEP con el Acer Aspire One

jueves, 20 de agosto de 2009
Inicialmente destaqué la solvencia de la tarjeta WiFi del Acer Aspire One, la cual era, a mi parecer, bastante potente. Esto puede aprovecharse para un pequeño experimento: intentar obtener una clave WEP de una red WiFi.

Desde hace mucho tiempo se considera la encriptación WEP insegura. No estamos, ni mucho menos, descubriendo la polvora, existiendo numerosos programas capaces de encontrar la clave de acceso. En el Acer Aspire One este proceso es, aún si cabe, mucho más fácil.

Para ello deberemos olvidarnos temporalmente de Linpus y arrancar un distribución especifica para la auditoría (basicamente, poner a prueba) de seguridad en redes. Esta distribución es la conocida BackTrack. En particular, deberemos descargarnos la versión live para USB. Una vez descargada, debermos instalarla en una llave USB (mayor o igual a 2GB).

Para este paso nos valdremos de una utilidad mencionada con anterioridad, Unetbootin. Dicha utilidad fue usada anteriormente para obtener el disco de arranque que nos permitiría actualizar la BIOS. Ahora, en vez de seleccionar una de las imagenes ISO preseleccionadas, pondremos la que nos hemos descargado:

sudo yum install syslinux p7zip-plugins
wget -O unetbootin http://downloads.sourceforge.net/unetbootin/unetbootin-linux-293
chmod 755 unetbootin
sudo ./unetbootin &

Al igual que antes indicaremos como disco de arranque el dispositivo '/dev/sdb1', que será del tipo USB.

Ena vez finalizado el proceso tendremos el sistema de auditoria instalado y listo para arrancar en el USB. Sin embargo, usar "a pelo" esta distribución puede ser un poco complicado. Para automatizar un poco las cosas, nos descargaremos RUSSIX. RUSSIX no es más que un conjunto de programas que nos simplificaran enormente las tareas.

Un vez descargado y descomprimido en la raiz de la tarjeta USB. Arrancaremos desde este dispositivo (pulsando F12 durante el proceso de arranque de la BIOS). Debemos prestar especial atención al momento en que nos pregunta que tarjeta de video usar, entonces deberemos seleccionar la opción que incluye VESA. Una vez hecho dejamos que el sistema se inicie.

Veremos que se arranca un interfaz gráfico similar al linpus aunque más complicado (en algunas ocasiones no anda el ratón, se soluciona reiniciando). Abriremos un terminal de ordenes (Alt- F2) y nos iremos al directorio donde esté el RUSSIX, ejecutándolo de la siguiente forma:


cd RUSSIX
sh a

Primero seleccionaremos la tarjeta (ath0):


Es posible que a veces no salga ninguna red. Esto es porque no han sido detectadas durante el arranque. No deberia suceder, pero a veces ocurre. Si no sale, simplemente reinicia el sistema. Verifica de todas formas que tienes el interruptor de red WiFi encendido.

Si todo va bien, nos mostrará entonces las redes disponibles:

Seleccionaremos el nombre o SSID de la "victima" (necesariamente una red con encriptación WEP) y presionamos CTRL-C. Acto seguido nos preguntará por el nombre de la red que queremos atacar. Escribiremos exactamente el nombre de la red (SSID) que seleccionamos anteriormente:


Nos abrirá la siguiente ventana (en donde corre el airodump-ng):

Y luego esta otra (donde se realiza la asociación):

Este punto es crítico ya que el programa obtendrá un paquete de la red y lo reinyectará continuamente (más adelante lo veremos en detalle). Primero nos pregunta si queremos utilizar el paquete, pulsaremos “y” (veremos que pregunta varias veces). En ese momento se inicia el programa de busqueda de clave.

Muy someramente el procedimiento es el siguiente: la parte más vulnerable del encriptado son unos paquetes llamados IVs. A partir de estos paquetes es relativamente sencillo descubrir la clave de acceso. Sin embargo estos paquetes se emiten muy de vez en cuando. El problema es que se necesitan del orden de unos 20000 IVs para encontrar la clave (como vereis, en cuanto el programa de busqueda de clave se inicia, intenta deducir la clave, no puede y espera a tener 5000, 10000, 15000, ... IVs). Es evidente que el proceso puede demorarse muchisimo.

Para acelerarlo, el programa que anteriormente nos pregunto si queriamos usar un paquete, simplemente re-emite o reinyecta en la red un paquete tomado aleatoriamente y modificado convenientemente. El objetivo es que este paquete cause fallos en la red y se tenga que reestablecer la conexión. Cuando se reestablece una conexion se emiten muchos paquete IVs (que es lo que queremos).

Hasta que no encontremos un paquete que cause fallos veremos que el numero de IVs crece muy lentamente, pero en cuanto demos con uno el numero crecerá como la espuma. Es cuestión de armarse de paciencia e ir pulsando "y" sucesivamente en el programa de selección de paquetes (incluso puede que sea necesario reiniciar todo el proceso), hasta tener suerte.

En cuanto forcemos la generación de paquetes IVs solo tendremos que esperar unos minutos para obtener un "KEY FOUND!" y la ansiada clave.


Aunque la finalidad de este tipo de aplicaciones tiende a ser bastante evidente, el objetivo de esta entrada es puramente didáctico. Pruebelo contra su propia red y no contra redes ajenas, ya que esto último podría ser considerado como delito.

0 comentarios:

Publicar un comentario