Crackear redes wi-fi usando kubuntu (linux)




Hace poco me volví a interesar por este asunto y me costó tanto lograrlo (lo hice posible entre 4 o 5 páginas distintas) que he decidido hacer una entrada reuniendo todos los pasos. Antes de continuar debéis tener presente que esto es vedado en la mayor parte de los países así que si vais a hacer uso de ello deberá subsistir sobre VUESTRA red WiFi. Dicho esto, que seguramente pocos haréis ocasión alguno, procedamos a ello.
Primeros pasos
El primer paso será averiguar si nuestra tarjeta WiFi permite que la activemos en modo monitor. El modo monitor nos permite hacer un tipo de ataque que reduce considerablemente el tiempo de alcance de las claves (de unos días a unos minutos). No obstante, con cualquier tarjeta podéis obtener claves, el problema es que con una tarjeta sin modo monitor tardaréis días o semanas (o talvez nunca la consigáis). En este enlace hay un buen listado de tarjetas inalámbricas dónde se nos indica cuáles están preparadas para hacer inyección (modo monitor) y cuáles no. Si vuestra tarjeta está en esta franja y en la celda de “Inyección” pone “Lx”, ¡premio! Vuestra tarjeta permite la inyección de tráfico. Yo realizaré las pruebas con una D-link DWL con chipset Atheros (cuesta unos 25€ en cualquier tienda de informática). Ahora que sabemos que nuestra tarjeta es compatible debemos apostar los drivers “Madwifi” para contento tarjeta, ya que son los que nos permiten la inyección de tráfico y el uso de la aplicación aircrack-ng (la utilizada para averiguar las claves wifi). Antes de dominio apostar estos drivers necesitáis las herramientas de compilación y las cabeceras necesarias de linux (sin ello la instalación no se completaría). Así que accedemos a una terminal como administrador (tecleando “su” en ella) e instalamos las herramientas mencionadas:

aptitude install build-essential linux-headers-$(uname -r)
Instalar driver Madwifi
Una vez instaladas las cabeceras procedemos a la instalación de Madwifi. Para ello descarguemos la última interpretación de la web madwifi-project, actualmente la última interpretación (y la que estoy utilizando yo) es la siguiente: madwifi-hal-0.10.5.6-r3942-20090205.tar.gz Descargad el fichero en la carpeta /tmp/ (por ejemplo) y acceded a ella mediante consola para descomprimir e apostar el fichero:

