domingo, 15 de agosto de 2010

Manual Aicrack-ng Linux para principiantes

Guia para novatos de Aircrack-ng en Linux

Idea y trabajo inicial: ASPj
Añadidos por: mucha buena gente
Última actualización: Mayo 14, 2007
Traducción: Por Spanish actualizada a 16/07/2007

Este tutorial le dará los conocimientos básicos para empezar a usar la suite aircrack-ng. Es imposible cubrir todos los escenarios, por lo tanto tendrá que poner algo de su parte e investigar por su cuenta. El Foro y el Wiki tienen muchos otros tutoriales e información.

Aunque no cubre todos los pasos desde el inicio hasta el final, el manual Simple WEP Crack explica de forma detallada el uso de la suite aircrack-ng.

En los ejemplos, la opción “doble guión bssid” se muestra como ”- -bssid”. Acuérdate de borrar el espacio entre los dos guiones cuando lo uses en la vida real. Esto tambien se aplica a ”- -ivs”, ”- -arpreplay”, ”- -deauth” y ”- -fakeauth”.

Configurando el Hardware, Instalando Aircrack-ng

El primer paso para conseguir que aircrack-ng funcione correctamente en su distribución Linux es instalar y parchear el driver adecuado para su tarjeta wireless. Algunas tarjetas pueden funcionar con varios drivers, de los cuales algunos tienen las características necesarias para usar aircrack-ng, y los otros no.

Sobra decir, que usted necesita una tarjeta wireless compatible con la suite aircrack-ng. Si es completamente compatible podrá inyectar paquetes y crackear un punto de acceso wireless en menos de una hora.

Para averiguar si su tarjeta es compatible, mire la página de hardware compatible. Lea este manual en castellano ¿Es mi tarjeta wireless compatible? si no sabe que tipo de tarjeta tiene o si no sabe que tarjeta comprar.

Primero, necesita saber que chipset tiene su tarjeta wireless y que driver necesita. Podrá averiguarlo usando la información proporcionada en el párrafo anterior. En la sección de drivers encontrará que driver necesita para su específico chipset. Descárguelo y tambien busque el parche correspondiente en http://patches.aircrack-ng.org. (Estos parches son necesarios para la inyección de paquetes.)

Como yo soy propietario de una tarjeta USB con chipset Ralink, veremos los pasos para conseguir que funcione con Aircrack-ng. Para poder compilar e instalar los drivers, necesitas los kernel-sources de la distribución que tengas instalada.

Si posee otro tipo de tarjeta, revise la página de instalación de drivers para ver las instrucciones adecuadas.

Guia de instalación RaLink USB rt2570

Si tiene una tarjeta con chipset rt2570 (como por ejemplo D-Link DWL-G122 rev. B1 o Linksys WUSB54G v4) debe de utilizar los drivers de http://homepages.tu-darmstadt.de/~p_larbig/wlan/ Estos son drivers especiales que han sido modificados, que soportan inyección y que Y por supuesto que estos drivers tambien funcionan en modo normal.

Vamos a descomprimir, compilar e instalar los drivers:

tar xfj rt2570-k2wrlz-1.3.0.tar.bz2 cd rt2570-k2wrlz-1.3.0/Module make make install

El último paso ha de hacerse como root. Use su o cambie al usuario root. Despues podremos cargar el módulo en el kernel:

modprobe rt2570

Conecte su tarjeta, debería ser reconocida como rausb0. Ejecute iwconfig para ver la lista de sus tarjetas wireless y comprobar si todo ha ido bien.

Instalación de Aircrack-ng

Source

Descargue la última versión de aircrack-ng desde: http://www.aircrack-ng.org Los siguientes comandos puede que sea necesario cambiarlos si usa una versión más reciente del programa.

Descomprimir, compilar e instalar:

tar xfz aircrack-ng-0.7.tar.gz cd aircrack-ng-0.7 make make install

Como es normal, el último paso necesita hacerse como root, use su o conectese como root (use sudo make para Ubuntu).

YUM

Si está usando un sistema como Redhat Linux o Fedora Core puede instalar aircrack-ng con yum. Primero tiene que añadir el repositorio Dag Wieers o Dries.

su yum -y install aircrack-ng

RPM

