Descubrir la clave de una red inalámbrica con cifrado WEP utilizando un LiveCD (backtrack2)
25-10-2007 > GurXMostrar o escribir comentarios (dudas) sobre este artículo
Subtitulo: Hackear / Crackear clave en red inalámbrica - Wireless. How crack / hack WEP wifi.
S.O: Backtrack Versión 2.0 LiveCD ( No es necessario tener instalado ningun Linux )
(También probado en Debian Lenny)
Hardware:
· Portátil Acer Aspire 5620
· Senao/Engenius NL-2511-CD ext Plus.
· Pigtail MMCX a N Macho LMR100 1,5 mt.
· Panel Interline INT-PAN-14/24-HV Antena Planar 14dbi.
En este manual vamos a mostrar como se puede descubrir la clave de una conexión inalámbrica que esta cifrada con WEP. El proceso no es muy complicado, pero si lleva un poco de tiempo. Lo primero que necesitamos es el hardware especificado arriba o uno de muy similar. Yo precisamente opté por esta configuración ya que la tarjeta inalámbrica lleva el chip prism 2.5 que es muy compatible con todas las distribuciones de Linux. Además esta tarjeta es de la pocas que se le puede conectar una o dos antenas externas, con lo que ganamos alcance i direccionalidad. Ha salido la versión nueva de esta Senao y lleva el chip prism3, pero aún no he tenido la ocasión de probar ninguna. El panel direccional es perfecto en cuanto a precio/calidad y el conector entre ambos objetos es un poco caro pero necesario. Cuidado que los pigtails (conector que se conecta a la tarjeta PCMCIA) son frágiles, lo digo porque cuesta un poco cuando lo tienes que desconectar de la tarjeta inalámbrica!
Os dejo unas imágenes de como me ha quedado montado el hardware:
Fotografía 1 de los componentes
Fotografía 2 de los componentes
Fotografía 3 de los componentes
Fotografía 4 de los componentes
Fotografía 5 de los componentes
El siguiente paso es disponer de un Linux con los drivers Hostap patcheados para la re-injección de paquetes. A partir de la versión 2.17 los drivers hostap ya instalados con el kernel, pero no estan parcheados para la reinjección de paquetes. Esto lo puedes tener en cualquier distribución de Linux (yo lo tengo configurado en la Debian Lenny), pero aquí os voy a mostrar como hacerlo a partir de un Live CD así no tendréis que romperos la cabeza parcheando los drivers. Para este propósito vamos a usar la magnifica distribución Backtrack2 basada en Slackware 11.
Manos a la obra, ponemos el CD en el lector y arrancamos el LiveCD.
Una vez cargado el sistema operativo, nos saldrá la pantalla de login. Nos loguearemos como usuario "root" con contraseña "toor" y arrancamos el entorno gráfico KDE (aunque no es necesario).
> startx
Una vez cargado el entorno gráfico podemos escoger el keymap del teclado con el icono que está en la barra de tareas. Lo digo porque por defecto viene con el teclado Ingles y con 104 teclas.
El siguiente paso es poner la tarjeta PCMCIA que corra con los drivers Hostap. Por defecto, cuando se inserta la tarjeta, se cargan los drivers o
Orinoco y Hermes. Abrimos una consola y tecleamos.
(La targeta NO tiene que estar insertada)
> rmmod orinoco_cs
> rmmod orinoco
> rmmod hermes
> modprobe hostap_cs
Con la última instrucción cargamos los drivers Hostap para PCMCIA. Ahora ya podemos insertar la tarjeta wireless en la ranura. Veremos como se enciende una luz verde de la Senao - Engenius. Comprobaremos que se han cargado los drivers Hostap con un iwconfig. El nombre del dispositivo inalámbrico tiene que ser "wlan0".
> iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth2 IEEE 802.11b ESSID:"test" Nickname:"
Mode:Master Access Point: Not-Associated Bit Rate:11 Mb/s
Sensitivity=1/3
Retry short limit:8 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
wlan0 IEEE 802.11b ESSID:"test" Nickname:"
Mode:Master Access Point: Not-Associated Bit Rate:11 Mb/s
Sensitivity=1/3
Retry short limit:8 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Procedemos en activar el dispositivo y asignar-le una IP:
> ifconfig wlan0 up
> ifconfig wlan0 192.168.1.254
Ahora ya tenemos configurado la tarjeta Senao para la captura y reinjección de paquetes. En nuestro caso ya sabemos el nombre y canal de la red inalámbrica. En caso contrario podemos ver las redes que tenemos al alcance con un iwlist (iwlist wlan0 scan) o instalando un escaneador de redes inalámbricas como Kismet que permite múltiples opciones.
Si optamos por utilizar kismet os muestro como se configura para la PCMCIA Senao NL-2511-CD ext plus con chip prism 2 (Engenius Intersil).
> vim /etc/kismet/kismet.conf (añadimos las dos línias siguientes)
suiduser=gurx #nombre de un usuario
source=hostap,wlan0,hostap
Ejecutamos el programa y nos aparecerán todas las redes inalámbricas disponibles. Escogeremos una red (nos apuntamos el nombre, el número de canal y comprobaremos que tiene cifrado WEP)
> kismet
Captura pantalla 1
De ahora en adelante, cuando aparezca los siguientes nombres, se tiene que sustituir con los parámetros correspondientes.
nombre_red --> se sustituirá por el essid de la red.
mac_ap --> se sustituirá por la mac del punto de acceso
mac_cli --> se sustituirá por la mac del cliente
numero_canal --> se sustituirá por el numero de canal en que se emite la red.
Ahora viene la parte interesante. Resumiendo, decir que lo que haremos será capturar paquetes IV (son los paquetes que contienen información útil para romper la clave WEP) en una consola. Desde otra consola, haremos una reinjección de paquetes para que se acelere el procedimiento de capturar de paquetes. Hay diversas maneras para reinjectar paquetes, pueden variar según el punto de acceso (AP), el número de clientes asociados al AP o el tipo de trafico que circule. Nosotros haremos los casos más genéricos. El conjunto de aplicaciones (airmon, airodump, aireplay, aircrack,..) que utilizaremos forman parte del software Aircrack.
Empezaremos por poner la tarjeta en modo monitor en el canal que queremos capturar los paquetes. Para ello disponemos de una utilidad llamada Airmon. Seguidamente con Airodump empezaremos a capturar paquetes IV.
Abrimos una consola:
> airmon-ng start wlan0 numero_canal
> airodump-ng --ivs --channel numero_canal -w captura wlan0
# Con --ivs solo capturaremos los paquetes con información buena
# Con -w especificamos el nombre del fichero donde se guardaran los IV's
Os aparecerá una pantalla similar a la siguiente. En esta pantalla observaremos el nombre red (essid) que nos interesa (red a romper) con la MAC del AP (bssid), intervalos de potencia de la señal, velocidad, paquetes capturaros, etc... Si hay clientes asociados en una red, puede que nos aparezca su MAC en la parte inferior dela consola.
Captura pantalla 2
Para capturar mayor número de paquetes es recomendable (pero no necesario) que los valores de RXQ este entre 80 y 100. Si no lo está podemos probar de mover la antena (en ejes X y Y) hasta encontrar la señal mas buena posible. Lo mismo con el valor PWR que es recomendable que esté por encima de 170. (Otra utilidad para encontrar la mejor señal posible es Wavemon)
Nota: la antena que utilizamos tiene polarización, con lo que también puede variar la cualidad de la señal si la movemos respecto el eje Z.
Veremos que ya se capturan algunos paquetes válidos pero que aumentan muy lentamente. Para romper una WEP de 64 bits se necesitan unos 500.000 paquetes IV's como mínimo. Para descifrar una WEP de 128 bits necesitaremos unos 800.000 o más paquetes. En ocasiones he necesitado unos 2 millones para una WEP de 128 bits. Podríamos tardar días capturando paquetes.
Para acelerar este proceso utilizaremos el programa Aireplay que también viene con el paquete Aircrack.
Primero probaremos de reinyectar paquetes con la técnica de peticiones ARP. Para este ataque es necesario que haya tráfico en la red inalámbrica. Si conocemos la MAC de algún cliente asociado la técnica es más eficiente, sino utilizaremos una MAC falsa (le assignaremos 00:11:22:33:44:55). Abrimos otra consola y ejecutamos lo siguiente:
> aireplay-ng -1 0 -e nombre_red -a mac_ap -h mac_client wlan0
El resultado es que nuestra MAC se tiene que asociar con el AP. El resultado tiene que se similar a la siguiente captura:
Captura pantalla 3
Si hemos tenido éxito podemos proceder a hacer la reinyección de paquetes ARP. Para ello tecleamos en la misma consola:
> aireplay-ng -3 -b mac_ap -h mac_client -x 600 wlan0
Esperamos un par de minutos aproximadamente y veremos como se empiezan a enviar paquetes. Si nos fijamos en la primera consola, veremos que el numero de paquetes IV capturados suben muy rápidamente. Normalmente se capturan unos 200 paquetes IV por segundo pero he llegado a capturar unos 500 por segundo. Observad la siguiente captura:
Captura pantalla 4
Cuando tengamos unos 800.000 paquetes IV capturados ya podemos probar de desvelar la clave WEP. Cuanto más paquetes tengamos el siguiente proceso se hace más corto. Abrimos una tercera shell y ejecutamos Aircrack:
> aircrack-ng -x -0 captura.ivs
#donde captura.ivs és el nombre del fichero que contiene la información de los paquetes IV's.
Bualaa,, con solo probar 2 claves Aircrack ya nos ha encontrado la clave de la conexión inalámbrica WEP.
Captura pantalla 5
Ya podemos conectarnos a la red cifrada con esta clave, en linux:
> iwconfig wlan0 mode managed
> iwconfig wlan0 essid nombre_red key A014548C5EA4B2BF54E5D8C7D6
Finalmente nos faltará poner asignar la IP i establecer la puerta de enlace, pero esto ya no es temática de este manual. Si no hay DHCP activado y no sabemos el rango de IP de la red descifrada podemos utilizar la utilidad Netdiscover. Buscar más información en internet.
AMPLIACIONES:
1.- Si el método de reinyección de paquetes por peticiones ARP no funciona, podemos utilizar el métode de Desautentificación. Es necesario que haya un cliente conectado. Aquí un pequeño ejemplo y captura de pantalla:
> aireplay-ng -0 -10 -a mac_ap -c mac_client wlan0
> aireplay-ng -3 -b mac_ap -h mac_client -x 600 wlan0
Captura pantalla 6
2.- Aquí vemos una captura de pantalla en un caso que se capturan unos 500 paquetes por segundo
Captura pantalla 7
3.- Rompiendo clave de 128 bits y fueron necesarios más de 1 millón de paquetes IV!
Captura pantalla 8
4.- Rompiendo una WEP de 128 bits, fueron necesarios 1,5 millones de paquetes y 3 minutos probando claves.
Captura pantalla 9
RECOMENACIONES
Os recomiendo que busquéis más información sobre:
1.- Distintas técnicas de reinyección de paquetes.
2.- Mirar la info de aircrack y probar distintas combinaciones de todas sus utilidades.
Saludos! (Queda totalmente prohibido plegiar/copiar este manual sin citar su fuente) Ver condiciones de uso
