Refloto este tema porque buscando por internet queria mencionarles una opcion que descubri para aplicar con reaver muy interesante, y me parecia mas apropiado hacerlo en el tema "oficial" de reaver, que crear un nuevo tema.
Como saben, reaver hace una comparacion de pines, y siempre comienza con p1 probando del 0000 a 9999 (en realidad con alguna modificacion ya que primero prueba pines por defecto)... y lo mismo hace despues con p2 probando del 000 al 999.
En mi caso me eh pasado reaver semanas hasta encontrar que la combinacion de pines era en base a una combinacion alta (ej: 9620xxxx)
... lo cual me llevo a preguntarme ¿y si quiero que reaver comience probando desde el numero mayor 9999 al 0000?
Bueno, reaver no ofrece por defecto esa opcion, pero descubri que eso no significa que no podamos realizarlo!.
A modo de informacion :
Cuando nosotros ejecutamos reaver, comienza la comparacion de pines y guardamos 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 (con 4 digitos y 3 digitos).
Dicho esto, podremos crear los diccionarios con crunch a nuestro gusto y luego tendremos 2 opciones:
A) modificar el archivo original (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, y luego llamarlo a este nuevo archivo con la opcion "-s" (+ nombre del archivo) de reaver.
Lo importante es que la estructura que debemos respetar para ambos casos es la siguiente:
0 --> p1 intentos (es donde reaver guardara las sesiones durante p1)
0 --> p2 intentos (es donde reaver guardara las sesiones durante p2)
0 --> binario de comparacion (es negativo hasta hallar el pin de p1/p2 correcto)
xxxx --> diccionario de 4 digitos para p1
xxx --> diccionario de 3 digitos para p2
Entonces, 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.
Y listo, cuando ejecutemos reaver, podremos hacerle probar pines en base al orden que le hayamos dado nosotros!
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)