Si está usando un sistema basado en rpm hay una forma muy sencilla de instalar aircrack-ng. (Por ejemplo en Redhat Linux 4)

su rpm -ihv http://dag.wieers.com/rpm/packages/aircrack-ng/aircrack-ng-0.7-1.el4.rf.i386.rpm

IMPORTANTE: Revise http://dag.wieers.com/rpm/packages/aircrack-ng/ para conseguir la última versión de la suite aircrack-ng y adapte el comando arriba indicado.

Conocimientos básicos IEEE 802.11

Ok, ahora que tenemos todo preparado, podemos hacer un “pit stop” y aprender algo sobre como funcionan las redes wireless.

El próximo capítulo es muy importante, si algo no funciona como esperabamos. Conocer el modo de funcionamiento de una red wireless nos ayudará a resolver algún problema o nos permitirá al menos, describirlo mucho mejor para que alguien nos ayude. Esta parte es un poco científica y quizás usted sienta la necesidad de saltarsela. Pero, estos conocimientos son necesarios para crackear redes wireless.

Como se encuentra una red wireless

Esta es una pequeña introducción sobre el manejo de redes que funcionan a través de un punto de acceso (AP). Cada AP envia alrededor de 10 paquetes llamados “beacon frames” cada segundo. Estos “beacon frames” contienen la siguiente información:

  • Nombre de la red (ESSID)
  • Si usa encriptación (y de que tipo; presta atención, que a veces puede no ser legible)
  • Que velocidades soporta el AP
  • En que canal se encuentra la red

Esta información aparecerá en la utilidad que use para conectarse a la red. Se muestra cuando ordena a su tarjeta que escanee o busque (scan) las redes que están a nuestro alcance con iwlist scan y tambien cuando ejecutamos airodump-ng.

Cada AP tiene una dirección MAC que es única (48 bit, 6 pares de números hexadecimales). por ejemplo 00:01:23:4A:BC:DE. Y cada cliente tiene otra dirección MAC, de tal forma que se comunicacn entre si usando esas direcciones MAC. Las direcciones MAC son únicas, en teoria no hay dos aparatos en el mundo que tengan la misma MAC.

Conectando con una red

Si quiere conectarse a una red wireless, tiene varias posibilidades. En la mayoría de los casos se usa un sistema de autenticación abierta (Open Authentication). (Opcional: Si quieres aprender más acerca de la autenticación lee este documento en inglés out.)

Autenticación abierta (Open Authentication):

  1. El cliente le pregunta al AP acerca de la autenticación.
  2. El AP contesta: OK, estás autenticado.
  3. El cliente pregunta al AP sobre la asociación
  4. El AP contesta: OK, estás conectado.


Este es un resumen muy simple y fácil de entender, pero puede encontrar algún problema cuando intenta la conexión:

  • WPA/WPA2 está en uso, y necesitas autenticación EAPOL. El AP te denegará la conexión en el segundo pao.
  • El punto de acceso tiene configurada una lista de clientes permitidos (se denomina “filtrado MAC”), y no permite conectarse a nadie mas.
  • El punto de acceso usa autenticación compartida (Shared Key Authentication). Necesitará suplantar la clave WEP correcta para conseguir la conexión. (Mire el tutorial en castellano Como hacer una autenticación falsa con clave compartida para aprender técnicas avanzadas.)

Simple sniffing y cracking

Descubriendo redes

Lo primero que debemos hacer es buscar las redes que tenemos a nuestro alrededor y decidir cual queremos atacar. La suite aircrack-ng incluye airodump-ng para esto - pero otros programas como Kismet tambien se pueden usar.

Antes de empezar a usar estos programas, es necesario poner la tarjeta wireless en lo que se llama “modo monitor”. El modo monitor es un modo especial que permite que su PC escuche y capture cada paquete wireless. Este modo monitor tambien permite inyectar paquetes a una red. La inyección será explicada más adelante en este tutorial.

Para poner su tarjeta wireless en modo monitor:

iwconfig rausb0 mode monitor

o

airmon-ng start rausb0

Para confirmar que está en modo monitor, ejecuta “iwlist” o “iwconfig” y mire en que modo se encuentra. La página sobre airmon-ng del Wiki tiene información genérica y como ejecutarlo para otras tarjetas.

Despues, inicie airodump-ng para buscar redes:

airodump-ng rausb0

“rausb0” es el nombre de la tarjeta wireless o interface. Si está usando una tarjeta con otro chipset que no sea el rt2570 tendrá que usar un nombre de interface diferente. Echele un vistazo a la documentación de su driver.

Al ejecutar airodump-ng verá una pantalla como esta:

airodump-ng va saltando de canal en canal y muestra todos los puntos de acceso de los que recibe “beacons”. Los canales 1-14 se usan para 802.11b y g (en EE.UU, solo está permitido usar 1-11; en Europa 1-13; y en Japón 1-14). Los canales del 36 al 149 son usados para 802.11a. El canal actual se muestra en la parte superior izquierda de la pantalla de airodump.

Despues de muy poco tiempo algunos APs y (si tenemos suerte) algunos clientes asociados aparecerán en airodump.

El bloque de datos superior muestra los puntos de acceso encontrados:

BSSID La dirección MAC del AP
PWR Fuerza de la señal. Algunos drivers no la muestran y aparece -1
Beacons Número de “beacon frames” recibidos. Si no conoce la fuerza de la señal, puede estimarla a través del número de beacons: cuantos más beacons capturemos, más fuerte será la señal
Data Número de frames de datos recibidos
CH Canal en el que el AP está funcionando
MB Velocidad o modo del AP. 11 es para 802.11b, 54 para 802.11g. Valores entre estos dos son una mezcla de ambos
ENC Encriptación: OPN: no hay encriptación, WEP: encriptación WEP, WPA: encriptación WPA o WPA2, WEP?: WEP o WPA (no se sabe todavía)
ESSID El nombre de la red. Algunas veces está oculto

El bloque de datos inferior muestra los clientes encontrados:

BSSID La MAC del AP al que este cliente está asociado
STATION La MAC de ese cliente
PWR Nivel de señal. Algunos drivers no lo muestran
Packets Número de frames de datos recibidos
Probes Nombre de las redes (ESSIDs) a las que este cliente probo o intentó conectarse

Para continuar, debería buscar una red con un cliente conectado, porque crackear redes sin clientes es una técnica más avanzada (Mire este post traducido al castellano Como crackear WEP sin clientes). Además debería de usar encriptación WEP y recibir una señal fuerte. Quizás pueda orientar su antena para mejorar la señal. Con frecuencia unos pocos centímetros provocan una diferencia sustancial en el nivel de señal.

En nuestro ejemplo la red 00:01:02:03:04:05 es la única qque tiene un cliente asociado. Y además tiene un buen nivel de señal, por lo que es un buen candidato para practicar.

Sniffing IVs

Cuando queremos centrarnos en una red en concreto no necesitamos que airodump vaya saltando de canal en canal. Por lo que vamos a poner la tarjeta a escuchar en ese único canal y guardar todos los datos en nuestro disco duro para usarlos mas adelante para obtener la clave wep:

airodump-ng -c 11 --bssid 00:01:02:03:04:05 -w dump rausb0

Con el parámetro -c indicamos el número del canal y con el parámetro -w el nombre del archivo en el que se guardarán los datos (dump). Con el parámetro ”–bssid” indicamos la dirección MAC del AP y limitamos la captura a ese AP. El parámetro ”–bssid” es opcional y solo está disponible en las últimas versiones de airodump-ng.

Tambien se puede añadir el parámetro –ivs. Con esto airodump-ng solo capturará los IVs con lo cual el arechivo será más pequeño y ocupará menos espacio de disco.

Para ser capaz de obtener la clave WEP necesitará entre 250.000 y 500.000 diferentes vectores de inicialización (IVs). Cada paquete de datos contiene un IV. Los IVs pueden repetirse, por lo que el número de diferentes IVs es normalmente un poco menor que el número de paquetes de datos capturados.

Por lo tanto hay que esperar y capturar de 250.000 a 500.000 paquetes de datos (IVs). Si la red tiene poco tráfico nos llevará bastante tiempo. Se puede aumentar el tráfico de la red usando un ataque de inyección (reenvio de paquetes). Mire el capítulo siguiente.

Cracking

Si ha conseguido suficientes IVs en uno o mas archivos, puede probar a crackear la clave WEP:

aircrack-ng -b 00:01:02:03:04:05 dump-01.cap