[color=#999999]#ACCEDEMOS A LA CARPETA DONDE HEMOS DESCARGADO MADWIFI[/color]cd /tmp/[color=#999999]#DESCOMPRIMIMOS MADWIFI[/color]tar -xvvzf madwifi-hal-0.10.5.6-r3942-20090205.tar.gz[color=#999999]#ACCEDEMOS A LA CARPETA GENERADA[/color]cd madwifi-hal-0.10.5.6-r3942-20090205[color=#999999]#COMPILAMOS E INSTALAMOS[/color]make && make install
Si estáis reinstalando el driver recordad eliminar el anterior antes de hacer “make && make install”:

rmmod -w ath_pci.ko
Ahora que ya lo tenemos instalado debemos añadir el módulo al kernel de linux:

modprobe ath_pci
Y para añadirlo siempre que arranque el sistema, lo añadimos en el fichero modules situado en la carpeta etc:

echo ath_pci >> /etc/modules
Éste final comando escribe “ath_pci” al final del fichero modules. Si ya habíais instalado anteriormente Madwifi seguramente no sea necesario este paso (comprobad el contenido del fichero con “cat /etc/modules”).
Instalar aircrack-ng
¡Ya tenemos instalado Madwifi! Lo siguiente que haremos será apostar aircrack-ng:

aptitude -y install aircrack-ng
Menuda complicación, ¿eh?
Crackeando redes WEP
Antes de continuar a delante quiero recordaros lo que ya he dicho al principio… La excelencia de países no permiten hacer esto, así que si vais a hacerlo debe subsistir con permiso del dueño de la red que vayáis a atacar.
Activar modo monitor
Ahora que ya tenemos todo lo necesario activaremos el modo monitor de nuestra tarjeta para dominio hacer inyección de paquetes. Recordad que el final paso que hicimos fue añadir el módulo de la tarjeta al kernel de linux pero no hemos activado nuestra red. Comprobemos las redes que tenemos activas con “ifconfig”. Al hacerlo observaremos que tenemos una red “wifi0? pero esto es un dispositivo tácito y no nos sirve, así que pondremos en marcha el dispositivo ath0:

wlanconfig ath0 create wlandev wifi0 wlanmode sta
Si al hacerlo recibís el siguiente error:

wlanconfig: ioctl: Invalid argument
Es porque ya tenéis la red ath0 activada, pero para hacerla funcionar correctamente (solo para asegurarnos) haced lo siguiente:

[color=#888888]#LO DESTRUIMOS[/color]wlanconfig ath0 destroy[color=#888888]#Y LO VOLVEMOS A CREAR EN MODO STANDALONE (wlanmode sta)[/color]wlanconfig ath0 create wlandev wifi0 wlanmode sta
Sé que parece algo estúpido, pero sin hacer esto probablemente no funcionaría correctamente (la primera vez, dado que hemos instalado los nuevos drivers sin destruir la conexión previamente). Bien, ahora deberíais tener vuestra red wifi funcionando con normalidad y debéis dominio conectaros a una red si disponéis de la contraseña. Pasemos pues a activar el modo monitor de una vez:

[color=#888888]#LO DESTRUIMOS[/color]wlanconfig ath0 destroy[color=#888888]#Y LO VOLVEMOS A CREAR EN MODO STANDALONE (wlanmode sta)[/color]wlanconfig ath0 create wlandev wifi0 wlanmode monitor
Ya la tenemos en modo monitor. Ahora aparentemente no funciona el wifi ya que si vamos a explorar redes con el applet de gnome no encuentra nada. Pero si no habéis recibido error alguno es porque está activado y podéis pasar al siguiente paso.
Escanear redes y capturar paquetes
Primero haremos un escaneo sin especificar canal ni nada, simplemente para fijarse en qué canal se encuentra nuestra red:

airodump-ng ath0
La pantalla está dividida en dos partes importantes: la de AP (access points), en la parte superior y la de clientes, en la parte inferior.
airodump-ng (clic para ampliar)
Las cosas que más nos interesan son BSSID (MAC del AP), PWR (potencia de la señal), #Data que nos dice el número de paquetes captados (paquetes que luego servirán para averiguar la contraseña, cuantos más paquetes más posibilidades de conseguirla), CH (canal), ENC (tipo de encriptación que para acosar este tutorial debe subsistir WEP), ESSID (nombre de la red), STATION (usuarios conectados al AP). Mi red es la que tiene como nombre “JAZZTEL_2C” con BSSID 00:1A:23:14:23:3C y, evidentemente, esta es la que voy a atacar, así que empecemos capturando paquetes sólo para esta red (lo que reducirá el tamaño del fichero generado):

airodump-ng –channel [b]11[/b] –bssid [b]00:1A:23:14:23:3C[/b] –write jazztel2c ath0
En negrita están el canal y la BSSID respectivamente, que deberéis cambiar a partir de los datos obtenidos vosotros de vuestra red. El cuantificación –write indica dónde el nombre del fichero en el que se guardarán los datos y “ath0? es nuestra interfaz de red.
Comprobar bloqueo MAC
El siguiente paso será comprobar si el punto de acceso tiene activada la restricción MAC, para hacerlo utilizaremos aireplay-ng (en una nueva terminal, por supuesto):

aireplay-ng -1 0 -e JAZZTEL_2C -a 00:1A:23:14:23:3C -h 00:11:22:33:44:55 ath0
El primer cuantificación es el tipo de ataque (un número del 0 al 6), en este ocasión un uno, seguido del número de veces que se va a hacer (0 es la primera posición, así que se repetirá una única vez). El cuantificación -e es el nombre de la red, la -a su BSSID y la -h es una MAC inventada (ahí la gracia, dominar si nos permite conectarnos con una mac que no exista en su franja negra) y el final cuantificación es la interfaz de red que utilizaremos. Si el resultado es…

16:35:29  Sending Authentication Request (Open System) [ACK]16:35:29  Authentication successful16:35:29  Sending Association Request [ACK]16:35:29  Association successful [img]http://www.racotecnic.com/wp-includes/images/smilies/icon_smile.gif[/img]  (AID: 1)
El filtro MAC está inhabilitado y podéis pasar al paso “Inyección de paquetes (sin bloqueo mac)”, género saltad a “Inyección de paquetes (con bloqueo mac)”.
Inyección de paquetes (sin bloqueo mac)
Vayamos al terminal donde tenemos airodump-ng funcionando (captando paquetes) y comprobemos si hay algún STATION asociado al BSSID de la red a atacar. Si es así copiad la MAC de la estación y utilizadla en la siguiente orden:

aireplay-ng -3 -b 00:1A:23:14:23:3C -h 00:16:CB:BA:23:D2 ath0
-3 es el tipo de ataque, -b la bssid a atacar, -h la MAC de la STATION y el final cuantificación es la interfaz de red. En ocasión de no arreglaracomodar de un STATION debéis poner vuestra MAC, para averiguarla podéis mirarlo en vuestra tarjeta de red o bien con el comando:

ifconfig ath0 | grep HWaddr
Si os da vuestra dirección separada por guiones recordad ponerla separada por puntos y sólo las 6 primeras parejas de números. Hecho esto veréis como aireplay-ng empieza a enviar paquetes al AP. Puede que pasen unos minutos hasta que los “ARP” empiezan a incrementar, pero llegado ese momento podréis fijarse como los “#Data” de airodump-ng empiezan a subir rápidamente.
Inyección de tráfico con aireplay-ng
Si estamos atacando utilizando la mac de un STATION en lugar de la nuestra, nos aparecerá este error:

The interface MAC (06:19:5B:C9:F2:4A) doesn’t match the specified MAC (-h).ifconfig ath0 hw ether 00:16:CB:BA:23:D2
Esto es porque la mac que le hemos indicado no coincide con la de nuestra tarjeta de red. Para solucionar esto basta con cambiar la mac por la de la estación que estemos emulando (utilizad control+C para terminar el proceso de aireplay-ng, cambiad la MAC y volved a ejecutar aireplay-ng). Para cambiar la MAC pasad al punto Cambiar dirección MAC de la interfaz de red
.
Inyección de paquetes (con bloqueo MAC)
La disyuntiva más sencilla a la hora de jeringar paquetes en un AP con bloqueo MAC es hacerse pasar por solo de sus clientes. Para dominio hacer esto tenemos que cambiar la dirección MAC, no obstante aireplay-ng tiene la posibilidad de atacar AP con bloqueo MAC (con este proceso no es necesario cambiar la MAC):

aireplay-ng -0 5 -a 00:09:5B:D7:43:A8 -c 00:11:22:33:44:55aireplay-ng -3 -b 00:09:5B:D7:43:A8 -h 00:11:22:33:44:55
Es un proceso bastante más lento que sin bloqueo de MAC, pero funciona igualmente. De todos modos si hay alguna estación conectada al AP la mejor disyuntiva es que cambiéis vuestra MAC a la de contento estación.
Cambiar dirección MAC de la interfaz de red
Para ello hay dos maneras de hacerlo, una de ellas nos la indicaba un error de unas líneas más arriba:

ifconfig ath0 hw ether 00:16:CB:BA:23:D2
La otra es utilizar macchanger:

[color=#888888]#INSTALAMOS MACCHANGER[/color]aptitude -y install macchanger[color=#888888]#DESACTIVAMOS LA INTERFAZ DE RED ath0[/color]ifconfig ath0 down[color=#888888]#CAMBIAMOS LA MAC[/color]macchanger -m 00:16:CB:BA:23:D2[color=#888888]#REACTIVAMOS LA INTERFAZ DE RED ath0[/color]ifconfig ath0 up
Haciendo esto nos aseguramos que el AP crea que somos solo de sus clientes y facilitará la alcance de paquetes ARP.
aireplay-ng enviando paquetes
Autenticación en el router
En ocasiones puede que se nos presente el siguiente error al ejecutar la inyección de tráfico con aireplay-ng:

Notice: got a deauth/disassoc packet. Is the source MAC associated ?
Esto es debido a que no nos hemos identificado en el router y se da casi siempre que no hay una estación conectada al AP. Podemos solucionarlo de dos formas:

aireplay-ng -1 0 -e JAZZTEL_2C -a 00:1A:23:14:23:3C -h 00:16:CB:BA:23:D2 ath0
Que de subsistir ejecutado correctamente nos mostrará en pantalla:

18:18:20  Sending Authentication Request18:18:20  Authentication successful18:18:20  Sending Association Request18:18:20  Association successful [img]http://www.racotecnic.com/wp-includes/images/smilies/icon_smile.gif[/img] 
El otro método es el que sigue:

aireplay-ng -1 6000 -o 1 -q 10 -e JAZZTEL_2C -a 00:1A:23:14:23:3C -h 00:16:CB:BA:23:D2 ath0
Aquí estamos indicando que envíe paquetes cada 6 segundos (en milisegundos) y que sólo los envíe en grupos de solo (-o 1) ya que muchos AP se confunden al mandarles muchos paquetes juntos (que es como actúa por defecto).

18:19:20  Sending Authentication Request (Open System) [ACK]18:19:20  Authentication successful18:19:20  Sending Association Request [ACK]18:19:20  Association successful [img]http://www.racotecnic.com/wp-includes/images/smilies/icon_smile.gif[/img]  (AID: 1)18:19:42  Sending keep-alive packet [ACK]18:19:55  Sending keep-alive packet [ACK]
Ambas son igualmente eficientes (quizás la primera sea un poco más rápida, pero habrá muchas ocasiones en que no podréis utilizarla). Os recomiendo la segunda, ya que no paramos de autenticarnos en el router y no le damos pie a errores.
Averiguando la clave con aircrack-ng
Cuando el número de #Data esté por encima de 30.000 podemos acudir ejecutando aircrack-ng en una nueva terminal cargando el fichero que se va guardando (es decir, no paréis la captura de paquetes con airodump, por si no tuviérais suficientes datos):

aircrack-ng jazztel2c-01.cap
Y.. presto! Ya tenemos nuestra clave:
Contraseña desencriptada (clic para ampliar)
Descarga de ficheros
En ocasión de que no pudierais utilizar “aptitude” porque la máquina desde la cual queréis hacer los ataques no tiene conexión a internet podéis desencajar todos los programas que he ido mencionando desde la página de paquetes de ubuntu:
build-essentiallinux-headersaircrack-ngEn el ocasión de los linux-headers debéis desencajar la interpretación correspondiente a vuestra interpretación de kernel. Para averiguarla podéis hacerlo con “uname”:

uname -r
Recordad destruir la interfaz y reactivarla en modo standalone una vez tengáis la consigna para poderos conectar normalmente al AP.
Páginas de referencia
HOWTO: Aircrack-NGHowto get Madwifi-ng drivers to work properly!Ooh todopoderoso GoogleEspero haberme explicado con bastante claridad. Me he pasado mucho tiempo intentando organizarlo de la mejor manera posible. Ahora sólo os queda practicar! Con unas cuántas pruebas le pillaréis el tranquillo

Fuentes de Información

El contenido del post es de mi autoría, y/o, es un recopilación de distintas fuentes.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *