Seguridad Wireless - Wifi
Suite Seguridad Wireless => Colaboracion y desarrollo de nuestras lives => Mensaje iniciado por: vk496 en 29-07-2016, 04:37 (Viernes)
-
Buenas.
Creo que tengo el patch para el wash. Los resultados que me arroja el IRSS del wash son similares a los que me saca airodump-ng, pero no puedo hacer pruebas especificas para confirmarlo.
Para probarlo, compilais con estos comandos:
git clone https://github.com/vk496/reaver-wps-fork-t6x
cd reaver-wps-fork-t6x/src
./configure
make
make install
El problema está en que el campo que tenia el valor de la señal está siempre a 0, por lo que he cogido a ojo uno que tenía la pinta de ser ese campo.
Salu2
-
fixed ;D >:(
hay que probar mas chips , por si acaso , pero
ar9285 --> o.k
si es en wifislax mejor asi
git clone https://github.com/vk496/reaver-wps-fork-t6x
cd reaver-wps-fork-t6x/src
./configure --prefix=/usr --sysconf=/etc
make
make install
-
fixed ;D >:(
hay que probar mas chips , por si acaso , pero
ar9285 --> o.k
si es en wifislax mejor asi
git clone https://github.com/vk496/reaver-wps-fork-t6x
cd reaver-wps-fork-t6x/src
./configure --prefix=/usr --sysconf=/etc
make
make install
has comprobado que el fix sea correcto?
Es decir, cogí la info al tuntun, no he encontrado información sobre la cabecera de esos paquetes y no sé realmente de dónde se coge. Así a ojo parecía ese valor, pero no estoy seguro de que sea el correcto
PD: Tengo un WN722N, así que si el valor que cojo es el correcto, AR9271 ok
Salu2
-
Lo que hay que mirar es que los otros chips también funcionen bien.
rt3070 , rtl8187 etc
-
rt3070 marca rssi -01 ;D
no se si hay entrada para diferentes chips o algo ...
solo esta afectado los chips atheros
-
rt3070 marca rssi -01 ;D
La version sin el fix hace lo mismo?
Salu2
-
rt3070 marca rssi -01 ;D
La version sin el fix hace lo mismo?
Salu2
no , ¿como va a hacer lo mismo? ;D
a ver el problema es muy concreto...
de serie , todos los chips marcan bien , menos los atheros...que marcan 00
en el tuyo es al reves ... solo los atheros marcan bien.
-
rt3070 marca rssi -01 ;D
La version sin el fix hace lo mismo?
Salu2
no , ¿como va a hacer lo mismo? ;D
a ver el problema es muy concreto...
de serie , todos los chips marcan bien , menos los atheros...que marcan 00
en el tuyo es al reves ... solo los atheros marcan bien.
Va a ser algo jodido tratar el tema sin poder debugearlo ;D ;D
He metido cambios tontos. Mira a ver si así te funciona bien
Salu2
-
nada , todo igual.
atheros bien , ralink -01 ;)
-
nada , todo igual.
atheros bien , ralink -01 ;)
Y ahora?
Salu2
-
igaul .. -01
-
no se si habras tocado algo los ultimos dias o que...
ralink ok
atheros ok
;D ;D ;D ;D
weeeeeeeeeeeeeee
yo haria el patch , y lo enviaria , a 6tx ... ellos se ve que tambien han tocado , pero les pasa como tus primeros intentos ...atheros bien ralink mal.
el tuyo ahora mismo va perfect en los dos chipsets ;D
-
no se si habras tocado algo los ultimos dias o que...
ralink ok
atheros ok
;D ;D ;D ;D
weeeeeeeeeeeeeee
yo haria el patch , y lo enviaria , a 6tx ... ellos se ve que tambien han tocado , pero les pasa como tus primeros intentos ...atheros bien ralink mal.
el tuyo ahora mismo va perfect en los dos chipsets ;D
El primer path los mandé a ellos y lo metieron directamente...
Desde el segundo path no he tocado nada... Y no tengo forma de hacer pruebas. Yo supongo que con el segundo path sería suficiente, pero claro, desde que me dijiste que seguía dando problemas.... No sé si fiarme de que el segundo path sea correcto...
Les mandaré el segundo por ahora, y a ver si alguien mas nos comenta si le funciona bien.
Salu2
-
puede que la segunda vez que probe , no se me clonara el git..si ya existia ;)
-
por favor, estoy a la espera de que envies el segundo parche, para actualizar en la de 64 bits ;D
-
por favor, estoy a la espera de que envies el segundo parche, para actualizar en la de 64 bits ;D
El parche ya está enviado y a la espera de que lo añadan.
https://github.com/t6x/reaver-wps-fork-t6x/pull/70 (https://github.com/t6x/reaver-wps-fork-t6x/pull/70)
Por cierto, el reaver original tmbn se puede cambiar. Hace falta o con este es suficiente?
Salu2
-
por favor, estoy a la espera de que envies el segundo parche, para actualizar en la de 64 bits ;D
El parche ya está enviado y a la espera de que lo añadan.
https://github.com/t6x/reaver-wps-fork-t6x/pull/70 (https://github.com/t6x/reaver-wps-fork-t6x/pull/70)
Por cierto, el reaver original tmbn se puede cambiar. Hace falta o con este es suficiente?
Salu2
Pues "por si acaso" .. no vendria mal, tener las sources de la revision 119 con el parche añadido.
La revision 119 , fue la ultima en el git del proyecto original reaver. ;)
-
por favor, estoy a la espera de que envies el segundo parche, para actualizar en la de 64 bits ;D
El parche ya está enviado y a la espera de que lo añadan.
https://github.com/t6x/reaver-wps-fork-t6x/pull/70 (https://github.com/t6x/reaver-wps-fork-t6x/pull/70)
Por cierto, el reaver original tmbn se puede cambiar. Hace falta o con este es suficiente?
Salu2
Pues "por si acaso" .. no vendria mal, tener las sources de la revision 119 con el parche añadido.
La revision 119 , fue la ultima en el git del proyecto original reaver. ;)
https://github.com/vk496/reaver-wps (https://github.com/vk496/reaver-wps)
Salu2
-
Gracias men , me da un poco de verguenza ajena , ver que ni una sola persona mas, se ha interesado por esto. (en este hilo).
Un bug que lleva con nosotros un par de años ... y que afecta a los chips ath9k , que deben ser mas o menos de un porcentaje del 50% los que vienen montados en portatiles y algunas usb..
Enhorabuena por eso.
-
Gracias men , me da un poco de verguenza ajena , ver que ni una sola persona mas, se ha interesado por esto. (en este hilo).
Un bug que lleva con nosotros un par de años ... y que afecta a los chips ath9k , que deben ser mas o menos de un porcentaje del 50% los que vienen montados en portatiles y algunas usb..
Enhorabuena por eso.
Yo tengo una atheros y sí, es un puto coñazo que marque incorrectamente el IRSS.
Gracias @vk496 >:( >:(
-
si quieres seguir arreglando cosas ...
1 - me comentan que los argumentos p1 y p2 estan invertidos .. creo que es el argumento que se usa para empezar con una mitad elegido por el usuario.
2 - este es mas importante , el argumento -n parece que esta roto.
si al atacar un ap , ves mensajes de FAKE NACK , y no puedes avanzar..ese router es ideal para pruebas.
son de los que no pasas de pin ,si no usas la opcion -n que practicamente se estandarizo.
3 - wash ... la opcion -C creo esta invertida ..por defecto esta activada..cuando deberia ser un argumento usable ...
sirve para cuando recibes al escanear el mensaje BAD FCS ..y no puedes escanear nada.
son argumentos, implementados en muchos scripts.. y que hay que estar modificando todo , para medio funcionar..aunque lo de BAD fcs ES FACIL RETIRAR LA OPCION -c AL ESCANEAR EN LOS SCRITPS..PERO LA DEL ARGUMENTO -N es vital ... y para algunos scripts la opcion -p1 y p2 son usadas tambien.
si estas atascado ..y quieres mirar eso ...
-
parche para wash , ajuste de espacios en la linea de datos del escaneo , y un poco de color.
--- a/wpsmon.c
+++ b/wpsmon.c
@@ -262,8 +262,8 @@
if(!header_printed)
{
- cprintf(INFO, "BSSID Channel RSSI WPS Version WPS Locked ESSID\n");
- cprintf(INFO, "---------------------------------------------------------------------------------------------------------------\n");
+ cprintf(INFO, "\033[1;33mBSSID Channel RSSI Version Locked ESSID\033[0m\n");
+ cprintf(INFO, "\033[1;32m----------------------------------------------------------------------\033[0m\n");
header_printed = 1;
}
@@ -357,7 +357,7 @@
break;
}
- cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
+ cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
}
if(probe_sent)
-
si quieres seguir arreglando cosas ...
1 - me comentan que los argumentos p1 y p2 estan invertidos .. creo que es el argumento que se usa para empezar con una mitad elegido por el usuario.
2 - este es mas importante , el argumento -n parece que esta roto.
si al atacar un ap , ves mensajes de FAKE NACK , y no puedes avanzar..ese router es ideal para pruebas.
son de los que no pasas de pin ,si no usas la opcion -n que practicamente se estandarizo.
3 - wash ... la opcion -C creo esta invertida ..por defecto esta activada..cuando deberia ser un argumento usable ...
sirve para cuando recibes al escanear el mensaje BAD FCS ..y no puedes escanear nada.
son argumentos, implementados en muchos scripts.. y que hay que estar modificando todo , para medio funcionar..aunque lo de BAD fcs ES FACIL RETIRAR LA OPCION -c AL ESCANEAR EN LOS SCRITPS..PERO LA DEL ARGUMENTO -N es vital ... y para algunos scripts la opcion -p1 y p2 son usadas tambien.
si estas atascado ..y quieres mirar eso ...
Puedes describir un poco mejor? Es decir, necesito saber de cada uno de los puntos dos cosas:
Que es lo que se supone que tiene que pasar. Y que es lo que está pasando realmente ahora.
Salu2
-
3 - wash ... la opcion -C creo esta invertida ..por defecto esta activada..cuando deberia ser un argumento usable ...
sirve para cuando recibes al escanear el mensaje BAD FCS ..y no puedes escanear nada.
Analizando el codigo, si NO le pasas el argumento -C, lo que hace es salirse del bucle en cuanto encuentra un BAD FCS (y supongo que deja de escanear....)
Es eso lo que tiene que hacer?
PD:
Del primer punto, haciendo las pruebas parece que funciona bien. Es decir, el p1 y p2 lo coge correctamente ??? :-\
Salu2
-
no se si sabre explicarme..jeje
lo del p1 y p2
puedes usar -p1 1234
y se supone que debe testear todos los pines on primera parte 1234xxxx
esto no lo mire yo , pero dicen que estan al reves..
es decir que metes p1 1234 y en vez de testear todos los pines con primera mitad 1234 , lo que hace es probar los que acaban ... 123X
-------------
el argumento -n , esto es complicado ..
por lo poco que entiendo , es que el AP , responde con FAKE NACK , y al ser un NACK falso, reaver no pasa de pin ...te quedas siempre en 12345670 , ... pero si usas -n , reaver no intentar que los NACK sean buenos , con lo que puede seguir probando pines ...
lo del argumento -n es complicado , por que no todos los rouetrs envian fake nack , pero en este momento es facil verlo ... si envias a un rouer un pin , y no se puede probar veras que sale la frase..
warning fake nack detected
uses o no el -n , aparecera igualmente cuando usando el argumento -n ya no deberia importar que los nacks sean falsos o no.
-----------
3 - wash y el argumento -C , tampoco se si voy a saber explicar esto ...y no estoy 100% seguro de que lo que pienso sea en realidad lo que sucede.
-C, --ignore-fcs Ignore frame checksum errors
habia chips que solo eran capaces de recibir BAD FCS , y no tenias una lista de aps ... el argumento -C servia para ignorar los paquetes corruptos y poder asi escanear.
en la actualidad no se si es que esto ya no pasa o es que esta por defecto siempre "on" , y escaneas ya con el -C activado aunque no lo llames.
-
de las tres cosas , creo la mas importante es lo del fake nack ..
aqui esta reportado
https://github.com/t6x/reaver-wps-fork-t6x/issues/64
y le responden prueba el argumento -N mayuscula..vamos bien ... es la minuscula , la que se debe usar hay ..el que reporta dice que probo y nada ...claro..si ademas le dice -N y es -n ,pero vamos, esta roto igualmente ese argumento.
-N, --no-nacks Do not send NACK messages when out of order packets are received
-n, --nack Target AP always sends a NACK [Auto]
el de la minuscula , que pone auto ..eso ya no va ... ni llamando expresamente el argumento en la linea de comandos.
reaver -i mon0 -c X -b xxxxxxxxxxx -n -vv
-
de las tres cosas , creo la mas importante es lo del fake nack ..
aqui esta reportado
https://github.com/t6x/reaver-wps-fork-t6x/issues/64
y le responden prueba el argumento -N mayuscula..vamos bien ... es la minuscula , la que se debe usar hay ..el que reporta dice que probo y nada ...claro..si ademas le dice -N y es -n ,pero vamos, esta roto igualmente ese argumento.
-N, --no-nacks Do not send NACK messages when out of order packets are received
-n, --nack Target AP always sends a NACK [Auto]
el de la minuscula , que pone auto ..eso ya no va ... ni llamando expresamente el argumento en la linea de comandos.
reaver -i mon0 -c X -b xxxxxxxxxxx -n -vv
https://github.com/vk496/reaver-wps-fork-t6x (https://github.com/vk496/reaver-wps-fork-t6x)
Creo que con esto se soluciona. No sé como poder montar un escenario para poder hacer las pruebas, pero he analizado el código y creo que es eso.
Por cierto, las opciones -n y -N son opuestas entre si?
Salu2
-
hay si que me pillas tio , nunca jamas use el argumento -N mayuscula ...
pruebo el code y te digo, gracias.
-
nada tio ..
sigue hay el fake nack.
te envio privado
-
reaver 1.5.3 , aqui vemos como falla , no es capaz de testar un pin, por que el router envia fak nacks ...
(http://fotos.subefotos.com/f594d3cd1f09e5e02f1ecfbe056a68e0o.png)
y aqui la joyita ...el 1.4 , que con el argumento -n , es capaz de verificar el pin ,y descartarlo ..
si no puedes descargar o verificar ...el ataque se queda siempre en el primer pin que envies ...
osea jamas pasaras de 12345670 , si el argumento -n no funciona.
de hecho ese argumento se viene aplicando en scripts sistematicamente ,ya que es una opcion que activada no da problemas en routers "facilones", y que te da el plus de si es de los chungos, "no pasa na"
(http://fotos.subefotos.com/d9cd3445484013ffaceb060d5533ad59o.png)
-
como vemos en ambos, recibimos el M4 , pero uno falla y el otro no ;)
-
pssss , tio ...el argumento -g esta roto tambien , en routers que no hacen lo del fake nack ...
envias un pin , lo testea y no se detiene ...sigue ademas enviando el mismo...todo el tiempo ... :'( :'(
¿no acabamos antes si al 1.4 se le añaden los argumentos pixie ?
creo que solo un script utiliza el reaver 1.5 wps-breaker , en la iso de 64 , lo que he hecho es volver a poner por defecto el 1.4 y al otro lo he renombrado reaver6tx y wash6tx , modificando el script ese, cuando llama a los programas, para que ejecute los que llevan 6tx.
yo creo que lo voy a dejar como llo tengo ahora ... por que el 1.5.3 esta hecho una porqueria.
-
¿no acabamos antes si al 1.4 se le añaden los argumentos pixie ?
Es posible, pero no estoy seguro.
El de t6x tiene muchas cosas en su código. Sería reinventar la rueda partir del 1.4 otra vez.
pssss , tio ...el argumento -g esta roto tambien , en routers que no hacen lo del fake nack ...
envias un pin , lo testea y no se detiene ...sigue ademas enviando el mismo...todo el tiempo ... :'( :'(
hmmm.... Eso es raro. El algoritmo que gestiona eso parece muy simple. Si se reciben fakenack, si es cierto que nunca terminaría. Pero los que no lanzan eso, no debería pasar. He vuelto a hacer lo del fake nack, a ver si ahora chuta. y Puede que lo de "g" tmbn vaya
https://github.com/vk496/reaver-wps-fork-t6x (https://github.com/vk496/reaver-wps-fork-t6x)
Salu2
-
el argumento -g se usa para enviar un unico pin ..por eejmplo un pin calulado (algoritmo)
lanzas uno , y sea o no sea,..debe detenerse de una u otra forma.
asi evitas los bloqueos al enviar muchos pines...
-
hasta esta noche a partir de las 20:00 no puedo mirar esto ...
-
el argumento -g se usa para enviar un unico pin ..por eejmplo un pin calulado (algoritm,o)
No. Al -g le pasas un parámetro, un número
Y sólo hace esa cantidad de pruebas. Un fakenack no cuenta como un intento. Sólo las claves fallidas cuentan.
Salu2
-
el argumento -g se usa para enviar un unico pin ..por eejmplo un pin calulado (algoritm,o)
No. Al -g le pasas un parámetro, un número
Y sólo hace esa cantidad de pruebas. Un fakenack no cuenta como un intento. Sólo las claves fallidas cuentan.
Salu2
si , si esta claro men ... me refiero a que el argumento -g se usa solo en escenarios donde solo pretendes enviar un unico pin a probar y un unico intento.
-g 1 --> un intento
-p 12345670 --> ese pin
en cuanto verifica una vez el pin ,sea bueno o malo , ya se sale ...
si no metes el -g 1 , lo que ocurriria seria que probaria 12345670 y despues si no es continuaria con los siguientes.
son cosas que la gente de a pie no suele usar , por que los scripts ya hacen todo eso ..y ni lo saben ... es lo que llamariamos el estudio de campo ... ;)
##############
un facke nack no cuenta como intento ... por que no va el -n ;D ..si recibes hasta M4 ya debes poder seguir ..
probe en un escenario donde el router no envia facke nacks ... y tampoco se paro tras un intento con M4 ..continueba a su bola todo el rato enviando dicho pin ... una y otra y otra y otra..aun recibiendo siempre el M4 ;)
-
puedes probar eso ... que no necesita un ap rarito ...
envias un pin , con -g 1 para que pruebe dicho pin una vez y se pare ...al llegar a M4 , saldria o la llave , o que no era ese pin.
pero la realidad es que no sale nada y se queda en bucle.
el argumento -g ya se rompio una vez ... de hecho mi credito en los changelog fue por eso ... no viene de nuevo...lo arreglaron ,y ahora esta otra vez k.o
-
>:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:(
solo hay una cosa que me tiene un poco mosca , lo del cuadrado rosa ... ahora van tanto el argumento -n como el -g .
(http://fotos.subefotos.com/30293f0c605529989f1867fa0ad0f7e3o.png)
-
imagino que lo del cuadrado rosa, es por que al enviar pin completo ...se activan el p1 y p2 y pasa de cero a uno
de deshabilitado a habilitado.
en principio parece que lo que a mi me interesa funciona..voy a probar mas.
-
DEFINITIVAMENTE , esta arreglado ...
el argumento -n ahora funciona perfectamente..
por ejemplo los routers de ono compal con mac
5C:35:3B:XX:XX:XX
si les envias el pin ,sin el argumento -n , te daran hasta el M6 ,pero pasara de largo ...y reaver descartara el pin VALIDO , ahora la misma orden , añadiendole el -n , el pin es verificado 100% , y se obtiene la WPA KEY.
Y tambien repeta el argumento -g , asi que ya tardas en enviarles parche :=) >:( >:( >:( >:(
-
Vamos con lo del p1 y p2 , aunque no se muy bien como funcionaba eso antes.
se supone que si pones p1-index 4444 ..deberia testear todos los pines posibles que empiecen por 4444
y lo que sucede es esto otro ,.,.
reaver -i mon0 -c 13 -b XX:XX:XX:XX:XX:XX -n -g 1 --p1-index 4456 -vv
Y la cosa empieza asi ...
Trying pin 44515676
me llama la atencion
Trying pin 44515676
-
Vamos con lo del p1 y p2 , aunque no se muy bien como funcionaba eso antes.
se supone que si pones p1-index 4444 ..deberia testear todos los pines posibles que empiecen por 4444
y lo que sucede es esto otro ,.,.
reaver -i mon0 -c 13 -b XX:XX:XX:XX:XX:XX -n -g 1 --p1-index 4456 -vv
Y la cosa empieza asi ...
Trying pin 44515676
me llama la atencion
Trying pin 44515676
Yo tampoco tengo claro como funciona eso. Porque el numero que le pasas se supone que es el pin, pero luego se refiere a él como índice..... índice de qué? Muy raro...
Esta noche voy a intentar quitar todos los warnings que tiene en el código cuando se compila y averiguar esto de los índices
Salu2
-
index ... puedes indicar con p1 los 4 primeros digitos de un pin ...y con el p2 , puedes especificar la segunda mitad.
por ejemplo
p1 1234
probaria todos los pines que empioezen por 1234
p2 1234
probaria los pines que acabaran en 1234
es lo que me dice la logica.
-
index ... puedes indicar con p1 los 4 primeros digitos de un pin ...y con el p2 , puedes especificar la segunda mitad.
por ejemplo
p1 1234
probaria todos los pines que empioezen por 1234
p2 1234
probaria los pines que acabaran en 1234
es lo que me dice la logica.
Sip, eso pienso yo tmbn... Y sin embargo, no es así
Porque en el primer pin, los index de p1 y p2 son 0, y no prueba 0000000 si no el 1234567X
A la siguiente, sube el p2 a 1, y no prueba el 0000001X si no otro distinto...
:-\
Salu2
-
man , el power en las atheros ... si te acercas mucho al ap ...aparecen valores como
-122 y cosas asi en el power ... ;D
no se como hace airoump-ng , ese muestra el power correcto .... -32
EDIT: No se si mi teoria sera cierta , pero .. -122 si cuando hay tres valores, sumas los dos primeros ...me da justo el -32 de airodump-ng ...
-
Mi teoria del rssi , es una ))))) pinchada en un palo :=)
si me alejo un poco del router obtengo -102 ... que segun mi teoria seria -12 , jajaja. mal.
-
necesito saber algo ... la version 1.4 que modificaste ..es la 1.4 a secas de google code ??
por que no es lo mismo que la 1.4 revision 119 ... que estaba en el git , y ya no la veo por ningun lado.
mm ,creo me estoy seguro ...bajaste el 1.4 a secas ...
aqui esta el 1.4 revision 119 ...
https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/reaver-wps/source-archive.zip
-
necesito saber algo ... la version 1.4 que modificaste ..es la 1.4 a secas de google code ??
por que no es lo mismo que la 1.4 revision 119 ... que estaba en el git , y ya no la veo por ningun lado.
mm ,creo me estoy seguro ...bajaste el 1.4 a secas ...
aqui esta el 1.4 revision 119 ...
https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/reaver-wps/source-archive.zip
De aquí
https://code.google.com/archive/p/reaver-wps/ (https://code.google.com/archive/p/reaver-wps/)
Y según esto https://code.google.com/archive/p/reaver-wps/source/default/commits (https://code.google.com/archive/p/reaver-wps/source/default/commits), es la 119
Salu2
-
ok ,gracias ;)
animo tio , si arreglas lo del p1 y p2 , estara casi al 100% , lo dl rssi , mejor un valor mal, que todos a cero ...
>:( >:( >:( >:(
-
Lo del rssi es lo que me temía, el valor que arroja es incorrecto. No sé donde puede estar el problema, porque el paquete que parsea parece ser que no contiene ningún campo relacionado con el RSSI (Hasta ahora ha funcionado cogiendo el byte 23 del paquete partiendo de la cabecera).
Sin embargo, en los ath9k ese valor está a 0 :-\
De todas formas, dejando eso de lado, el parametro -n parece funcionar según dices, y acabo de arreglar los warnings de compilación que arroja. Falta investigar lo del p1 y p2
Salu2
-
men , he intentado recoger tus parches ,para aplicarlos sobre las sources de 6tx , y fallan casi todos los parches.
a lo mejor por eso no los han aplicado ...
-
puedes aplicar este parche a tu git de reaver 6tx ??¿¿ por favor.
son los colores tipicos que usa wifislax, en los mensjaes ..para que sea mas facil ir viendo los avances.
yo de ti , en los creditos modificaria ..y dejaria 6tx MOD by vk496 ....el tuyo esta infinitamente mas pulido ,de hecho lo voy a poner como el reaver oficial en la de 64 bits ;D
modifica algo en los creditos para diferenciar el tuyo de el de ellos..si no quieren tus parches que les den.
# Wash less spaces and colorized info
--- a/wpsmon.c
+++ b/wpsmon.c
@@ -259,8 +259,8 @@
if (!header_printed) {
if (o_file_p == 0) {
- cprintf(INFO, "BSSID Channel RSSI WPS Version WPS Locked ESSID\n");
- cprintf(INFO, "--------------------------------------------------------------------------------------\n");
+ cprintf(INFO, "\033[1;33mBSSID Channel RSSI Version Locked ESSID\033[0m\n");
+ cprintf(INFO, "\033[1;32m----------------------------------------------------------------------\033[0m\n");
header_printed = 1;
}
@@ -451,7 +451,7 @@
if (o_file_p == 0) {
- cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
+ cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
} else {
if (get_chipset_output == 1) {
cprintf(INFO, "%17s|%2d|%.2d|%d.%d|%s|%s|%s|%s|%s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid, info_manufac, info_modelnum, info_modelserial);
# Colorized M1 M2 M3 M4 M5 M6 M7 messages
--- a/exchange.c
+++ b/exchange.c
@@ -84,7 +84,7 @@
id_response_sent = 1;
break;
case M1:
- cprintf(VERBOSE, "[+] Received M1 message\n");
+ cprintf(VERBOSE, "[+] Received \033[1;35mM1\033[0m message\n");
if (id_response_sent && !m2_sent) {
tx_type = SEND_M2;
m2_sent = 1;
@@ -94,7 +94,7 @@
}
break;
case M3:
- cprintf(VERBOSE, "[+] Received M3 message\n");
+ cprintf(VERBOSE, "[+] Received \033[1;35mM3\033[0m message\n");
if (m2_sent && !m4_sent) {
if (globule->pixie_loop == 1) {
tx_type = SEND_WSC_NACK;
@@ -111,7 +111,7 @@
}
break;
case M5:
- cprintf(VERBOSE, "[+] Received M5 message\n");
+ cprintf(VERBOSE, "[+] Received \033[1;35mM5\033[0m message\n");
if (get_key_status() == KEY1_WIP) {
set_key_status(KEY2_WIP);
}
@@ -124,7 +124,7 @@
}
break;
case M7:
- cprintf(VERBOSE, "[+] Received M7 message\n");
+ cprintf(VERBOSE, "[+] Received \033[1;35mM7\033[0m message\n");
//bug fix made by flatr0ze
if (!m6_sent) {
tx_type = SEND_WSC_NACK;
--- b/cracker.c
+++ a/cracker.c
@@ -87,12 +87,12 @@
while (!reassociate()) {
if (assoc_fail_count == MAX_ASSOC_FAILURES) {
assoc_fail_count = 0;
- cprintf(CRITICAL, "[!] WARNING: Failed to associate with %s (ESSID: %s)\n", bssid, get_ssid());
+ cprintf(CRITICAL, "[!] \033[1;31mWARNING\033[1;37m: Failed to associate with %s (ESSID: %s)\033[0m\n", bssid, get_ssid());
} else {
assoc_fail_count++;
}
}
- cprintf(INFO, "[+] Associated with %s (ESSID: %s)\n", bssid, get_ssid());
+ cprintf(INFO, "[+] \033[1;32mAssociated with \033[1;33m%s (ESSID: %s)\033[0m\n", bssid, get_ssid());
/* Used to calculate pin attempt rates */
start_time = time(NULL);
@@ -125,7 +125,7 @@
* Verify that the AP is not locked before attempting the next pin.
*/
while (get_ignore_locks() == 0 && is_wps_locked()) {
- cprintf(WARNING, "[!] WARNING: Detected AP rate limiting, waiting %d seconds before re-checking\n", get_lock_delay());
+ cprintf(WARNING, "[!] \033[1;33mWARNING\033[1;37m: Detected AP rate limiting, waiting %d seconds before re-checking\033[0m\n", get_lock_delay());
pcap_sleep(get_lock_delay());
}
@@ -143,7 +143,7 @@
cprintf(CRITICAL, "[-] Failed to generate the next payload\n");
break;
} else {
- cprintf(WARNING, "[+] Trying pin %s.\n", pin);
+ cprintf(WARNING, "[+] \033[1;32mTrying pin \033[1;36m%s\033[0m\n", pin);
}
/*
@@ -154,7 +154,7 @@
while (!reassociate()) {
if (assoc_fail_count == MAX_ASSOC_FAILURES) {
assoc_fail_count = 0;
- cprintf(CRITICAL, "[!] WARNING: Failed to associate with %s (ESSID: %s)\n", bssid, get_ssid());
+ cprintf(CRITICAL, "[!] \033[1;33mWARNING\033[1;37m: Failed to associate with %s (ESSID: %s)\033[0m\n", bssid, get_ssid());
} else {
assoc_fail_count++;
}
@@ -211,7 +211,7 @@
/* If we've had an excessive number of message failures in a row, print a warning */
if (fail_count == WARN_FAILURE_COUNT) {
- cprintf(WARNING, "[!] WARNING: %d failed connections in a row\n", fail_count);
+ cprintf(WARNING, "[!] \033[1;33mWARNING\033[1;37m: %d failed connections in a row\033[0m\n", fail_count);
fail_count = 0;
pcap_sleep(get_fail_delay());
}
@@ -387,7 +387,7 @@
}
- cprintf(INFO, "[+] %.2f%% complete. Elapsed time: %id%ih%im%is.\n", percentage, days, hours, minutes, seconds);
+ cprintf(INFO, "[+] \033[1;33m%.2f%% complete. Elapsed time: %id%ih%im%is.\033[0m\n", percentage, days, hours, minutes, seconds);
if (last_display && attempts != last_attempts) {
expected = ((now - last_display) / (attempts - last_attempts)) * (get_max_pin_attempts() - attempts);
if (expected > 0) {
--- a/wps/wps_registrar.c
+++ b/wps/wps_registrar.c
@@ -1521,7 +1521,7 @@
case SEND_M2:
if (wps_get_dev_password(wps) >= 0) {
msg = wps_build_m2(wps);
- cprintf(VERBOSE, "[+] Sending M2 message\n");
+ cprintf(VERBOSE, "[+] Sending \033[1;35mM2\033[0m message\n");
*op_code = WSC_MSG;
break;
}
@@ -1533,17 +1533,17 @@
break;
case SEND_M4:
msg = wps_build_m4(wps);
- cprintf(VERBOSE, "[+] Sending M4 message\n");
+ cprintf(VERBOSE, "[+] Sending \033[1;35mM4\033[0m message\n");
*op_code = WSC_MSG;
break;
case SEND_M6:
msg = wps_build_m6(wps);
- cprintf(VERBOSE, "[+] Sending M6 message\n");
+ cprintf(VERBOSE, "[+] Sending \033[1;35mM6\033[0m message\n");
*op_code = WSC_MSG;
break;
case SEND_M8:
msg = wps_build_m8(wps);
- cprintf(VERBOSE, "[+] Sending M8 message\n");
+ cprintf(VERBOSE, "[+] Sending \033[1;35mM8\033[0m message\n");
*op_code = WSC_MSG;
break;
case RECV_DONE:
@@ -2429,7 +2429,7 @@
static enum wps_process_res wps_process_m3(struct wps_data *wps,
const struct wpabuf *msg,
struct wps_parse_attr *attr) {
- wpa_printf(MSG_DEBUG, "WPS: Received M3");
+ wpa_printf(MSG_DEBUG, "WPS: Received \033[1;35mM3\033[0m");
if (wps->state != RECV_M3) {
wpa_printf(MSG_DEBUG, "WPS: Unexpected state (%d) for "
--- a/wps/wps_enrollee.c
+++ b/wps/wps_enrollee.c
@@ -113,7 +113,7 @@
wpa_hexdump(MSG_DEBUG, "WPS: Enrollee Nonce",
wps->nonce_e, WPS_NONCE_LEN);
- wpa_printf(MSG_DEBUG, "WPS: Building Message M1");
+ wpa_printf(MSG_DEBUG, "WPS: Building Message \033[1;35mM1\033[0m");
msg = wpabuf_alloc(1000);
if (msg == NULL)
return NULL;
@@ -146,7 +146,7 @@
static struct wpabuf * wps_build_m3(struct wps_data *wps) {
struct wpabuf *msg;
- wpa_printf(MSG_DEBUG, "WPS: Building Message M3");
+ wpa_printf(MSG_DEBUG, "WPS: Building Message \033[1;35mM3\033[0m");
if (wps->dev_password == NULL) {
wpa_printf(MSG_DEBUG, "WPS: No Device Password available");
@@ -174,7 +174,7 @@
static struct wpabuf * wps_build_m5(struct wps_data *wps) {
struct wpabuf *msg, *plain;
- wpa_printf(MSG_DEBUG, "WPS: Building Message M5");
+ wpa_printf(MSG_DEBUG, "WPS: Building Message \033[1;35mM5\033[0m");
plain = wpabuf_alloc(200);
if (plain == NULL)
@@ -261,7 +261,7 @@
static struct wpabuf * wps_build_m7(struct wps_data *wps) {
struct wpabuf *msg, *plain;
- wpa_printf(MSG_DEBUG, "WPS: Building Message M7");
+ wpa_printf(MSG_DEBUG, "WPS: Building Message \033[1;35mM7\033[0m");
plain = wpabuf_alloc(500 + wps->wps->ap_settings_len);
if (plain == NULL)
@@ -703,7 +703,7 @@
const struct wpabuf *msg,
struct wps_parse_attr *attr) {
- wpa_printf(MSG_DEBUG, "WPS: Received M2");
+ wpa_printf(MSG_DEBUG, "WPS: Received \033[1;35mM2\033[0m");
if (wps->state != RECV_M2) {
wpa_printf(MSG_DEBUG, "WPS: Unexpected state (%d) for "
@@ -798,7 +798,7 @@
struct wpabuf *decrypted;
struct wps_parse_attr eattr;
- wpa_printf(MSG_DEBUG, "WPS: Received M4");
+ wpa_printf(MSG_DEBUG, "WPS: Received \033[1;35mM4\033[0m");
if (wps->state != RECV_M4) {
wpa_printf(MSG_DEBUG, "WPS: Unexpected state (%d) for "
@@ -845,7 +845,7 @@
struct wpabuf *decrypted;
struct wps_parse_attr eattr;
- wpa_printf(MSG_DEBUG, "WPS: Received M6");
+ wpa_printf(MSG_DEBUG, "WPS: Received \033[1;35mM6\033[0m");
if (wps->state != RECV_M6) {
wpa_printf(MSG_DEBUG, "WPS: Unexpected state (%d) for "
-
te lo dejo en pastebin
http://pastebin.com/ULTy0jTB
-
puedes aplicar este parche a tu git de reaver 6tx ??¿¿ por favor.
son los colores tipicos que usa wifislax, en los mensjaes ..para que sea mas facil ir viendo los avances.
yo de ti , en los creditos modificaria ..y dejaria 6tx MOD by vk496 ....el tuyo esta infinitamente mas pulido ,de hecho lo voy a poner como el reaver oficial en la de 64 bits ;D
modifica algo en los creditos para diferenciar el tuyo de el de ellos..si no quieren tus parches que les den.
# Wash less spaces and colorized info
--- a/wpsmon.c
+++ b/wpsmon.c
@@ -259,8 +259,8 @@
if (!header_printed) {
if (o_file_p == 0) {
- cprintf(INFO, "BSSID Channel RSSI WPS Version WPS Locked ESSID\n");
- cprintf(INFO, "--------------------------------------------------------------------------------------\n");
+ cprintf(INFO, "\033[1;33mBSSID Channel RSSI Version Locked ESSID\033[0m\n");
+ cprintf(INFO, "\033[1;32m----------------------------------------------------------------------\033[0m\n");
header_printed = 1;
}
@@ -451,7 +451,7 @@
if (o_file_p == 0) {
- cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
+ cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
} else {
if (get_chipset_output == 1) {
cprintf(INFO, "%17s|%2d|%.2d|%d.%d|%s|%s|%s|%s|%s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid, info_manufac, info_modelnum, info_modelserial);
# Colorized M1 M2 M3 M4 M5 M6 M7 messages
--- a/exchange.c
+++ b/exchange.c
@@ -84,7 +84,7 @@
id_response_sent = 1;
break;
case M1:
- cprintf(VERBOSE, "[+] Received M1 message\n");
+ cprintf(VERBOSE, "[+] Received \033[1;35mM1\033[0m message\n");
if (id_response_sent && !m2_sent) {
tx_type = SEND_M2;
m2_sent = 1;
@@ -94,7 +94,7 @@
}
break;
case M3:
- cprintf(VERBOSE, "[+] Received M3 message\n");
+ cprintf(VERBOSE, "[+] Received \033[1;35mM3\033[0m message\n");
if (m2_sent && !m4_sent) {
if (globule->pixie_loop == 1) {
tx_type = SEND_WSC_NACK;
@@ -111,7 +111,7 @@
}
break;
case M5:
- cprintf(VERBOSE, "[+] Received M5 message\n");
+ cprintf(VERBOSE, "[+] Received \033[1;35mM5\033[0m message\n");
if (get_key_status() == KEY1_WIP) {
set_key_status(KEY2_WIP);
}
@@ -124,7 +124,7 @@
}
break;
case M7:
- cprintf(VERBOSE, "[+] Received M7 message\n");
+ cprintf(VERBOSE, "[+] Received \033[1;35mM7\033[0m message\n");
//bug fix made by flatr0ze
if (!m6_sent) {
tx_type = SEND_WSC_NACK;
--- b/cracker.c
+++ a/cracker.c
@@ -87,12 +87,12 @@
while (!reassociate()) {
if (assoc_fail_count == MAX_ASSOC_FAILURES) {
assoc_fail_count = 0;
- cprintf(CRITICAL, "[!] WARNING: Failed to associate with %s (ESSID: %s)\n", bssid, get_ssid());
+ cprintf(CRITICAL, "[!] \033[1;31mWARNING\033[1;37m: Failed to associate with %s (ESSID: %s)\033[0m\n", bssid, get_ssid());
} else {
assoc_fail_count++;
}
}
- cprintf(INFO, "[+] Associated with %s (ESSID: %s)\n", bssid, get_ssid());
+ cprintf(INFO, "[+] \033[1;32mAssociated with \033[1;33m%s (ESSID: %s)\033[0m\n", bssid, get_ssid());
/* Used to calculate pin attempt rates */
start_time = time(NULL);
@@ -125,7 +125,7 @@
* Verify that the AP is not locked before attempting the next pin.
*/
while (get_ignore_locks() == 0 && is_wps_locked()) {
- cprintf(WARNING, "[!] WARNING: Detected AP rate limiting, waiting %d seconds before re-checking\n", get_lock_delay());
+ cprintf(WARNING, "[!] \033[1;33mWARNING\033[1;37m: Detected AP rate limiting, waiting %d seconds before re-checking\033[0m\n", get_lock_delay());
pcap_sleep(get_lock_delay());
}
@@ -143,7 +143,7 @@
cprintf(CRITICAL, "[-] Failed to generate the next payload\n");
break;
} else {
- cprintf(WARNING, "[+] Trying pin %s.\n", pin);
+ cprintf(WARNING, "[+] \033[1;32mTrying pin \033[1;36m%s\033[0m\n", pin);
}
/*
@@ -154,7 +154,7 @@
while (!reassociate()) {
if (assoc_fail_count == MAX_ASSOC_FAILURES) {
assoc_fail_count = 0;
- cprintf(CRITICAL, "[!] WARNING: Failed to associate with %s (ESSID: %s)\n", bssid, get_ssid());
+ cprintf(CRITICAL, "[!] \033[1;33mWARNING\033[1;37m: Failed to associate with %s (ESSID: %s)\033[0m\n", bssid, get_ssid());
} else {
assoc_fail_count++;
}
@@ -211,7 +211,7 @@
/* If we've had an excessive number of message failures in a row, print a warning */
if (fail_count == WARN_FAILURE_COUNT) {
- cprintf(WARNING, "[!] WARNING: %d failed connections in a row\n", fail_count);
+ cprintf(WARNING, "[!] \033[1;33mWARNING\033[1;37m: %d failed connections in a row\033[0m\n", fail_count);
fail_count = 0;
pcap_sleep(get_fail_delay());
}
@@ -387,7 +387,7 @@
}
- cprintf(INFO, "[+] %.2f%% complete. Elapsed time: %id%ih%im%is.\n", percentage, days, hours, minutes, seconds);
+ cprintf(INFO, "[+] \033[1;33m%.2f%% complete. Elapsed time: %id%ih%im%is.\033[0m\n", percentage, days, hours, minutes, seconds);
if (last_display && attempts != last_attempts) {
expected = ((now - last_display) / (attempts - last_attempts)) * (get_max_pin_attempts() - attempts);
if (expected > 0) {
--- a/wps/wps_registrar.c
+++ b/wps/wps_registrar.c
@@ -1521,7 +1521,7 @@
case SEND_M2:
if (wps_get_dev_password(wps) >= 0) {
msg = wps_build_m2(wps);
- cprintf(VERBOSE, "[+] Sending M2 message\n");
+ cprintf(VERBOSE, "[+] Sending \033[1;35mM2\033[0m message\n");
*op_code = WSC_MSG;
break;
}
@@ -1533,17 +1533,17 @@
break;
case SEND_M4:
msg = wps_build_m4(wps);
- cprintf(VERBOSE, "[+] Sending M4 message\n");
+ cprintf(VERBOSE, "[+] Sending \033[1;35mM4\033[0m message\n");
*op_code = WSC_MSG;
break;
case SEND_M6:
msg = wps_build_m6(wps);
- cprintf(VERBOSE, "[+] Sending M6 message\n");
+ cprintf(VERBOSE, "[+] Sending \033[1;35mM6\033[0m message\n");
*op_code = WSC_MSG;
break;
case SEND_M8:
msg = wps_build_m8(wps);
- cprintf(VERBOSE, "[+] Sending M8 message\n");
+ cprintf(VERBOSE, "[+] Sending \033[1;35mM8\033[0m message\n");
*op_code = WSC_MSG;
break;
case RECV_DONE:
@@ -2429,7 +2429,7 @@
static enum wps_process_res wps_process_m3(struct wps_data *wps,
const struct wpabuf *msg,
struct wps_parse_attr *attr) {
- wpa_printf(MSG_DEBUG, "WPS: Received M3");
+ wpa_printf(MSG_DEBUG, "WPS: Received \033[1;35mM3\033[0m");
if (wps->state != RECV_M3) {
wpa_printf(MSG_DEBUG, "WPS: Unexpected state (%d) for "
--- a/wps/wps_enrollee.c
+++ b/wps/wps_enrollee.c
@@ -113,7 +113,7 @@
wpa_hexdump(MSG_DEBUG, "WPS: Enrollee Nonce",
wps->nonce_e, WPS_NONCE_LEN);
- wpa_printf(MSG_DEBUG, "WPS: Building Message M1");
+ wpa_printf(MSG_DEBUG, "WPS: Building Message \033[1;35mM1\033[0m");
msg = wpabuf_alloc(1000);
if (msg == NULL)
return NULL;
@@ -146,7 +146,7 @@
static struct wpabuf * wps_build_m3(struct wps_data *wps) {
struct wpabuf *msg;
- wpa_printf(MSG_DEBUG, "WPS: Building Message M3");
+ wpa_printf(MSG_DEBUG, "WPS: Building Message \033[1;35mM3\033[0m");
if (wps->dev_password == NULL) {
wpa_printf(MSG_DEBUG, "WPS: No Device Password available");
@@ -174,7 +174,7 @@
static struct wpabuf * wps_build_m5(struct wps_data *wps) {
struct wpabuf *msg, *plain;
- wpa_printf(MSG_DEBUG, "WPS: Building Message M5");
+ wpa_printf(MSG_DEBUG, "WPS: Building Message \033[1;35mM5\033[0m");
plain = wpabuf_alloc(200);
if (plain == NULL)
@@ -261,7 +261,7 @@
static struct wpabuf * wps_build_m7(struct wps_data *wps) {
struct wpabuf *msg, *plain;
- wpa_printf(MSG_DEBUG, "WPS: Building Message M7");
+ wpa_printf(MSG_DEBUG, "WPS: Building Message \033[1;35mM7\033[0m");
plain = wpabuf_alloc(500 + wps->wps->ap_settings_len);
if (plain == NULL)
@@ -703,7 +703,7 @@
const struct wpabuf *msg,
struct wps_parse_attr *attr) {
- wpa_printf(MSG_DEBUG, "WPS: Received M2");
+ wpa_printf(MSG_DEBUG, "WPS: Received \033[1;35mM2\033[0m");
if (wps->state != RECV_M2) {
wpa_printf(MSG_DEBUG, "WPS: Unexpected state (%d) for "
@@ -798,7 +798,7 @@
struct wpabuf *decrypted;
struct wps_parse_attr eattr;
- wpa_printf(MSG_DEBUG, "WPS: Received M4");
+ wpa_printf(MSG_DEBUG, "WPS: Received \033[1;35mM4\033[0m");
if (wps->state != RECV_M4) {
wpa_printf(MSG_DEBUG, "WPS: Unexpected state (%d) for "
@@ -845,7 +845,7 @@
struct wpabuf *decrypted;
struct wps_parse_attr eattr;
- wpa_printf(MSG_DEBUG, "WPS: Received M6");
+ wpa_printf(MSG_DEBUG, "WPS: Received \033[1;35mM6\033[0m");
if (wps->state != RECV_M6) {
wpa_printf(MSG_DEBUG, "WPS: Unexpected state (%d) for "
Oks. Lo veo bien. Hacemos un fork y vamos por nuestra cuenta. Esta noche lo meto
Salu2
-
El patch para el 6tx es distinto. He tenido que meter las cosas a mano (estaría bien saber qué hacer cuando un patch solo se aplica parcialmente, porque este tenía pocos.... pero si tiene 1000 cambios? ^-^ ). Aquí lo dejo por si sirve para el futuro:
http://pastebin.com/tezEPDha (http://pastebin.com/tezEPDha)
Salu2
-
pero si mi parche estaba probado y rulando con el code de tu git ... ;D
viendo que los "code breakers", pasan de parches , me emti con el tuyo. ;D
creo que se lo que te paso , mi parche esta pensado para ejecutarlo estando dentro de la carpeta /src
mira las rutas de los ficheros a parchear , veras que /src , no esta, y da directo a los ficheros ...
-
podrias por favor poner en grupos los parches que no se han aplicado al proyecto original ?¿
1 - parches para los warnings
2 - parches para argumento -n (FAKE NACK)
3 - parches argumento -g
-
podrias por favor poner en grupos los parches que no se han aplicado al proyecto original ?¿
1 - parches para los warnings
2 - parches para argumento -n (FAKE NACK)
3 - parches argumento -g
Para que necesitas los parches? No dijimos de desarrollar por nuestra cuenta?
Esta todo aquí: https://github.com/vk496/reaver-wps-fork-t6x (https://github.com/vk496/reaver-wps-fork-t6x)
Salu2
-
podrias por favor poner en grupos los parches que no se han aplicado al proyecto original ?¿
1 - parches para los warnings
2 - parches para argumento -n (FAKE NACK)
3 - parches argumento -g
Para que necesitas los parches? No dijimos de desarrollar por nuestra cuenta?
Esta todo aquí: https://github.com/vk496/reaver-wps-fork-t6x (https://github.com/vk496/reaver-wps-fork-t6x)
Salu2
por que ayer que estaba trasteando no conseguia aclararme en nada , ... estan los parches mezclados.
da igual , los parches los enviaste, si son o no ignorados, ya no es cosa nuestra.
cuando voy a tu git, aparece 1 released 1.5.2 , los commits de ellos..loa branches ..etc etc.
-
podrias por favor poner en grupos los parches que no se han aplicado al proyecto original ?¿
1 - parches para los warnings
2 - parches para argumento -n (FAKE NACK)
3 - parches argumento -g
Para que necesitas los parches? No dijimos de desarrollar por nuestra cuenta?
Esta todo aquí: https://github.com/vk496/reaver-wps-fork-t6x (https://github.com/vk496/reaver-wps-fork-t6x)
Salu2
por que ayer que estaba trasteando no conseguia aclararme en nada , ... estan los parches mezclados.
da igual , los parches los enviaste, si son o no ignorados, ya no es cosa nuestra.
cuando voy a tu git, aparece 1 released 1.5.2 , los commits de ellos..loa branches ..etc etc.
Para los warnings: https://github.com/vk496/reaver-wps-fork-t6x/commits/master (https://github.com/vk496/reaver-wps-fork-t6x/commits/master)
-Los que se llaman "Some compile errors fixes" y el "Fix some inline warnings"
- El del argumento -n : https://github.com/vk496/reaver-wps-fork-t6x/blob/master/src/exchange.c#L214-L222 (https://github.com/vk496/reaver-wps-fork-t6x/blob/master/src/exchange.c#L214-L222)
Linea 214 y 222 (https://github.com/vk496/reaver-wps-fork-t6x/commit/c9cbf1250bc82a9df77345e7fe6adf0935fb7d24 (https://github.com/vk496/reaver-wps-fork-t6x/commit/c9cbf1250bc82a9df77345e7fe6adf0935fb7d24))
Para el argumento g... No encuentro donde modifiqué (según el codigo, modifiqué una cosa y la volví a dejar como estaba)
No te pongo los patch porque creo que no sería util. He formateado el código (medio proyecto), por lo que si los aplicas al proyecto de 6t_x, no funcionaría
Salu2
-
ok , justamente el que esta ayer intentando probar era el del -g y como no lo conseguia me volvia tooo loko. ;D ;D
no pasa nada , en wifislax ya tengo la que has modificado hace un rato.
-
no quiero empezar a marear , pero se me han ocurrido un par de cosas que si bien no son necesarias , podrian ser interesantes.
las dos son para "wash"
1 - un argumento por el cual poder filtrar nombres
por ejemplo
ONOXXXX --> que muestre solo las redes con nombre ONOXXXX ,donde X puede ser cualquier caracter
2 - un argumento para filtrar rangos de macs ...
por ejemplo
-r 00:1a:2b
y que solo sacase los aps con ese rango 00:1a:2b:xx:xx:xx
no se si sera complicado o no ... ;D
-
igual para ser mas facil
-m rango mac
-e rango essid
serian tipo filtro.
-
igual para ser mas facil
-m rango mac
-e rango essid
serian tipo filtro.
Acabo de subir el de la -m
https://github.com/vk496/reaver-wps-fork-t6x/commit/b2187b11a270171489236a9f7d05e78a613d0bca (https://github.com/vk496/reaver-wps-fork-t6x/commit/b2187b11a270171489236a9f7d05e78a613d0bca)
Para el essid, creo que lo mejor es hacer -e y -E para especificar si tiene que ser estricto con las mayusculas o minusculas.
Salu2
-
voy a probar ;D
-
He metido lo que faltaba, el filtro por ESSID ;)
Salu2
-
He metido lo que faltaba, el filtro por ESSID ;)
Salu2
ok ,gracias.
hay que probarlo bien antes , ;D
por ejemplo usando mas de un argumento , como filtro por canal.
-
wash + opcion -e
empieza a escanear y a los pocos segundos "violacion de segmento"
no se si te has dado cuenta, pero has metido la misma letra -e minuscula , al filtro de essid normal y case sensitive.
es mejor dejar solo uno , case sensitive... el otro "strict" , me sobra.
o si quieres los dos , usa la e minuscula y la mayuscula , pero no la minuscula para las dos opciones :=)
la opcion -m si que funciona bien.
-
no se si te has dado cuenta, pero has metido la misma letra -e minuscula , al filtro de essid normal y case sensitive.
Solo me equivoqué en la parte del help. La implementación está bien. Ahora lo arreglo
wash + opcion -e
empieza a escanear y a los pocos segundos "violacion de segmento"
Podrías poner el comando que usas¿?
Salu2
-
no se si te has dado cuenta, pero has metido la misma letra -e minuscula , al filtro de essid normal y case sensitive.
Solo me equivoqué en la parte del help. La implementación está bien. Ahora lo arreglo
wash + opcion -e
empieza a escanear y a los pocos segundos "violacion de segmento"
Podrías poner el comando que usas¿?
Salu2
easy
wash -i mon0 -e oNo
por ejemplo.
-
no se si te has dado cuenta, pero has metido la misma letra -e minuscula , al filtro de essid normal y case sensitive.
Solo me equivoqué en la parte del help. La implementación está bien. Ahora lo arreglo
wash + opcion -e
empieza a escanear y a los pocos segundos "violacion de segmento"
Podrías poner el comando que usas¿?
Salu2
easy
wash -i mon0 -e oNo
por ejemplo.
A mi me va bien ???
Como root, ejecuta esto:
gdb -ex=r --args wash -i mon0 -e oNo
Cuando se te pare por el segfaul, introduce esto
bt
sal con la q y pasame tu salida
Salu2
-
Por cierto, me he acordado de una cosa muy curiosa que vi hace tiempo.
https://travis-ci.org/vk496/reaver-wps-fork-t6x
Basicamente, tu le indicas unos parameros, y cada vez que hagas un push o haya un pull request, intentará compilar y te dirá si todo ha ido Ok.
Muy util para proyectos grandes donde mucha gente mete su codigo
Salu2
-
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff712a8a7 in __strncasecmp_l_avx () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff712a8a7 in __strncasecmp_l_avx () from /lib64/libc.so.6
#1 0x0000000000403a32 in parse_wps_settings (packet=packet@entry=0x6d48e0 "",
header=header@entry=0x7fffffffd790, target=target@entry=0x0,
passive=passive@entry=0, mode=<optimized out>, mode@entry=0,
source=source@entry=0) at wpsmon.c:390
#2 0x000000000040414f in monitor (bssid=bssid@entry=0x0,
passive=passive@entry=0, source=source@entry=0, channel=channel@entry=0,
mode=mode@entry=0) at wpsmon.c:306
#3 0x00000000004034dd in main (argc=<optimized out>, argv=<optimized out>)
at wpsmon.c:253
-
con la opcion -E pasa lo mismo.
falla con -e y con -E , con ambas.
la opcion -m "perfecta".
si lo ves muy chungo , remueves las opcion -e -E , y dejamos solo la -m
-
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff712a8a7 in __strncasecmp_l_avx () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff712a8a7 in __strncasecmp_l_avx () from /lib64/libc.so.6
#1 0x0000000000403a32 in parse_wps_settings (packet=packet@entry=0x6d48e0 "",
header=header@entry=0x7fffffffd790, target=target@entry=0x0,
passive=passive@entry=0, mode=<optimized out>, mode@entry=0,
source=source@entry=0) at wpsmon.c:390
#2 0x000000000040414f in monitor (bssid=bssid@entry=0x0,
passive=passive@entry=0, source=source@entry=0, channel=channel@entry=0,
mode=mode@entry=0) at wpsmon.c:306
#3 0x00000000004034dd in main (argc=<optimized out>, argv=<optimized out>)
at wpsmon.c:253
Por lo que veo, peta el strncasecmp de la línea 390 (supongo que porque recibo un NULL como argumento). Es raro porque algo asi debería petar a mi tmbn, no sólo a ti (de hecho, el primer commit del -e me hacía eso). Has comprobado que tienes el último commit cuando compilas? Intentaré revisarlo hoy
con la opcion -E pasa lo mismo.
falla con -e y con -E , con ambas.
la opcion -m "perfecta".
si lo ves muy chungo , remueves las opcion -e -E , y dejamos solo la -m
Mi intención es que se pueda usar varios -e -E y -m, por si la búsqueda se quiere hacer más extensa
Salu2
-
Yo descargué y compilé creo que el commit en el que se parchearon los colores (si mal no recuerdo) y tanto la opción -e como la -E no me dan problemas.
Quiero añadir que lo he probado sólo en Slackware sobre arquitectura ARM (raspberry pi 2).
Se me ocurre que si el error ocurre al hacer la comparación a lo mejor no es que lea el argumento que se le pasa como NULL sino que exista un punto de acceso sin nombre o con el nombre oculto que sea el que de problemas. Vamos es lo que se me ocurre así sin haber mirado a fondo el código del wash.
A lo mejor comprobando que el essid no sea nulo previamente se puede solventar esos problemas:
En la linea 390 wpsmon.cc
if(ssid!=null)
if (get_filter_essid()) {
...
}
Saludos
-
Yo descargué y compilé creo que el commit en el que se parchearon los colores (si mal no recuerdo) y tanto la opción -e como la -E no me dan problemas.
Quiero añadir que lo he probado sólo en Slackware sobre arquitectura ARM (raspberry pi 2).
Se me ocurre que si el error ocurre al hacer la comparación a lo mejor no es que lea el argumento que se le pasa como NULL sino que exista un punto de acceso sin nombre o con el nombre oculto que sea el que de problemas. Vamos es lo que se me ocurre así sin haber mirado a fondo el código del wash.
A lo mejor comprobando que el essid no sea nulo previamente se puede solventar esos problemas:
En la linea 390 wpsmon.cc
if(ssid!=null)
if (get_filter_essid()) {
...
}
Saludos
Interesante. Es cierto que son dos parametros. A ver si @USUARIONUEVO nos puede confirmar que se deba a ESSIDs ocultos con WPS.
Salu2
-
Pues me arriesgo a confirmar que si existe un ssid oculto el wash peta y diría no hace falta que tenga WPS activado, sólo con estar oculto. Acabo de hacer ahora la prueba con un Xavi que tengo muerto de risa por casa, lo he configurado con ssid oculto y si me produce el error de segmentación y luego al volver a probar el mismo escaneo con ese router apagado no me da el fallo de segmentación.
Añadiendo la linea que he puesto antes: if(ssid!=NULL) no me da el fallo de segmentación (y funcionan bien los parámetros -E y el -e)
Bueno espero que sea este el problema que le da a USUARIONUEVO.
Saludos
-
Pues me arriesgo a confirmar que si existe un ssid oculto el wash peta y diría no hace falta que tenga WPS activado, sólo con estar oculto. Acabo de hacer ahora la prueba con un Xavi que tengo muerto de risa por casa, lo he configurado con ssid oculto y si me produce el error de segmentación y luego al volver a probar el mismo escaneo con ese router apagado no me da el fallo de segmentación.
Añadiendo la linea que he puesto antes: if(ssid!=NULL) no me da el fallo de segmentación (y funcionan bien los parámetros -E y el -e)
Bueno espero que sea este el problema que le da a USUARIONUEVO.
Saludos
Gracias por el reporte. Yo no podía montar un escenario para hacer la prueba. Voy a meter el fix
Salu2
-
el commit que use era el que había en el git..siempre hago un clone...y después compilo.
a la noche comento.
-
He subido el parche. Prueba ahora @USUARIONUEVO
Salu2
-
FIXED ;D
Efectivamente aparece algun AP con el essid (null) ,osea..oculto.
Ya no hay problema. >:(
-
wash , opcion -g no funciona.
-
Vale acabo de ver a que se puede deber el fallo.
El algoritmo lo que hace es lanzar una instancia de reaver para atacar el objetivo y obtener de esa forma el hardware del dispositivo, el problema viene a deberse a que no se ha especificado el nivel más critico de depuración (quizás en una versión previa era -vv pero ahora es -vvv)
He modificado la linea 438 + o - del archivo wpsmon.c
strcat(cmd_chipset, "reaver -0 -s y -vv -i "); //need option to stop reaver in m1 stage
Cambiando por
strcat(cmd_chipset, "reaver -0 -s y -vvv -i "); //need option to stop reaver in m1 stage
Y ya me devuelve los datos en formato de pipeline (el formato bonito no está habilitado para esta opción =S).
98:13:33:XX:XX:XX| 1|-23|1.0|No |MASMOVIL_p4aE| Realtek Semiconductor Corp.| EV-2006-07-27|
Un saludo
PD: Este escaneo tarda bastante más (lógico) y supongo que a veces puede dar problemas con algunos APs y se quede todo el rato pensando. Yo lo he lanzado con filtro de MAC para verificar que si funcionaba ya que sin filtro se ponía a atacar todas las redes de la zona y evidentemente no todas van a responder rápidamente (supongo que sobretodo por la distancia o problemas raros que puedan darse). Con "ps | grep reaver" se puede determinar que red está estudiando en ese momento.
edit:
He añadido un par de opciones más al comando reaver y ya no se queda pillado en estaciones que están bloqueadas o que dan problemas de asociación:
strcat(cmd_chipset, "reaver -0 -s y -vvv -L -g0 -i "); //need option to stop reaver in m1 stage
Ignora los APS bloqueados y solo prueba un pin y normalmente me da buenos resultados.
-
gracias lego , estoy esperando a ver si vk496 dice algo , cuando tenga un hueco , pruebo los cambios. ;)
-
De nada =).
Por cierto he seguido mirando el código y he visto otro fallo. A la hora de obtener el numero de serie del punto de acceso buscan por WPS serial number, y reaver devuelve Acess Point serial number. Además de que también se puede mostrar el nombre del dispositivo (actualmente solo muestra el vendedor).
He modificado la última versión de vk496 y he cambiado esas cosas (que seguramente habrá que depurar) ya que con la Alfa 1 va bastante bien pero con la tarjeta que tengo integrada Intel Corporation Centrino Advanced-N 6235 no tan bien, aunque he de decir que lo estoy probando con ubuntu y sin parchear el kernel ni nada.
También he modificado el filtrado por MAC para poder utilizar caracteres comodín 'X' ejemplo:
-m X4
mostraría las MACs cuyo segundo octeto sea 4
-m XX:X6
4º octeto un 6 ... etc
Evitando también que se introduzcan MACs de más de 12 octetos (MAC erronea) .
Y también verifica el ssuid cuando se utiliza el parámetro -i tanto en reaver como en wash.
Y bueno si se le especifica un archivo de captura y se introduce el parámetro -g obliga a que también se introduzca -i.
He puesto un pull request a VK a ver si le convencen los cambios.
Saludos
-
Hola. No he dejado pasar el tema.
Estos dias ando liado. Quiero sacar tiempo para analizarlo con mas detenimiento, que tienes muchos cambios ahi.
Salu2
-
Okidoki, en la versión con la que ando trasteando en mi ordenador también modifiqué la opción -K de reaver para que ejecute pixiewps segun el modo especificado, he dejado el -K 1 igual (default), para evitar incompatibilidades con versiones anteriores, pero por ejemplo -K 2 equivaldría a pixiewps --mode 1; K 3, mode 2; hasta los mode 4 y 5 y -K -1 ejecuta pixiewps --full.
Saludos
-
En el proyecto principal @notaz ha conseguido solucionar el bug. He metido su fix en el repo:
https://github.com/vk496/reaver-wps-fork-t6x (https://github.com/vk496/reaver-wps-fork-t6x)
He visto por encima que hay bastante cambios en el proyecto oficial....
Salu2
-
En el proyecto principal @notaz ha conseguido solucionar el bug. He metido su fix en el repo:
https://github.com/vk496/reaver-wps-fork-t6x (https://github.com/vk496/reaver-wps-fork-t6x)
He visto por encima que hay bastante cambios en el proyecto oficial....
Salu2
Parten de cero con reaver-1.4 ..le van añadiendo y modificando.. pero , la version "oficial" , me da problemas con todos los scripts y guis ... los scripts se pueden arreglar, pero las guis, muchas no hay source.
Por ejemplo , no se por que, si usas inflator ... wash escanea..y vuelca el contenido al /tmp/inflator ..pero la gui se cierra tras el escaneo ..no me preguntes por que.
Hay opciones que han sido suprimidas tanto en wash como en reaver ...eso ocasiona que cualquier script o gui que tire de uno de esos argumentos que ya no existen .. provoca el cierre inmediato del script o gui en uso.
por ejemplo en reaver ya no esta el argumento -a , esto se debe a que han suprimido code para quitar la dependencia con sqlite , eso ademas hace que ya no tenga un fichero reaver.db , y su proceso a sido migrado a
/var/lib/reaver
y un largo etc ... el que esta manejando ahora el proyecto parece que sabe y mucho .. no discuto las ideas ..me parecen acertadas, pero en nuestro caso particular , he de intentar seguir con nuestro mod ..
puedes probar si quieres..la rc2 lleva reaver-1.6.1 /wash
wash-t6x
reaver-t6x
asi se llaman los ejecutables que renombre para no intereferir con los otros "reaver/wash"
-
¿has metido lo del pin NULL ?
por pura casualidad me traje hoy un ar9271 , pruebo y comento.
-
¿has metido lo del pin NULL ?
por pura casualidad me traje hoy un ar9271 , pruebo y comento.
Pues no.... Pero acabo de probar con -p ""
y no se queja...
Salu2
-
,,,,mm
voy a probar ;D
a ver si siempre ha estado hay la opcion... 8)
test rapido
realtek --> RSSI OK
atheros --> RSSI OK
ralink --> RSSI OK
-
¿has metido lo del pin NULL ?
por pura casualidad me traje hoy un ar9271 , pruebo y comento.
Pues no.... Pero acabo de probar con -p ""
y no se queja...
Salu2
Vale, no. Que no leo...
[X] ERROR: Invalid pin specified! Ignoring ''.
^-^ ^-^ ^-^
Salu2
-
venia a eso ... ;D
para trastear añadete el argumento -g 1 , para que pruebe una sola vez y fuera.
Comentaban otros usuarios que les funcionaba mejor con un pequeño timeout..
reaver -i INTERFAZ -b BSSID -c CANAL -p "" -g 1 -n -T 5 -vv
-
ahora que te he puesto el comando ..tambien han hecho que el argumento -n en reaver este habilitado default ...es decir no es necesario argumentarlo , lo aplica sistematicamente.
-
imagino ya lo habras encontrado , aqui lo del pin nulo
https://github.com/t6x/reaver-wps-fork-t6x/commit/89cb7774e0f9be9382a43ba66283fdfb647713af
-
ahora que te he puesto el comando ..tambien han hecho que el argumento -n en reaver este habilitado default ...es decir no es necesario argumentarlo , lo aplica sistematicamente.
Lo meto tmbn?
Salu2
-
ahora que te he puesto el comando ..tambien han hecho que el argumento -n en reaver este habilitado default ...es decir no es necesario argumentarlo , lo aplica sistematicamente.
Lo meto tmbn?
Salu2
de momento no , por que eso , me obligaria a modificar tooooodos los scripts ;D
-
..mm no se , .. veo que lo tienen implementado como activado , no es necesario argumentarlo
-n
pero si lo argumentas "no pasa na" , ya que la funcion sigue en el code ..
como veas...si es asi no supone necesidad de editar scripts.
-
Ya he metido lo del PIN null.
Lo otro, lo vemos mañana. Cierro el chiringuito por hoy ;D
Salu2
-
Ya he metido lo del PIN null.
Lo otro, lo vemos mañana. Cierro el chiringuito por hoy ;D
Salu2
ok , poco a poco ...
probare lo del pin null a ver ;D
-
funciona... ;D
no sabes el pin , pero devuelven la WPA
TRAYING PIN "" --> ;D ;D ;D ;D
(https://fotos.subefotos.com/252b026ccb97561c3b0b806f89f431bfo.png)
-
funciona... ;D
no sabes el pin , pero devuelven la WPA
TRAYING PIN "" --> ;D ;D ;D ;D
(https://fotos.subefotos.com/252b026ccb97561c3b0b806f89f431bfo.png)
Guay. Uno menos.
Salu2
Enviado desde mi Moto G4 Plus mediante Tapatalk
-
de momento vamos a dejarlo asi ..lo del parametro -n , podria estar bien , po que mucha gente desde shell , no sabe o no se acuerda que algunos routers no responden sin este argumento activado en reaver. (los automatismos y scripts la activan)