La MAC despues de la opción -b es el BSSID del AP objetivo y “dump-01.cap” es el nombre del archivo que contiene los paquetes capturados. Puede usar múltiples archivos, para ello uncluya el nombre completo de todos ellos o puede usar el * como comodin, por ejemplo: dump*.cap.

Para más información sobre las opciones de aircrack-ng, descripción de los mensajes y su uso mire este manual.

El número de IVs necesarios para crackear una clave no es un número fijo. Esto se debe a que algunos IVs son más débiles (weak) y nos dan más información sobre la clave que otros. Por lo tanto, si tiene suerte podrá obtener una clave con solo 100.000 IVs. Pero esto no es muy frecuente y si lo dejas aircrack-ng se estará ejecutando durante mucho tiempo (una semana o incluso más si le ponemos un “fudge factor” mayor con la opción -f) y despues de todo nos dirá que no ha podido encontrar la clave. Si tuviese más IVs obtendriamos la clave más rápido, como mucho en un par de minutos. Por experiencia de 250.000 a 500.000 IVs son suficientes para crackear la clave wep.

Hay algunos APs que usan un algoritmo para no generar IVs débiles. El resultado es que no podremos conseguir más que un número limitado de IVs diferentes del AP o que necesitaremos millones (por ejemplo 5 o 7 millones) para crackear la clave. Busca en el Foro, que hay algunos posts sobre casos como este y sobre que hacer.

Ataques activos

Soporte de inyección

Muchas tarjetas no soportan la inyección. Echele un vistazo a la página de tarjetas compatibles, y fíjese en la columna de aireplay. Esta lista, a veces, puede no estar actualizada, por lo tanto si ve un “NO” para el driver de su tarjeta wireless, no de todo por perdido aun; puede buscar en la página web del driver, en las denominadas “mailing list” o en nuestro Foro. Si usted fuese capaz de reinyectar usando un driver que no aparece como soportado en nuestra lista, no dude en actualizar la tabla de la página de tarjetas compatibles y añadir un link a un tutorial de como hacerlo.

El primer paso es comprobar que realmente la inyección funciona con su tarjeta y driver. La forma más fácil de comprobarlo es probar el test de inyección. Asegúrate de realizar este test antes de continuar. Su tarjeta debe ser capaz de inyectar para poder realizar los siguientes pasos de forma correcta.

Necesita conocer el BSSID (dirección MAC del AP) y el ESSID (nombre de la red) de un AP que no tenga activado el filtrado MAC (por ejemplo el suyo) y debe estar en la zona de cobertura del AP.

La primera cosa que ha de hacer es apuntar la MAC de su red WLAN. Normalmente hay una etiqueta con la MAC en el propio AP. Pero tambien puede averiguarla con el comando ifconfig (los 6 bytes hexadecimales que aparecen después de “HWaddr”, separados por ”:” o ”-”).

Cuando tenga todos los datos puede probar a conectarse a su AP usando aireplay-ng:

aireplay-ng --fakeauth 0 -e "your network ESSID" -a 00:01:02:03:04:05 -h 00:11:22:33:44:55 rausb0

El valor despues de la opción -a es el BSSID de su AP, el valor despues de -h es la MAC de su WLAN.

Si la inyección funciona debería ver algo como esto:

12:14:06  Sending Authentication Request 12:14:06  Authentication successful 12:14:06
Sending Association Request 12:14:07 Association successful :-)

Si no

  1. revise el ESSID, BSSID y su dirección MAC
  2. asegurese de que el AP no tiene activado el filtrado MAC
  3. pruebe contra otro AP
  4. asegurese de que su driver está bien parcheado y soportado
  5. en lugar de “0”, pruebe “6000 -o 1 -q 10”

Reenvio de ARP

Ahora que sabemos que funciona la inyección de paquetes, podemos aumentar la velocidad de captura de IVs: ARP-request reinjection

La idea

ARP funciona (explicado de una forma muy simple) emitiendo un paquete dirigido a todos los clientes (broadcasting) preguntando acerca de quien tiene una IP determinada y el cliente que la tiene contestará enviando una respuesta al AP. Como la encriptación WEP no tiene protección contra la repetición de paquetes, se puede capturar un paquete y reenviarlo una y otra vez de forma continuada. Por lo tanto usted solo tiene que capturar y reenviar un “ARP-request” enviado al AP para crear mucho tráfico (y capturar los IVs).

