[h] Crack WEP Simple
El manual paso a paso para principiantes basado en la wiki de aircrack-ng [/h]
https://www.wifi-libre.com/img/members/3/tutoWEP22.jpg
Este tema se basa enteramente en los temas de la wiki de aircrack-ng (la fuente de todo conocimiento ); principalmente en Tutorial: Simple WEP Crack y arp-replay attack
La idea es proponer un manual “paso a paso” para un primer crack WEP; un poco más actualizado que los de la wiki de aircrack-ng.
Los de la wiki empiezan a datar un poco, 2010, y están un poco desfasados.
No es que sea un gran problema : los principios y las técnicas para descifrar una lave WEP son exactamente los mismos hoy que ayer.
Así que haremos el proceso con la ultima versión de kali linux, ( Linux kali 3.18.0-kali1-amd64 ) “actualizando” así el manual.
El crack WEP es desde lejo el crack wifi el más interesante porque es “animado” y interactivo. Lo que vamos a hacer en este tutorial es usar dos técnicas fundamentales ( y radicales ) para generar trafico wifi (aunque no sea legitimo) con fin de desencriptar la llave :
[list=1]
*]- Una falsa asociación (No estamos conectados con IP y todo esto pero “asociados”) con el ataque aireplay-ng “A1”.
--fakeauth delay : fake authentication with AP (-1)
*]- Utilizar la re-inyección de paquetes ARP (opción -3 de aireplay-ng, llamada "A3" ) para generar datos que permiten descifrar la llave WEP. Explicare esto sobre la marcha.
--arpreplay : standard ARP-request replay (-3)
[/list]
Empezamos…
[h]1. Creación del entorno para nuestra prueba [/h]
Para realizar nuestro primer crack WEP necesitamos :
[list=*]
]Un punto de acceso que configuramos en WEP/]
]Un stick USB de 4GB/]
]Una imagen ISO de kali linux/]
]Una computadora con un dispositivo WiFi compatible mode monitor y inyección/]
[/list]
Es básicamente lo mismo que necesitábamos para nuestro tema Crack WPA: Manual paso a paso para principiante
- Para configurar su punto de acceso en WEP debe poner la puerta de enlace en la barra URL de su navegador web para entrar en la interfaz de gestión del PA. Una vez en la interfaz de gestión es generalmente en “security” “wireles” o “advanced” que se encuentra el sitio para configurar el pass. Por ejemplo en un punto de acceso Alfa Network modelo AIP-W525H y Realteck SDK
http://www.wifi-libre.com/img/members/3/tutoWEP1.jpg
http://www.wifi-libre.com/img/members/3/tutoWEP5.jpg
El cifrado elegido pondría WEP.
Dejando vacila la casilla cerca de “802.1x Authentication:” ya que es para configurar con un servidor RADIUS
El router me pone por defecto “auto” en “Authentication” y lo dejaría así. O lo pondría en OPEN ya que es así que vienen por defcto la mayoría de los puntos de acseso que empleaban el cifradro WEP. La utilización de una PSK no impide el crack WEP ya que se hace automáticamente un “decloack”.
Luego podía elegir entre WEP 64bits y WEP 128bits. Con una WEP 128 bits se va a necesitar algo más de paquetes para obtener la llave. Una llave WEP de 128 bits tiene una longitud de 26 caracteres en formato hexadecimal (13 en ascii) mientras que una llave 64 bits tienen una longitud de 10 caracteres hexadecimales (5 asci).
Para este manual he usado un viejo “router” sacado del cajón con su configuración por defecto en WEP 128 bits. La idea es ilustrar el peligro que reside en dejar tal configuración aunque sea de fabrica.
https://www.wifi-libre.com/img/members/3/tutoWEP11.jpg
Es un router de marca SMC modelo SMC7908A-ISP, remarcado “Asotrias Network”, que esta fabricado por Arcadyan technologies y corresponde a un ARV4518PW-A-LF-LT.
Y era distribuido por el antiguo ISP Yacom que ha sido comprado por orange.
Simple y claro.¿No?
- Para montar la live de kali linux (por esto necesitamos el stick USB y la imagen ISO de kali) me voy a auto-citar para no volverme cabra repitiendo lo mismo:
[quote=kcdtv]
[h]paso uno : Descargar y montar la live USB [/h]
Necesitamos :
[list=*]
]Una conexión a Internet decente (la live pesa aproximadamente 3GB) /]
]Una memoría flash USB de 4GB o más/]
[/list]
La ventaja del mode live es que no tenemos que instalar nada en nuestro disco duro ni hay necesidad de tocar el windows. Todo va a pasarse desde el stick USB. Nuestro disco duro no corre ninguno riesgo : cuando estamos en mode live arrancamos la computadora desde el stick USB en lugar del disco duro. Así que no se requiere escribir cualquier cosa en el “disco C:”.
Esta simplemente ignorado por la computadora cuando arranca.
Para descargar Kali linux nos dirigimos a la pagina oficial y elegimos la versión 32bits si tenemos una vieja computadora con un solo núcleo. Sino pillamos la versión 64 bits : Ofical Kali Linux Download
Obtenemos un fichero “*.ISO” que es una “imagen en bruto” del sistema operativo. Para que esta imagen sea “booteable” desde nuestro stick USB necesitamos “montarla”. Para ello les invito a usar linux live creator. Gratis, sencillo y muy eficaz para montar cualquier live que sea. En este hilo se explica su funcionamiento Linux Live creator: arranca cualquier linux desde un pendrive.
En resumen : https://www.wifi-libre.com/img/members/3/trialboot.jpg
[list=1]
]paso uno : ponemos nuestro stick/]
]paso dos : hacemos click en “IMG/ISO” y seleccionamos la imagen ISO de kali linux que acabamos de descargar/]
]paso tres : No hacemos nada (no añadimos persistencia)/]
]paso cuatro : formateamos la llave si no lo esta. No se si es necesario decirlo pero por si las moscas : Los datos en el stick serán borrados, así que si contiene archivos importantes, ** lo primero que hay que hacer es copiarlos **desde el stick hasta nuestro disco./]
[/list]
Como mencione anteriormente; debemos desde la BIOS configurar el orden de arranque poniendo primero el stick USB. En el caso de una computadora moderna que tiene EFI, debemos también deshabilitar el “Safe boot EFI” para permitir que nuestro stick con linux sea “aceptado”.
Generalmente se entra en el BIOS con [F2], [supr/del], [Esc]… No deberías tener dificultades para encontrar esta información en la documentación de tu computadora, si no lo consigues no dudes en abrir un tema para que te asesoremos ;)[/quote]
[right]Crack WPA: Manual paso a paso para principiante[/right]
- El tema de la compatibilidad mode monitor y inyección es todo un asunto. Muchos dispositivos son compatibles; pero no todos lo son.
Si el tuyo no lo es : Lo más simple es adquirir un adaptador USB compatible (obtendrás asesoramiento en el foro Tarjetas wireless (USB, PCI etc…))
[h]2. Puesta en mode monitor y test inyección[/h]
Aquí no puede haber fallos si queremos seguir adelante.
Se puede descifrar una red WEP sin inyectar trafico, de forma pasiva: Recogemos el trafico entre un cliente y el punto de acceso pero no tiene ninguna gracia.
Y si no hay clientes asociados muchos routers no escupen ningunos paquetes, o uno cada horas, haciendo la operación eterna.
Para identificar nuestra(s) interface(s) tecleamos en consola airmon-ng
[code]PHY Interface Driver Chipset
phy0 wlan0 ath9k Atheros Communications Inc. AR9565 Wireless Network Adapter (rev 01)
phy1 wlan1 rtl8187 Realtek Semiconductor Corp. RTL8187
[/code]
Dispongo de dos interfaces, las dos reconocidas y compatibles.
La wlan0 es la interfaz interna (la interna viene primero) de mi portátil toshiba satellite. Se trata de un chipset atheros funcionando con el driver ath9k. Es un chipset bastante correcto.
La interfaz wlan1 es un adaptador USB loopcomm LP-9287C que lleva el famoso chipset RTL8187l. Hbalamos “del chipset”, la referencia en pentest wifi. Es la que usaré para la prueba.
Para activar el mode monitor tecleamos “airmon-ng start + nuestra interfaz” y obtenemos una interfaz en mode monitor, en mi caso será wlan1mon:
airmon-ng start wlan1
http://www.wifi-libre.com/img/members/3/tutoWEP3.jpg*****
***** En la captura de pantalla la orden empleada es “airmon-zc start wlan1”. Airmon-zc era una versión de transición de airmon-ng y ya no existe en aircrack-ng. Solo queda airmon-ng que es similar a lo que era airmon-zc. El comando a ejecutar es bien* airmon-ng start wlan1** *
Los procesos conflictivos (en el circulo naranja) no nos importan porque son relativos a wlan1 (mode managed) que ha desaparecido por completo.
Podemos verificarlo tecleando “iwconfig” (para cambiar un poco de airmon-ng).
http://www.wifi-libre.com/img/members/3/tutoWEP4.jpg
Tengo una interfaz única “wlan1mon” en mode monitor (la wlan0 en mode managed siendo la otra tarjeta wifi, la interna) .
Efectuamos ahora el test de inyección con aireplay-ng. La sintaxis : “aireplay-ng -9 ”.
En nuestro ejemplo :
aireplay-ng -9 wlan1mon
http://www.wifi-libre.com/img/members/3/tutoWEP10.jpg
Tenemos que obtener en consola el mensaje de éxito “injection is working!”
Luego debemos mirar si estamos en condiciones para efectuar el test. Como se puede ver en la captura de pantalla es el caso : tasa de inyección de 100% con un nivel de señal sobresaliente.
De paso podemos ver el comportamiento del rtl8187l con tasas de inyección monstruosas sobre cualquier PA que capta…
[list=*]
]Para más información:
Injection Test/]
[/list]
[h]3. Capturar el trafico con airodump-ng[/h]
Airodump-ng es la herramienta de la suite aircrack-ng que nos permite capturar el trafico. Es decir captar y guardar los paquetes que se mandan entre un punto de acceso y un cliente.
Es el momento para hablar sumamente de como se hace el crack WEP para entender porque “capturamos trafico con airodump-ng” …
Sin entrar demasiado en los detalles; lo que importa es entender que se trata de un ataque estadístico.
Con airodump-ng vamos capturando trafico y cada ves que obtenemos un paquete de datos nuevos sabemos un poco más sobre lo que podría ser la llave WEP.
Es que el cifrado WEP se carterista por el uso de “iv’s” (vectores de inicio) de 24 bytes. Son pequeños y es demasiado poco: lo que hace que se vuelven a usar los mismos iv’s varias veces en la comunicación.
Es lo que permite comparar y cruzar datos para deducir la llave empleada para cifrar el trafico.
En conclusión : Para que sea seguro un sistema de cifrado que empleo de iv’s es primordial que se usen siempre unos iv’s distintos con una misma llave.
…Y en el caso del cifrado WEP pasa todo lo contrario : se vuelven a usar los mismos iv’s con la misma llave.
Esta es la explicación teórica básica de porque podemos deducir la llave WEP: es gracias a la redundancia de unos iv’s.
Concretamente podremos romper cualquier llave WEP 64 bits con un poco más de 250 000 iv’s y una WEP 128 bits con más de un millón.
Esto si usamos el método “Koreck”.
Existe una mejora de dicho ataque que se llama PTW (Pychkine, Tews y Weinmann))
Es el método empleado por defecto por aircrack-ng desde la versión 1.x.
Es menos seguro que el método Koreck pero se necesitan muchos menos iv’s para descifrar la lave.
Digamos que tendremos muchísimas posibilidades de encontrar la llave con 30 000 datas para una lave WEP 64 bits y 100 000 para una de 128 bits con PTW.
Sin entrar demasiado en las detalles, lo que distingue PTW de Koreck es que PTW usa los iv’s y usa también otros paquetes.
Principalmente los ARP.
… Y es justamente lo que vamos a cazar para re-inyectar.
Tendremos así unas capturas “ricas en ARP” que nos permitirán usar con éxito el método PTW.
Así necesitaremos pocos iv’s para obtener la llave algo como 100000 según la wiki de aircrack-ng, probablemente menos. .
Ponemos mano a la obra y vamos ahora a capturar estos datas/iv’s. Lo primero que hacemos es un scan general para ver nuestro PA
Usamos la sintaxis siguiente : airodump-ng --encrypt WEP con el filtro “WEP” (para no tener la consola petada dcon puntos de acceso WPA y encontrar mas fácilmente el nuestro)
Procedo
airodump-ng --encrypt WEP wlan1mon
http://www.wifi-libre.com/img/members/3/tutoWEP12.jpg
Mi router aparece enseguida; en cuanto apareceparamos airodump-ng prensando [CTRL+C] y copiamos el bSSID (la mac del routeur)
En la captura de airodump-ng he dibujado una liña roja.
Encima de la liña vemos los puntos de acceso (BSSID) y por debajo los clientes (STATION) y el router al cual están asociados (BSSID). (not associated en este caso)
El PWR es el nivel de la señal en dbm.(decibelios).
0 sería la perfección ya que coresponde a 0 perdidas.
Obtengo -59 sobre mi PA lo que es sobresaliente.
Tenemos la columna “DATAS” y es aqui que vemos los iv’s recogidos. La columna #/s es simplemente el nombre de datas recogidos por segundos. Como no hay trafico en los puntos de acceso tenemos un par de datos.
CH es el canal usado por el PA.
MB es la tasa de transferencia. en nuestro ejemplo tenemos dos veces 54e. El pequeño “e” signifca que la tasa es superior a 54Nbps. Significa que son dos routers “n” con tasas de transmisión de 150 hasta 300 mbps
Ahora lanzamos otra vez airodump-ng pero añadimos el filtro canal (–channel) y el filtro bssid (–bssid) parta recoger de forma eficiente el trafico que nos interesa.
Además usamos el argumento “-w + nombre_archivo” para guardar los datos capturados (el fichero se guardará en nuestra carpeta personal y tendrá una extensión *.cap)
airodump-ng wlan1mon --channel 7 --bssid B8:55:10:02:F0:A1 -w testWEP
Así el escaneo es mas preciso y tenemos ahora la columna RXQ que nos indica el porcentaje de paquetes correctamente captados. Lo que buscamos es tener algo cerca de 100 (100% del trafico correctamente captado) para “reventar” el router.
https://www.wifi-libre.com/img/members/3/tutoWEP13.jpg
En este caso el router no manda ningunos paquetes (lógico : no hay clientes conectados). Pero antes si y algunos puntos de acceso mandan datas de forma constante sin que hayan clientes conectados.
Significa que estos casos recogiendo así los datos podríamos romper la llave WEP, sin hacer nada más que nuestro scan airodump-ng… (y esperar horas)
Vamos ahorra a generar trafico para crackear en algunos minutos la red WEP.
[list=*]
]Algo más de lectura:
airodump-ng/]
[/list]
[h]4. Falsa asociación (ataque 1 de aireplay-ng)[/h]
Se llama “falsa asociación” porque no hay ninguna conexión a la red. Se trata de mantener y usar el proceso de asociación entre staciones fuente y cliente para efectuar ataques WEP. No vale para WPA; no vale para otra cosa que realizar nuestros ataques WEP (no estamos conectados).
A falta de cliente legitimo conectado; para poder realizar un ataque de inyección de traficó WEP, el que sea, es absolutamente necesario que la falsa asociación sea exitosa y continua durante todo el periodo de inyección.
Por lo tanto se hace en una consola a parte que dejaremos abierta y que vigilaremos durante todo el ataque.
Abro una segunda consola y entro
aireplay-ng -1 30 -a 00:23:08:E2:72:9A wlan1mon
*
- (uso sudo en la captura que sigue porque me olvidé de logearme como root para hacer como si sería en mode live, vosotr@s no lo necesitéis porque sois administradores en mode live - kali@root)
dónde :
- “aireplay-ng -1” es la falsa asociación
- “30” es el intervalo de tiempo entre cada re-asociación. Podemos dejarlo a 0.
- “-a” es para indicar el BSSID al cual nos queremos asociar.
https://www.wifi-libre.com/img/members/3/tutoWEP14.jpg
En nuestra primera consola (que dejamos también abierta durante todo el proceso para recoger el trafico) airodump-ng vemos que en la columna “AUTH” ha aparecido el valor OPEN. Significa que somos correctamente asociado y que hemos podio determinar que eres un protocolo “OPEN” (sin llaves pre-compartidas)
Debajo de la liña roja han aparecido nuestro router y nuestro cliente.
En nuestra segunda consola constatamos que la asociación y la authenticación funcionaron. Si no sería el caso (falló de la falsa asociación) la consola se parraría después un rato con un mensaje de error dando posibles razones del falló.
Aquí todo va bien : la falsa asociación se ha hecho rapidó, parece estable y hemos recogido más de 50 datas.
Es necesario tener al mínimo 1 data para realizar una re-inyección de ARP. Con 50 tenemos de sobre para lanzar-la.
[list=*]
]Más lectura:
fake authentication/]
[/list]
[h]5. Inyección de ARP (ataque 3 de aireplay-ng)[/h]
Se trata de re-inyectar ARP para obtener iv’s y ARP a toda velocidad
Se usa un paquete ARP porque se genera en respuesta un iv’s nuevos y es un paquete pequeño, lo que permiten lograr la tasa de inyección la más alta y usar el método PTW.
El ARP se usa para traducir una IP en un dirección física en el protocolo de asignación de dirección IP.
Airerplay-ng tiene incorporado el ataque de re-inyección de paquete ARP y la sintaxis es : ** aireplay-ng -3 -b <mac_routeur(bsid)> -h <mac_cliente(station)> **
Si no usamos “**h + mac cliente **” se usará la mac de nuestro dispositivo (que es lo que vamos a hacer ya que nos hemos asociado con nuestra mac)
abrimos una tercera consola y entramos
aireplay-ng -3 -b 00:23:08:E2:72:9A wlan1mon
Y esto es lo que vemos en nuestra nueva consola
https://www.wifi-libre.com/img/members/3/tutoWEP16.jpg
En ultima liña vemos que no tenemos ARP (tenemos un ACKs que no nos sirve) y nuestra tassa de inyección es de nula ("sent 0 paquets " y 0pps - 0 paquetes por segundos)
Este es el panorama y tenemos que esperar así unos minutos
https://www.wifi-libre.com/img/members/3/tutoWEP17.jpg
Recordad
[list=1]
]En consola 1 (airodump-ng) tenemos que tener más de 1 data y seguir viendo el cliente asociado. Con niveles de señales aceptables. Definir los “Niveles aceptables” de PWR depende de la tarjeta wifi. Algunas se portan bien con niveles de PWR a -90 otras ya a -80 no rinden…
… -59 es un nivel muy bueno con cualquier tarjeta que sea. Un buen nivel de RXQ es uno que se acerca de 100 y es el caso con -89/]
]En consola 2 tenemos en bucle la secuencia Sending keep-alive packet [ACK]
Sending Authentication Request (Open System) [ACK]
Authentication successful
Sending Association Request [ACK]
Association successful :-) (AID: 1
sinónima de éxito en nuestra falsa asociación. /]
]La consola tres la hemos visto justo antes y estamos en espera de un ARP para re-inyectarlo/]
[/list]
Despuès unos minutos vemos en consola 3 (reinyección) mucha activdad con nuevas liñas que desfilan…
https://www.wifi-libre.com/img/members/3/tutoWEP18.jpg
Vemos que los datos han aumentado en consola 1 (airodump-ng) - ya tenemos más de 4000 - y tenemos una tasa de casi 250 datas (iv’s) que entran cada segundos.
¡La inyección funciona!
En los detalles podemos ver que recibimos mas o menos 1 iv’s para cada 2 ARP inyectados (hemos inyectado alrededor de 8000 ARP y hemos recibido más o menos 50% de ACKs que no sirven y 50% de iv’s que nos sirven)
No es una inyección “muy limpia” y la tasa de 250 datas/segundos es algo floja.
Se podría obtener más: hasta 1000 datas segundos con un rtl8187l o un rt3572 con buenos puntos de accesos en condiciones optimas. Con un atheros ath9_k podríamos llegar a 800 #/s.
Esto dicho con un tasa de 200-250 datas por segundos nos tomará dos minutos para juntar 30 000 datas que son suficientes para lanzar el crack con aircrack-ng
Como veis en consola airodump-ng han pasado seis minutos desde que lancé airodump-ng.
He lanzado la asociación algo como un minuto y medio después. así que he tenido que esperar algo como tres/cuatro minutos para que mi inyección sea efectiva.
Hubiera podido ser inmediato como hubiera podido no ocurrir, por falta de ARP. En este caso hay alternativas que veremos en otros manuales. No hay reglas…
Según mis experiencias diría que hay que ser paciente. Pero pasado diez-doce minutos podemos pasar a otro cosa… o rehacer el proceso nuevamente… pero no vale la pena esperar más.que estos 10-12 minutos si no lega un ARP durante este tiempo.
[list=*]
]Más lectura
ARP Request Replay Attack/]
[/list]
[h]6. Crackear la llave WEP con aircrack-ng[/h]
En una cuarta consola lanzamos aircrack-ng, “aircrack-ng -w ruta_archivo_captura.cap” que hago de otra forma porque soy vago…
aircrack-ng *.cap
Así aircrack-ng mirra todos los paquetes de captura que tenemos y nos pregunta cual es el objetivo que queremos descifrar. Si tenemos capturas de un solo objetivo automáticamente lanza el crack sin preguntar nada (lo que nos ocurre)
La he lanzado con unos 16000 iv’s
https://www.wifi-libre.com/img/members/3/tutoWEP19.jpg
No fue suficiente y después unos segundos de cálculos la consola nos devuelve el mensaje “failed, next try with 20000 iv’s”.
https://www.wifi-libre.com/img/members/3/tutoWEP20.jpg
No tenemos nada más que hacer que dejar la consola abierta y esperar : automáticamente aircrack-ng intentara romper la llave cada 5000 datas hasta que de con la llave.
Lo que ocurre unos minutos después con unos 55 000 datas :
https://www.wifi-libre.com/img/members/3/tutoWEP21.jpg
El “KEY FOUND” sentencia nuestra victoria.
Obtenemos la llave en su formato hexadecimal con 26 caracteres (exacta, se entra sin los dos puntos “:” ) y la versión ASCII (no es segura si se han usado “caracteres raros” ya que cada fabricante usa su propia tabla de conversión hexadecimal >> ascii)
Podemos cerrar nuestra consola y desactivar el mode monitor airmon-ng stop wlan1mon
Hemos crackeado en dos minutos una lave WEP 128 bits. Con una tassa de inyección algo mayor y un poco de suerte hubieran podido ser cinco minutos.
Con una A3 pocas veces he tenido que recoger más de 100 000 datas ya que PTW funciona bien con todos estos ARP.
En este caso hemos tenido la suerte de ser asociados sin problemas y hemos podido romper el protocolo sin que haya ninguno cliente conectado.
Esto Ilustra perfectamente el peligro del cifrado WEP : esta posibilidad de generar trafico basura con un cliente falso, trafico que si nos vale para descifrar la llave.
[list=*]
]Algo más de lectura sobre aircrack-ng
aircrack-ng/]
[/list]