Crear Diccionario para Reaver

Publicado por tomasjrl, 27 de Marzo de 2017, 03:21:58 PM

Tema anterior - Siguiente tema

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

tomasjrl

Este tema lo abro para dejar nota sobre como personalizar el diccionario que utiliza por defecto reaver cuando buscamos el Pin de acceso por medio de WPS.

En mi caso eh buscado esta información debido a que en un caso eh tenido que esperar mas de 9000 intentos para dar con P1 (la primera mitad) lo cual me llevo semanas de pruebas, lo que me genero una pregunta logica ¿y si quiero que reaver comience probando de mayor a menor (9999 a 0000) o si quiero crear un diccionario a gusto respecto a las prioridades de combinaciones que yo considere?


Bueno, reaver no ofrece por defecto esa opcion, pero efectivamente se puede y de manera bastante sencilla de hecho.


Les explico, cuando nosotros ejecutamos reaver desde la consola y comienza la comparacion de pines, lo hace en base a un diccionario que usa por defecto y al guardar la sesion, se crea un archivo en el directorio /etc/reaver/  que contiene el bssid que estamos ejecutando con extension .wpc (extension con que guarda reaver las sesiones). Ejemplo --> si la bssid es 30:40:12:xx:xx:xx , veremos un archivo con nombre "304012xxxxxx.wpc"

Este archivo se puede abrir con cualquier editor de textos.. y contiene 3 lineas de cabecera y el resto es basicamente el mismo esquema que cualquier diccionario que se crea con crunch (diccionario con 4 digitos primero y con 3 digitos despues).


Entonces, sabiendo esto, podremos crear los diccionarios con crunch a nuestro gusto y luego tendremos 2 opciones:

A) modificar el archivo original de la sesion guardada(por ej: "304012xxxxxx.wpc"), sobreescribiendo los diccionarios.
B) crear un nuevo archivo donde esten ambos diccionarios generados con crunch agregandole al inicio las 3 lineas de cabecera (0,0,0), y luego llamarlo a este nuevo archivo con la opcion "-s" (+ nombre del archivo) al ejecutar reaver desde la consola.


Lo importante es que la estructura del texto que debemos respetar para cualquier caso es la siguiente:

---abrimos el archivo de texto-------
0 --> p1 intentos (es donde reaver guardara los intentos realizados para p1)
0 --> p2 intentos (es donde reaver guardara los intentos realizados para p2)
0 --> binario de comparacion (es negativo hasta hallar el pin de p1/p2 correcto)
xxxx --> todo el diccionario de 4 digitos para p1 (personalizado a nuestro gusto)
xxx   --> todo el diccionario de 3 digitos para p2 (personalizado a nuestro gusto)
-----fin del archivo de texto-------

Entonces, solo a modo de ejemplo, si queremos que reaver empiece por numeros altos, crearemos los diccionarios con crunch :

crunch 4 4 9876543210 > nombre del archivo1.lst  (para p1)
crunch 3 3 9876543210 > nombre del archivo2.lst  (para p2)


Y luego copiaremos las listas generadas y las pegaremos (A) sobreescribiendo el archivo original o (B) creando un nuevo archivo, agregandole las 3 lineas de cabecera al inicio para que quede con el formato explicado arriba para ser llamada posteriormente con la opcion "-s"  (+ nombre de archivo) de reaver desde la consola.


Y listo, cuando ejecutemos reaver, podremos hacerle probar pines en base al orden que le hayamos dado nosotros y no al que utiliza por defecto!



pd: Esto es importante porque nos da el control para crear nuestro propios diccionarios para reaver, dando prioridad a lo que nosotros quisieramos (por ejemplo, dejar a lo ultimo determinadas combinaciones, priorizar otras, etc)


Saludos!