El método para vagos

Primero abrá una ventana con airodump-ng capturando tráfico. aireplay-ng y airodump-ng pueden ejecutarse al mismo tiempo. Espere por un cliente del cual se mostrará en la parte inferior su dirección MAC. Entonces inicie el ataque:

aireplay-ng --arpreplay -b 00:01:02:03:04:05 -h 00:04:05:06:07:08 rausb0

-b sirve para indicar el BSSID, -h la MAC del cliente conectado.

Ahora hay que esperar unos minutos a que un paquete ARP sea transmitido. (o mirar el capítulo siguiente).

Si tiene éxito, verá algo como esto:

Saving ARP requests in replay_arp-0627-121526.cap You must also start airodump to capture replies.
Read 2493 packets (got 1 ARP requests), sent 1305 packets...

Si en algún momento quiere parar el ataque; puede hacerlo, y la próxima vez que quiera continuar ese ataque no tendrá que esperar por ningún paquete ARP, sino que puede reusar el capturado previamente usando la opción -r .

Puede usar el método PTW para obtener la clave WEP. Este método reduce considerablemente el número de paquetes necesarios. Se deben capturar paquetes *.cap con airodump-ng, lo que significa que no se puede usar la opción ”- - ivs”. El comando con aircrack-ng sería “aircrack -z ”.

Si en algún momento el número de paquetes de datos recibidos por airodump-ng para de crecer o lo hace de forma interrumpida, debería reducir la velocidad de envio de los paquetes. Puede hacer esto con la opción -x . Yo normalmente empiezo con 50 y voy reduciendo el valor hasta que los paquetes se reciben de forma continuada. Mejorar la posición de la antena tambien suele ayudar.

El método agresivo

La mayoría de los sistemas operativos limpian la cache de ARP cuando son desconectados. Si los clientes quieren reconectarse tienen que enviar “ARP requests”. Por lo tanto la idea es desconectar a un cliente para forzarlo a que se reconecte y así capturar un “ARP-request”. Otra ventaja es que podremos conocer el ESSID durante la reconexión, por lo que es muy útil si el ESSID de su tarjeta está oculto.

Deje corriendo airodump-ng y aireplay-ng. Abrá otra ventana y ejecute un ataque de deauthentication:

aireplay-ng --deauth 5 -a 00:01:02:03:04:05 -c 00:04:05:06:07:08 rausb0

-a es el BSSID del AP, -c la MAC del cliente.

Espere unos segundos y su “arp replay” debería comenzar a funcionar.

La mayoría de los clientes se reconectan de forma automática. Pero el riesgo de que el cliente reconozca este ataque o que por lo menos le llame la atención es muy alto.


Informacion estraida integramente de Aircrack-ng homepage

1 comentario:

  1. wifiaRt

    Un saludo y felicitaciones por este buen blog.

    Tengo un problema que ya se me salio de las manos y es en lo simple de la carga de drives y te explico graficamente a ver si me puedes ayudar.

    root@ekufar:~# tar -xjf rt73-k2wrlz-3.0.3.tar.bz2
    root@ekufar:~# cd rt73-k2wrlz-3.0.3/Module
    root@ekufar:~/rt73-k2wrlz-3.0.3/Module# make
    make[1]: se ingresa al directorio «/usr/src/linux-headers-2.6.35-25-generic»
    Building modules, stage 2.
    MODPOST 0 modules
    make[1]: se sale del directorio «/usr/src/linux-headers-2.6.35-25-generic»
    rt73.ko failed to build!
    make: *** [module] Error 1
    root@ekufar:~/rt73-k2wrlz-3.0.3/Module# make install
    !!! rt73.ko does not exist: run 'make'
    make: *** [modules_install] Error 1
    root@ekufar:~/rt73-k2wrlz-3.0.3/Module# modprobe rt73
    FATAL: Module rt73 not found.
    root@ekufar:~/rt73-k2wrlz-3.0.3/Module#

    Osea ingreso a src pero "rt73.ko failed to build!"

    No se que hacer y no entiendo que sucede

    Gracias por tu atencion.

    ResponderEliminar