Seguridad Wireless - Wifi
Sistemas operativos => Zona GNU/Linux => Aplicaciones y diccionarios linux => Mensaje iniciado por: alist3r en 03-09-2013, 14:39 (Martes)
-
EDIT 6 oct 2013:
Por favor, cuando informéis de posibles errores en BULLY, deberíais incluir los siguientes datos:
marca y modelo de dispositivo wifi utilizado. si es interno de un portatil, indicad marca y modelo de portatil.
el comando exacto que se está usando para lanzar bully
versión de bully (bully -V)
si el adaptador es PCI, adjuntad la salida del siguiente comando:
lspci -vvnnk
(solo la parte referente a vuestro adaptador, si aparece)
si el adaptador es USB (tanto externo como interno), adjuntad la salida del siguiente comando:
lsusb -v
(solo la parte referente a vuestro adaptador, si aparece)
si el adaptador es USB (tanto externo como interno), adjuntad la salida del siguiente comando:
lsmod
En caso de que no aportéis todos estos datos, se hace prácticamente imposible poder ayudaros a resolver vuestros problemas de uso o encontrar errores en el código.
Gracias
alist3r
Mensaje original:
Llevo unos dias hablando con Brian Purcel, el creador de Bully.
Todo empezó porque algunos usuarios detectaron un comportamiento extraño en bully. No podían configurar bully para atacar directamente a un PIN determinado.
Empecé a modificar el código de bully, comentar con Brian, debatir ideas, comprender su manera de pensar, etc.
Brian hizo bully inicialmente con la idea de ponerlo dentro de una fonera, y se enfocó en darle al programa las máximas capacidades de "resume" posibles, dado que la fonera se bloquea con frecuencia debido al calor, y el ataque se interrumpe.
PIN Vs PIN INDEX
Para darle a bully las "resume capabilities" de las que hablo, brian ideó un concepto llamado "pin index" (índice de pin).
lo explico:
Lo que hace bully básicamente es escribir en el directorio de trabajo un archivo de texto con todos los pins posibles. Por defecto, bully escribe estos pins de forma aleatoria. Por ejemplo:
7485932x
1495904x
3952902x
...
y tambien guarda información sobre la sesión de ataque mientras lo realiza.
Aquí es donde aparece el concepto de "pin index" comentado antes.
Lo que hace bully es procesar el fichero de pins aleatorios (que se crea al principio de la sesion), y empezar a probar los pins linea por linea.
De esta manera, cada PIN escrito en el archivo de pins, tiene lo que se llama un "pin index" que se corresponde con el número de linea donde está (NO se corresponde en absoluto con el PIN propiamente dicho!!!! es importante comprender la diferencia entre PIN y PIN INDEX, porque eso es lo que ha hecho que muchos usuarios no obtuvieran el resultado esperado usando bully).
Siguiendo el ejemplo anterior:
Pin Index - Pin
1 - 7485932x
2 - 1495904x
3 - 3952902x
...
Cuando bully se interrumpe, guarda el PIN INDEX por donde iba, para poder retomar el trabajo desde donde lo dejó. En la siguiente ejecución de bully, si este detecta un archivo de PINs, retoma el trabajo desde el último PIN INDEX que comprobó.
De esta manera Brian no renuncia a su deseo de probar los PINs alateatoriamente, pero tampoco renuncia a la posibilidad del realizar un "resume", cosa que de otro modo pareceria imposible usando PINs aleatorios.
El parámetro -p es sólo para el (extraño, improbable) caso de que el usuario quiera forzar de algún modo la posición del fichero desde la que hay que recomenzar. NO PARA EMPEZAR DESDE UN DETERMINADO PIN.
Brian reconoce que la utilidad de usar -p en un fichero que tiene PINs aleatorios es, cuanto menos, limitada. Es poco probable que nos pueda servir de algo, pero ahí está la opción para quien quiera usarla.
Cuando usamos el parámetro -p en bully, NO LE ESTAMOS DICIENDO EL PIN INICIAL QUE DEBE USAR. En su lugar, le estamos diciendo PIN INDEX inicial. Siguiendo el ejemplo anterior, si ejecutamos
bully xxxx -p 0000003 xxxx
el PIN que bully comprobará será el 3952902x
(es decir, EL TERCER PIN del fichero de PINs que se escribió aleatoriamente al principio del ataque)
Cómo usar bully para probar un PIN determinado
Bully ofrece el parámetro -S para utilizar una lista de numeros secuenciales, en lugar de una lista de numeros aleatorios. Cuando se pasa este parámetro, el PIN INDEX COINCIDE CON EL PIN:
Pin Index - Pin
1 - 0000001x
2 - 0000002x
3 - 0000003x
...
1234567 - 1234567x
...
9999999 - 9999999x
de este modo, bully probará exactamente el PIN que estamos deseando que pruebe.
en esta situación (pines secuenciales), el parámetro -p cobra mucho más protagonismo y utilidad que en el caso anterior (pines aleatorios). Combinando -S y -p se puede pedir a bully que pruebe determinado PIN directamente, para usar con routers de los cuales conocemos el pin de antemano (o la primera mitad)
Por ejemplo, si sabemos que el PIN es 1234567x podemos usar:
bully -S -p 1234567
y si sabemos que el PIN empieza por 6869xxxx, podemos usar:
bully -S -p 6869000
(nótese que, de momento, bully calcula los WPS pin por nosotros y por tanto no necesita 8 digitos sino siete. Ya le he comentado a Brian que cambie eso porque hay routers violando el estandar y la única forma de Auditar sus WPS PINs es dejando de calcular el checksum. En proximas versiones se intentará cambiar esto.)
Esto explica el "problema" que tenían algunos usuarios ejecutando bully, y que a pesar de mis modificaciones en el código, ha resultado ser mejor una conversación con Brian, que ha reconocido que el problema viene dado por un diseño muy diferente a lo conocido, junto con la ausencia de manuales y documentación correcta.
Brian reconoce que el acercamiento de probar los PINs aleatoriamente no tiene, necesariamente, una utilidad especifica, y que ciertamente no sirve para evitar ser detectados como atacantes por fuerza bruta. Sin embargo, quiere conservar este modo de funcionamiento como el modo por defecto, ya que aporta cierto sentido de "juego" cuando no sabes qué PIN es el válido para un determinado router.
Como ya sabemos, limitarse a probar aleatoriamente entre 9999999 combinaciones no aprovecharia uno de los mayores fallos de diseño que tiene el WPS PIN, y es que se pueden averiguar los 4 primeros dígitos sin tener que acertar el resto del pin. Esto implicaria una pérdida de rendimiento considerable frente a reaver, que sí detecta y bloquea la primera mitad del PIN cuando la consigue.
En este sentido, y a pesar de que utiliza pines aleatorios, bully tambien tiene esto en cuenta. Si encuentra la primera mitad de pin correcta, la fija.
Pensaremos en cómo rediseñar bully para que incorpore algunas de las cosas buenas que tiene reaver y otras nuevas.
iré ampliando este hilo con la informacion de nuestras charlas, que podeis ver aqui:
https://github.com/bdpurcell/bully/pull/9#issuecomment-23679393
-
Tema muy interesante. Estaremos atentos ;D
-
Brian esta pensando en fusionar las caracterisitcas de esos scripts que se hacen por los foros, junto con su programa. Es decir, que bully detecte la mac, y si el pin es conocido o semiconocido, probarlo directo.
Tambien quiere saber cómo os va el bully en plataformas embebidas. Alguien lo quiere probar y contarnos algo? Se hizo para foneras y cosas similares.
Tenemos alguna idea más, pero habra que ir machacando. Tenemos el github que parece una fiesta xD
https://github.com/bdpurcell/bully/pull/9#issuecomment-23753432
Colaboradores bienvenidos!
-
Yo tengo pendiente de probarlo en OpenWrt >:D
Las instrucciones para compilarlo están probadas (según dice en su web) en Kamikaze. Así que no tengo claro que funcionen en la actual rama Barrier Braker ... ^-^
A ver si saco tiempo, lo pruebo y si se plantean problemas o dudas ... aviso ;)
-
Ah!Y mi traducción ha pasado a la version oficial para compilarse como bully.es :D
-
Ah!Y mi traducción ha pasado a la version oficial para compilarse como bully.es :D
Genial! Enhorabuena! Viva el software en español!
Espero y deseo que esta herramienta progrese. Sería bueno tener una alternativa decente al estancado y mejorable reaver.
Enviado desde el móvil
-
Brian empezó bully durante una etapa desempleado, y ahora curra mucho. Y yo tampoco voy sobrao de tiempo, pero le he ametrallado con ideas y con feedback recogido de los foros españoles, y se ha motivado :D
Iremos viendo
-
Acabo de bajar bully del svn , y se ha actualizado de la revision 11 a revision 12.
A ver si veo un changelog o algo.
Ya lo encontre , un cambio menor, por asi decirlo , que no afecta al funcionamiento.
Log message
Fixed issue #10, Makefile updated
Affected files
expand all collapse all
Modify /trunk/src/Makefile diff
1 + prefix = /usr/local
2 + exec_prefix = $(prefix)
3 + bindir = $(exec_prefix)/bin
4 +
-
no, te explico.
brian no puso las variables minimas estandar del makefile. y el make install petaba por eso.
le propuse ese commit y lo aceptó.
la documentación está floja, pero ante la duda preguntame a mi directamente.
el bully.es tambien esta en la cola de commits. no se si ha entrado ya.
-
EDIT:
brian acaba de empujar esto, que refleja nuestras charlas de la semana:
Intent: Eliminate confusion arising from the fact that the argument to --pin is a pin number when --sequential (-S) is used, and an index into the pseudorandom pin file otherwise.
Changes: When --pin (-p) is provided, default to --sequential (-S), and print a message. Add a new argument, --index number (-i). If -S is used in conjunction with -i, print an error message.
Notes: The default run mode for bully will continue to be "pseudorandom". Other proposed changes include improving the way pin files are generated, and using those enhancements by default will benefit the largest subset of end users.
-
Acabo de compilar Bully para OpenWrt. Lo he incluído en un firmware para el Huawei hg556a con wifi atheros.
Todo correcto sin ningún mensaje de error.
Ahora falta testearlo y ver qué tal funciona >:D
-
deseando saber mas, jar229.
Brian estará contento de saberlo
-
Respecto a lo de probar primero los 4 dígitos, ¿No podríamos crear los primeros 10000 pins con los 4 caracteres iniciales distintos?
-
Respecto a lo de probar primero los 4 dígitos, ¿No podríamos crear los primeros 10000 pins con los 4 caracteres iniciales distintos?
Son aleatorios ,pero no repite ninguno , por que los va anotando en un fichero.
-
Probado y funcionando ... ;D
root@OpenWrt:~# bully mon0 -b 38:72:C0:XX:XX:XX -e JAZZTEL_5782 -c 11
[+] Switching interface 'mon0' to channel '11'
[!] Using 'f4:c7:14:XX:XX:XX' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from '38:72:c0:XX:XX:XX' on channel '11'
[+] Got beacon for 'JAZZTEL_5782' (38:72:c0:XX:XX:XX)
[+] Loading randomized pins from '/root/.bully/pins'
[!] Restoring session from '/root/.bully/38:72:c0:XX:XX:XX.run'
[+] Index of starting pin number is '0000000'
[+] Last State = 'NoAssoc' Next pin '61162808'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '70762808'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '30562806'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '77222800'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '34302804'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '14372803'
[+] Rx(M2D/M3) = 'WPSFail' Next pin '14372803'
[+] Rx( M1 ) = 'Timeout' Next pin '14372803'
[+] Rx( M1 ) = 'Timeout' Next pin '14372803'
[+] Rx( M1 ) = 'EAPFail' Next pin '14372803'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '54382800'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '14072802'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '39742803'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '48132800'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '84482808'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '50082803'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '33122809'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '53302809'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '01522808'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '45432804'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '49092806'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '72832806'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '87562804'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '38812804'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '70212808'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '05612802'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '66822806'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '64082806'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '40052809'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '55792806'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '79492805'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '91312808'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '38242809'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '61102804'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '14092800'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '01952803'
[!] Run time 00:01:03, pins tested 32 (1.96 seconds per pin)
[!] Current rate 1.96 seconds per pin, 10968 pins remaining
[!] Average time to crack is 2 hours, 59 minutes, 8 seconds
[+] Rx( M5 ) = 'Pin1Bad' Next pin '31862806'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '81252800'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '21942808'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '88962801'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '80032809'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '41022801'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '66552802'
He preparado un router de pruebas, un Comtrend ar5387un con el último firmware de jazztel y le he activado el WPS (por defecto viene desactivado).
El router 'atacante', como ya comenté, es un Huawei hg556a con wifi atheros (kmod-ath9k)
Uso de CPU y memoria:
CPU[|||||||||||||||||||||||||||||||||||| 55.1%] Tasks: 14, 0 thr; 1 running
Mem[||||||||||||||||||||||||||||||||||||| 19/60MB] Load average: 0.44 0.50 0.29
Swp[ 0/0MB] Uptime: 00:11:48
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1229 root 20 0 7684 5780 4784 S 50.0 9.4 3:21.59 bully mon0 -b 38:72:c0:XX:XX:XX -e JAZZTEL_5782 -c 11
1238 root 20 0 1384 768 580 R 3.2 1.2 0:00.87 htop
899 root 20 0 1224 544 396 S 0.0 0.9 0:03.12 /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p 22
1232 root 20 0 1224 544 396 S 0.0 0.9 0:02.94 /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p 22
Aunque ya conozco clave y PIN, voy a dejarlo un par de horas a ver si lo saca.
Queréis que haga algún test más ?
Por cierto, por si alguien más quieres probar en OpenWrt, además de bully hace falta instalar, reaver (para usar wash, el escaner de redes con WPS activado), aircrack-ng (para poner la wifi en modo monitor) y wireless-tools (necesarias para usar aircrack-ng).
-
Como ya sabemos, limitarse a probar aleatoriamente entre 9999999 combinaciones no aprovecharia uno de los mayores fallos de diseño que tiene el WPS PIN, y es que se pueden averiguar los 4 primeros dígitos sin tener que acertar el resto del pin. Esto implicaria una pérdida de rendimiento considerable frente a reaver, que sí detecta y bloquea la primera mitad del PIN cuando la consigue.
En este sentido, y a pesar de que utiliza pines aleatorios, bully tambien tiene esto en cuenta. Si encuentra la primera mitad de pin correcta, la fija.
Quizás no lo he interpretado bien, pero yo he entendido que los pins son aleatorios y si da, de casualidad con un pin que tiene los 4 primeros bien seguirá fijando esos, pero que si no puede repetir los mismos primeros 4 digitos varias veces. Pondré un ejemplo.
Si el pin a buscar es 12345670
y la lista de pins
1 99992689
2 11116598
3 99993654
4 12346985
5 42426898
6 12345670
Según he entendido yo prueba los pins 1,2,3,4 y 6 pues encontrados los 4 primeros dígitos los fija (1234), pero el pin 3 podría no probarlo, pues ya sabe, con el 1 que 9999 no es el comienzo del pin.
Por eso decía que debería programarse para que en los primeros 10000 pins todos comienzos fuesen distintos.
Lo que no se es si lo he entendido mal y no es así como funciona.
-
Pues le veo una lógica aplastante, yo también lo e entendido como tu . Buen apunte
-
Como ya sabemos, limitarse a probar aleatoriamente entre 9999999 combinaciones no aprovecharia uno de los mayores fallos de diseño que tiene el WPS PIN, y es que se pueden averiguar los 4 primeros dígitos sin tener que acertar el resto del pin. Esto implicaria una pérdida de rendimiento considerable frente a reaver, que sí detecta y bloquea la primera mitad del PIN cuando la consigue.
En este sentido, y a pesar de que utiliza pines aleatorios, bully tambien tiene esto en cuenta. Si encuentra la primera mitad de pin correcta, la fija.
Quizás no lo he interpretado bien, pero yo he entendido que los pins son aleatorios y si da, de casualidad con un pin que tiene los 4 primeros bien seguirá fijando esos, pero que si no puede repetir los mismos primeros 4 digitos varias veces. Pondré un ejemplo.
Si el pin a buscar es 12345670
y la lista de pins
1 99992689
2 11116598
3 99993654
4 12346985
5 42426898
6 12345670
Según he entendido yo prueba los pins 1,2,3,4 y 6 pues encontrados los 4 primeros dígitos los fija (1234), pero el pin 3 podría no probarlo, pues ya sabe, con el 1 que 9999 no es el comienzo del pin.
Por eso decía que debería programarse para que en los primeros 10000 pins todos comienzos fuesen distintos.
Lo que no se es si lo he entendido mal y no es así como funciona.
correcto.
salvo dos ineficiencias:
- el código de bloqueo de la mitad conocida, veces fallaba y seguia randomizandola a pesar de haber sido descubierta. si lo habeis usado un poco, quizas lo habréis notado.
- se randomizan los digitos de la segunda mitad cuando no se sabe la primera, cosa que es un malgasto de cpu y no aporta nada puesto que hay que centrarse aun en los 4 primeros digitos.. esto lo habréis notado todos puesto que es evidente.
estas aclaraciones las dejo para todas aquellas personas que dudaban sobre si bully aprovechaba esta debilidad en el diseño (yo mismo incluido, antes de revisar el codigo)
-
Probado y funcionando ... ;D
He preparado un router de pruebas, un Comtrend ar5387un con el último firmware de jazztel y le he activado el WPS (por defecto viene desactivado).
El router 'atacante', como ya comenté, es un Huawei hg556a con wifi atheros (kmod-ath9k)
Uso de CPU y memoria:
CPU[|||||||||||||||||||||||||||||||||||| 55.1%] Tasks: 14, 0 thr; 1 running
Mem[||||||||||||||||||||||||||||||||||||| 19/60MB] Load average: 0.44 0.50 0.29
Swp[ 0/0MB] Uptime: 00:11:48
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1229 root 20 0 7684 5780 4784 S 50.0 9.4 3:21.59 bully mon0 -b 38:72:c0:XX:XX:XX -e JAZZTEL_5782 -c 11
1238 root 20 0 1384 768 580 R 3.2 1.2 0:00.87 htop
899 root 20 0 1224 544 396 S 0.0 0.9 0:03.12 /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p 22
1232 root 20 0 1224 544 396 S 0.0 0.9 0:02.94 /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p 22
Aunque ya conozco clave y PIN, voy a dejarlo un par de horas a ver si lo saca.
Queréis que haga algún test más ?
Por cierto, por si alguien más quieres probar en OpenWrt, además de bully hace falta instalar, reaver (para usar wash, el escaner de redes con WPS activado), aircrack-ng (para poner la wifi en modo monitor) y wireless-tools (necesarias para usar aircrack-ng).
wow! gracias mil. brian se va a poner contento jejeje.
ya nos iras contando qué tal chuta. sobre todo si no calienta mucho la CPU o cosas asi.
las foneras, las freía literalmente! :P
-
En poco más de 2 horas ... ;D ;D
root@OpenWrt:~# screen -r
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20176914'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20179977'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20172138'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20179120'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20173715'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20176259'
[+] Rx(M2D/M3) = 'WPSFail' Next pin '20176259'
[+] Rx( M1 ) = 'Timeout' Next pin '20176259'
[+] Rx( M1 ) = 'Timeout' Next pin '20176259'
[+] Rx( M1 ) = 'EAPFail' Next pin '20176259'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20177560'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20174811'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20173586'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20172770'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20177485'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20174064'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '20172527'
[*] Pin is '20172527', key is '57F237b5A77736CJ2FF8'
Saved session to '/root/.bully/38:72:c0:XX:XX:XX.run'
PIN : '2017XXXX'
KEY : '57F237b5A77736CJXXXX'
Es la clave y el PIN por defecto que pone el router. Yo no le he cambiado nada (a parte de activarle el WPS).
Esto no lo había comentado antes. Ambos routers separados tan sólo por un par de metros, con lo cual la señal recibida es máxima.
-
nice!
Brian is reading this thread.
thanks for testing, jar229!
-
Gracias por tomarse el tiempo para probar jar229! Buena noticia.
Tengo curiosidad, ¿alguien ha visto un problema con bully encontrar la primera mitad de la espiga, y después no cierre correctamente? Sería algo así:
...
[] Rx (M5) = 'Pin1Bad' Siguiente pin '50082803 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '33122809 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '53302809 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '01522808 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '45432804 '
[] Rx (M5) = 'Pin2Bad' Siguiente pin '49092806 '
[] Rx (M5) = 'Pin2Bad' Siguiente pin '4909953x '
[] Rx (M5) = 'Pin2Bad' Siguiente pin '4909612x '
[] Rx (M5) = 'Pin2Bad' Siguiente pin '4909054x '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '72832806 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '87562804 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '38812804 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '70212808 '
...
Finalmente diría "Agotada posibilidades primera media sin éxito", ya que no estaba cerrada correctamente en 4909xxxx. Caso raro, pero me pregunto si la gente ha visto.
Tengo el fin de semana, así que voy a estar trabajando en bully ampliamente.
Me gustaría decir que sin la retroalimentación de los usuarios y los profesionales como ustedes, matón sería un proyecto muerto. Gracias a todos, especialmente alister y jar229 por sus contribuciones.
Brian
Traducción proporcionada por Google
-
Una manera de obligarle a que haga el primer cuarteto de manera secuencial, es metiendole la opción -S -p 0XXX . Ese cuarteto lo toma como si fuesen el cero el ultimo digito del primer cuarteto y los otros tres digitos, como si fuesen parte del segundo cuarteto.
Funciona bastante mas rápido que el reaver, la verdad.
-
Un placer, poder ayudar.
Si hay algún tipo de test que quieras que haga .. avisa ;D
Enviado desde mi CUBOT GT99 usando Tapatalk 4
-
Gracias por tomarse el tiempo para probar jar229! Buena noticia.
Tengo curiosidad, ¿alguien ha visto un problema con bully encontrar la primera mitad de la espiga, y después no cierre correctamente? Sería algo así:
...
[] Rx (M5) = 'Pin1Bad' Siguiente pin '50082803 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '33122809 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '53302809 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '01522808 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '45432804 '
[] Rx (M5) = 'Pin2Bad' Siguiente pin '49092806 '
[] Rx (M5) = 'Pin2Bad' Siguiente pin '4909953x '
[] Rx (M5) = 'Pin2Bad' Siguiente pin '4909612x '
[] Rx (M5) = 'Pin2Bad' Siguiente pin '4909054x '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '72832806 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '87562804 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '38812804 '
[] Rx (M5) = 'Pin1Bad' Siguiente pin '70212808 '
...
Finalmente diría "Agotada posibilidades primera media sin éxito", ya que no estaba cerrada correctamente en 4909xxxx. Caso raro, pero me pregunto si la gente ha visto.
Tengo el fin de semana, así que voy a estar trabajando en bully ampliamente.
Me gustaría decir que sin la retroalimentación de los usuarios y los profesionales como ustedes, matón sería un proyecto muerto. Gracias a todos, especialmente alister y jar229 por sus contribuciones.
Brian
Traducción proporcionada por Google
lo que pregunta brian es si hemos notado que no funciona el "lock" de la primera mitad del PIN. Es decir, despues de adivinar la primera mitad, sigue cambiando en lugar de mantenerla fija.
Personalmente, siempre me falla este aspecto del programa.
thanks to you, Brian, for coding bully and for listening to us. We are we can contribute to such valuable pentesting tool.
-
Una manera de obligarle a que haga el primer cuarteto de manera secuencial, es metiendole la opción -S -p 0XXX . Ese cuarteto lo toma como si fuesen el cero el ultimo digito del primer cuarteto y los otros tres digitos, como si fuesen parte del segundo cuarteto.
Funciona bastante mas rápido que el reaver, la verdad.
Estas seguro de esto?
teoricamente bully solo deberia aceptar el parámetro -p si el argumento tiene SIETE cifras, por ejemplo:
bully -S -p 0123456
ejecutando el comando que propones:
bully -S -p 0123
deberia arrojar un error
PD: quizas me equvoco? tendré que revisar el código de nuevo
-
revision svn 14
acepta pines ( siete primeros caracteres )
SOLO ES NECESARIO USAR -p XXXXXXX SIN MASSSSS
____________________________
I dont like the method to write de *.run file when get de PIN & KEY
# Do Not Modify
# 'ESSID' (XX:XX:XX:XX:XX:XX)
# session ended 2013-09-08 03:55:34 with signal 0
8XXXXXX:8XXXXXX:i4Ag26riFBXXXXXXXXXX:
I THNIK 3 THINGS
Why only 7 digits pin
Why write 2 times the pin ?
Is not better option separate parts ?
Like that like this ;D
PIN = 8XXXXXXX -->> ENTIRELY
KEY = XXXXXXXXXXXXX
some like this ...
# Do Not Modify
# 'ESSID' (XX:XX:XX:XX:XX:XX)
# session ended 2013-09-08 03:55:34 with signal 0
PIN = XXXXXXXX
KEY = XXXXXXXXXXXXXXXXXXX
-
Actualizando bully desde svn a ultimas versiones.
svn checkout http://bully.googlecode.com/svn/trunk/ bully-read-only
cd ~/bully-read-only/src
make
El siguiente paso logico seria make install , pero como wifislax tiene el binario en /usr/bin ..lo moveremos en vez de instalarlo.
mv bully /usr/bin/bully
Y ahora limpiaremos , por que ya lo hemos instalado
cd ~
rm -Rf ~/bully*
-
Bully svn 14 , aparently FIX , correctly de 4 first digits ....
and parameter -p XXXXXXX works well ... 1 attent and get wpa key
(http://imageshack.us/a/img405/5573/stj.png)
(http://imageshack.us/a/img20/3295/x8e0.png)
-
@USUARIONUEVO:
dado que brian está ya registrado en el foro y leyendo este hilo, le dejo que te responda a tus observaciones, pero básicamente estamos todos pensando y observando lo mismo.
PD: el tema de los 7 digitos en el pin, ya está previsto que se cambiará permitir 8 y así facilitar el ataque a routers no estandar
__
provided that brian is registered at this forum and reading this thread already, I let him answer to your observations, but we are basically thinking and noticing the same.
PS: regarding the 7 digit only pin, changing to allow 8 digits that's already on the roadmap in order to ease attacking non fully WPS compliant APs
-
Actualizando bully desde svn a ultimas versiones.
rm -Rf ~/bully*
rm -Rf ~/.bully*
dont forget that dot :- P
EPIC FAIL
sorry
-
Actualizando bully desde svn a ultimas versiones.
rm -Rf ~/bully*
rm -Rf ~/.bully*
dont forget that dot :- P
FAIL melón ...si haces eso ue tu pones ...eliminas el directorio donde bully te guarda los *.run
la idea de rm -Rf ~/bully*
es simple y llanamente eliminar el code bajado por svn en la carpeta bully-read-only
lo que pasa que para no escribir todo el name..dije, pue sasterisco y acabo antes.
Lo correcto habría sido
rm -Rf ~/bully-read-aonly
Pero los pasos que puse están perfectos, ya que lo fui pasando por Shell y copiando directamente al post-
De todas maneras tu mismo ya te habrá dao cuenta ... ¿ para que quiero borrar la carpeta de config de bully con mis ataques a medias etc ?
La idea es solo borrar lo bajado del svn ,el source. ^-^
-
ah, cierto. no capté la idea de tu comando.
me hago el harakiri y vuelvo xD
-
ah, cierto. no capté la idea de tu comando.
me hago el harakiri y vuelvo xD
Es normal , no semos maquinas.
Pero que nadie elimine
.bully ..por que iran a tu casa a buscarte ;D
sobretodo si tienen algún atauqe a medias,con un par de horas hechadas...jajaja >:D
-
[
Pregunta tonta:
¿Como saber si el WPS esta activado sin tener el router delante?
wash
^-^
-
[Pregunta tonta:
¿Como saber si el WPS esta activado sin tener el router delante?
wash
^-^
ya te iba a empalar con una caña rota! jajajaja
-
[Pregunta tonta:
¿Como saber si el WPS esta activado sin tener el router delante?
wash
^-^
ya te iba a empalar con una caña rota! jajajaja
Ya le podías sacar punta, que me lo merecía.
-
T.T
-
Una manera de obligarle a que haga el primer cuarteto de manera secuencial, es metiendole la opción -S -p 0XXX . Ese cuarteto lo toma como si fuesen el cero el ultimo digito del primer cuarteto y los otros tres digitos, como si fuesen parte del segundo cuarteto.
Funciona bastante mas rápido que el reaver, la verdad.
Estas seguro de esto?
teoricamente bully solo deberia aceptar el parámetro -p si el argumento tiene SIETE cifras, por ejemplo:
bully -S -p 0123456
ejecutando el comando que propones:
bully -S -p 0123
deberia arrojar un error
PD: quizas me equvoco? tendré que revisar el código de nuevo
Si. fue con la version 4.6 de wifislax instalada en HDD, con la version 1.3 de bully.
Despues intenté compilar la 1.4, y me dió este error el bully. He bajado la ultima ISO la he instalado en HDD y me sigue dando el mismo error (variando la frecuencia)
wifislax ~ # bully -e xxxxxxxxxxx -S -p 0123 mon0
[X] Unknown frequency '2422' reported by interface 'mon0'
wifislax ~ #
==========================================================
Por abrir la bocaza.....
wifislax ~ # bully -e xxxxxxxxXXXX -c 3 -S -p 0123 mon0
- Switching interface 'mon0' to channel '3'
[!] Using 'XX:XX:XX:XX:XX:XX' for the source MAC address
- Datalink type set to '127', radiotap headers present
- Scanning for beacon from 'xxxxxxxxXXXX' on channel '3'
- Got beacon for 'xxxxxxxxXXXX' (XX:XX:XX:XX:XX:XX)
- Index of starting pin number is '0000123'
- Last State = 'NoAssoc' Next pin '00001236'
- Rx( M5 ) = 'Pin1Bad' Next pin '00011235'
- Rx( M5 ) = 'Pin1Bad' Next pin '00021234'
- Rx( M5 ) = 'Pin1Bad' Next pin '00031233'
- Rx( M5 ) = 'Pin1Bad' Next pin '00041232'
- Rx( M5 ) = 'Pin1Bad' Next pin '00051231'
- Rx( M5 ) = 'Pin1Bad' Next pin '00061230'
- Rx( M5 ) = 'Pin1Bad' Next pin '00071239'
- Rx( M5 ) = 'Pin1Bad' Next pin '00081238'
- Rx( M5 ) = 'Pin1Bad' Next pin '00091237'
- Rx( M5 ) = 'Pin1Bad' Next pin '00101233'
^C
Saved session to '/root/.bully/XX:XX:XX:XX:XX:XX.run'
wifislax ~ # bully -e xxxxxxxxXXXX -c 3 -S -p XXXXXX0 mon0
- Switching interface 'mon0' to channel '3'
[!] Using 'XX:XX:XX:XX:XX:XX' for the source MAC address
- Datalink type set to '127', radiotap headers present
- Scanning for beacon from 'xxxxxxxxXXXX' on channel '3'
- Got beacon for 'xxxxxxxxXXXX' (XX:XX:XX:XX:XX:XX)
[!] Restoring session from '/root/.bully/XX:XX:XX:XX:XX:XX.run'
- Index of starting pin number is 'XXXXXX0'
- Last State = 'NoAssoc' Next pin 'XXXXXX04'
- Rx( M7 ) = 'Pin2Bad' Next pin 'XXXXXX11'
- Rx( M7 ) = 'Pin2Bad' Next pin 'ZZZZZZZZ'
- Pin is '15782328', key is 'XXXXXXXX'
Saved session to '/root/.bully/XX:XX:XX:XX:XX:XX.run'
PIN : 'ZZZZZZZZ'
KEY : 'XXXXXXXX'
-
nueva version de bully con soporte para routers que incumplen el checksum de WPS PIN (véase el ASL-26555 de movistar)
Brian ha añadido una nueva opción "-B" para habilitar este modo de operación que hace exactamente lo mismo que hacian las diferentes modificaciones del reaver que diferentes investigadores realizaron previamente (véase el "reaver wifislax" y el reaver modificado por notepad).
-B, --bruteforce : Bruteforce the WPS pin checksum digit [No]
para descargarlo:
git clone https://github.com/bdpurcell/bully.git
@pedro
prueba esta la version nueva de bully con la ultima de wifislax y nos cuentas. aunque tiene pinta de que tu problema es otro.
-
con esta nueva versión, ni un misero pin....
No me autentifica....
wifislax ~ # bully -e xxxxxxxxXXXX -c 3 -S -p 1578230 mon0
- Switching interface 'mon0' to channel '3'
[!] Using 'XX:XX:XX:XX:XX:XX' for the source MAC address
- Datalink type set to '127', radiotap headers present
- Scanning for beacon from 'xxxxxxxxXXXX' on channel '3'
- Got beacon for 'xxxxxxxxXXXX' (XX:XX:XX:XX:XX:XX)
[!] Restoring session from '/root/.bully/XX:XX:XX:XX:XX:XX.run'
- Index of starting pin number is '1578230'
- Last State = 'NoAssoc' Next pin '15782304'
[!] Received M2D or out of sequence WPS Message
- Rx(M2D/M3) = 'WPSFail' Next pin '15782304'
- Rx( Auth ) = 'Timeout' Next pin '15782304'
- Rx( Auth ) = 'Timeout' Next pin '15782304'
- Rx( Auth ) = 'Timeout' Next pin '15782304'
[!] Received disassociation/deauthentication from the AP
- Tx( Assn ) = 'NoAssoc' Next pin '15782304'
[!] Received disassociation/deauthentication from the AP
- Tx(DeAuth) = 'NoAssoc' Next pin '15782304'
- Sent packet not acknowledged after 3 attempts
- Tx(DeAuth) = 'Timeout' Next pin '15782304'
[!] Received M2D or out of sequence WPS Message
- Sent packet not acknowledged after 3 attempts
- Tx( M4 ) = 'Timeout' Next pin '15782304'
- Rx( Auth ) = 'Timeout' Next pin '15782304'
[!] Received disassociation/deauthentication from the AP
- Rx( Auth ) = 'NoAssoc' Next pin '15782304'
[!] Received disassociation/deauthentication from the AP
- Rx( Auth ) = 'NoAssoc' Next pin '15782304'
[!] Received disassociation/deauthentication from the AP
- Tx( Auth ) = 'NoAssoc' Next pin '15782304'
- Rx( Assn ) = 'Timeout' Next pin '15782304'
[!] Received M2D or out of sequence WPS Message
- Sent packet not acknowledged after 3 attempts
- Tx( M4 ) = 'Timeout' Next pin '15782304'
- Rx( Auth ) = 'Timeout' Next pin '15782304'
- Rx( Auth ) = 'Timeout' Next pin '15782304'
[!] Received disassociation/deauthentication from the AP
- Rx( Auth ) = 'NoAssoc' Next pin '15782304'
- Rx(M2D/M3) = 'Timeout' Next pin '15782304'
-
I love ifconfig wlanX up
Mira el video anda...
&feature=youtu.be[/youtube]
-
Fijate mas , por que te esta avisando todo el rato ....
Last State = 'NoAssoc' Next pin '15782304'
-
^-^ ^-^ ^-^ ^-^ Gracias USUARIONUEVO
El mismo comportamiento. Si le pongo como PIN 0123, me empieza del 0001236. PIN de ocho digitos me dice Bad starting pin number -- 12345670.
Con siete digitos, todo OK
======
Si, ya me habia dado cuenta de que no asociaba, aunque arriba he escrito autentificar.... maldita dislexia :-\ :-\ :-\
-
si os parseis a leer un poco ...
ejecuta bully , sin mas , y estudia las opciones.
NO HAY NINGUNA OPCION QUE ADMINTA INTRODUCIR MEDIO PIN XXXX NINGUNA.
Hay 2 opciones con respecto a eso y pone claramente 7 digits.
-
jajajaja!
Definitivamente necesitais las interfaces en alza, es verdad.
Creo que mi atheros es la unica cuya hermana monitor anda bien sin levantar previamente la hermana managed
-
si os parseis a leer un poco ...
ejecuta bully , sin mas , y estudia las opciones.
NO HAY NINGUNA OPCION QUE ADMINTA INTRODUCIR MEDIO PIN XXXX NINGUNA.
Hay 2 opciones con respecto a eso y pone claramente 7 digits.
bueno, esto yo ya lo he dcho un par de veces y aun se insiste con el tema. mira que es sencillo rellenar con ceros, pero no, la gente erre que erre xDDD
-
he peusto los enlaces de descarga de la nueva version de bully en un post aparte, y en el prmer post de este hilo, porque en este foro la gente es tan charlatana que la información util se entierra enseguida entre accidentes tontos... jajaja
-
jajajaja!
Definitivamente necesitais las interfaces en alza, es verdad.
Creo que mi atheros es la unica cuya hermana monitor anda bien sin levantar previamente la hermana managed
en un 3.10.X ?¿?¿
SI TIENES network manager , te recuerdo que la tiene siempre en alza ... mientras que wicd solo cuando estas conectado.
Y que esto ES NUEVO , por que hasta la rama 3.9 funcionaba perfectamente.
Respecto a los pines, acabo de revisar y en la svn15 han tocado..
-i, --index N : Starting pin index (7 or 8 digits) [Auto]
-l, --lockwait N : Seconds to wait if the AP locks WPS [43]
-p, --pin N : Starting pin number (7 or 8 digits) [Auto]
osea que en teoria admite ya tamnbien pin directo de 8
lo que no entiendo ...es , que hacen lo mismo ..
cuando la opcion
..index
deberia permitir una media mitad de 4.
puesto asi parecen la misma opcion..
y la index , creo que deberia permitir solo 4 digitos, y el reto como ya es aleatorio, que los ponga el programa.
-
un pin es un pin XXXXXXXX
Y un inde xes un index XXXX
Por eso el lio d ela gente , el programa tampoco es que aclare mucho al consultar las opciones.
index = 4 digitos por dios ...es un index, ...
-
si os parseis a leer un poco ...
ejecuta bully , sin mas , y estudia las opciones.
NO HAY NINGUNA OPCION QUE ADMINTA INTRODUCIR MEDIO PIN XXXX NINGUNA.
Hay 2 opciones con respecto a eso y pone claramente 7 digits.
Sí, si eso ya se comento.... Pero por eso postee lo que me pasaba. La única explicación es que bully rellene con ceros al principio los digitos que detecte que faltan. No hay ninguna opcion que admita medio pin, pero se le puede "engañar" para que acepte eso:
Si queremos que haga un ataque secuencial desde 0000, le ponemos que empiece desde 0123 y el empieza desde 00001236. Para empezar desde cualquier otro PIN, le metemos ***W000 y te empieza desde ese cuarteto.
De todas maneras, con PIN o con index, tiene el mismo comportamiento que las versiones anteriores.
-
por eso digo que lo normal es uqe la opcion index, sirviese para esprcificar el INICIO , osea los 4 primeros , .
-
Marcandole el index con la opcion -i hace un ataque aleatorio, y pasa del index que le marcas, ni lo prueba en primer lugar.
-
ey, que el tema del index vs pin es el motivo por el que se abrio este hilo y la problematica ya está transmitida a brian, somos los únicos que le hemos hecho llegar este tipo de feedback.
esta en la lista de cosas por hacer, pasaros por nuestros github que aunque no seais unos hackers del c/c++ (yo tampoco), podeis aprender mucho y saber qué se hace, cómo se hace, y aportar granitos de arena.
PD: @usuarionuevo, en producción tengo un 3.10.10-ck con un par de backports de 3.11. cuando hago una auditoria, tengo una version de airoscript.cw que adapté al sistema debian y se encarga de todo eso. el tema es que me hace una extracción forzada del modulo ath9k para limpiarlo todo a saco, y luego lo inserta de nuevo, pasando a modo monitor sin levantar la interfaz.
Y me va bien.
Pero parece que solo a mi xD
-
no te quieres enterar ..ye-ye , que lo digo de verdad ye-ye-ye ye ;D
1 - las ralink 3070 SIEMPRE , han tenido el mismo problema ahora la ar9285 se une a la fiesta dede los 3.10
¿ por que el chip ar9271 no le pasa si usa tambien el ath9k ?
-
si tienes network manager ..deten el service, ..baja la interface ..y prueba reaver.
-
no te quieres enterar ..ye-ye , que lo digo de verdad ye-ye-ye ye ;D
1 - las ralink 3070 SIEMPRE , han tenido el mismo problema ahora la ar9285 se une a la fiesta dede los 3.10
¿ por que el chip ar9271 no le pasa si usa tambien el ath9k ?
te he dicho ya que flipo mucho?
si tienes network manager ..deten el service, ..baja la interface ..y prueba reaver.
uso wicd porque el networkmanager es de juguete, especialmente con las wifis. lo que hago es pararlo del todo siempre, de eso se encarga airoscript.cw.
como despues de amtar el servicio, además hago un rmmod forzado, me quedo sin wlan0 y sin nada.
luego hago un modprobe ath9k y obviamente sale wlan0 en estado bajado, y nada mas.
airoscript la detecta, la inicializa en modo monitor y me despreocupo de todo.
y va como un cañon.
la duda que me queda ahora es si, airoscript lanza el airmon-ng wlan0 start, o ademas hace un ifconfig wlan0 up. cosa que entonces te daría la razón.
lo tengo que mirar.
-
PERO ESE AIROSCRIPT , USA REAVER O BULLY ????? ..HE HAY LA CUESTION
Por que para todo lo demas mastercard , ...donde fallan es en la asociacion con reaver o bully para inyectar pines.
Con aircrack no hay problemas , ni airodump , ni nada...es con las tools de inyectar pines.
----------------------------------
Reaver cita explicitamente "fallo la asociacion..."
No se si alguna vez has visto las ralink con reaver ...por que lo netenderias mas rapido.
Ya puedo so remover y cargar el driver y todo lo que me de la gana , que no.
Voy a probar una ultima cosa.... detendre wicd, matare el ath9k , y lo llamare de n uevo ...pero no espero milagros, por que como ya digo en el kernel 3.9 ,eso no pasa , es nuevo de las ramas 3.10 y 3.11 , que tampoco es nuevo ...por que historicamente es el MISMO PROBLEMA por el que las rt3070 , salen como no validas en la lista de reaver ... aunque despues se descubrio que el problema era *salvado , levantando el interface real.
-
Me cagu en mi put4 vida ....
si mato wicd , y remonto el ath9k funciona estando abajo ... :P
tengo que estudiar esto.
-
PERO ESE AIROSCRIPT , USA REAVER O BULLY ????? ..HE HAY LA CUESTION
tengo que probar un puñao de experimentos de estos que me cuentas, a ver cómo me va a mi, pero no le des vueltas porque de todos modos aunque a mi me fuese bien, está claro que soy minoria y que no se puede implementar masivamente
-
la verdad es que no he analizado el codigo del reaver lo suficiente, pero el problema es que para empezar a negociar con WPS se necesita una asociacion real, al estilo managed, por lo que es dificil no acabar teniendo problemas.
PD: algo que si tengo mas comprobado en dos máquinas viejas, es que una ipw2200 con el ultimo firmware disponible, no hay manera de hacerla andar en reaver o en bully.
-
Lee , mi post anterior a este.
si hago lo que dices va bien , con la interface abajo ..... MA LOL INCREDIBLE WTF ¿¿
Ahora como no me gustan las cosas a medias, ... me tocara buscar el por que si matas el gestor y remontas el driver si funciona.
Si se necesita una conexion REAL , no se si el wpa_supplicant , tendra algo que decir al respecto.
En mi caso , tal vez no este todo perdido ... en el menu de gestor de conexiones , tengo una entrada
STOP WICD
eso ejecuta un script ...
#!/bin/sh
/etc/rc.d/rc.wicd stop
killall wicd-client
killall wicd
killall wicd-monitor
killall wpa_supplicant
sleep 3
IW="$(iwconfig 2>/dev/null|cut -d" " -f1|grep -v "^$")"
IF="$(ifconfig|cut -d" " -f1)"
for x in $IW; do
if [ ! "$(echo "$IF"|grep -x "$x")" ]; then
echo "Levantando interface $x..."
ifconfig $x up
fi
done
no costaria mucho , identificar los drivers wifi , y remontarlos , para rematar la faena.
esa entrada es por si vemos que algo no va bien en auditoria , tumbarlo todo de un click.
Tengo que estudiar esto , por que podria ser el caso identico , el de las ralink.
Yo tengo una , aqui mismo una 3070 , voy a probar , y te digo.
-
Lee , mi post anterior a este.
si hago lo que dices va bien , con la interface abajo ..... MA LOL INCREDIBLE WTF ¿¿
Ahora como no me gustan las cosas a medias, ... me tocara buscar el por que si matas el gestor y remontas el driver si funciona.
Si se necesita una conexion REAL , no se si el wpa_supplicant , tendra algo que decir al respecto.
En mi caso , tal vez no este todo perdido ... en el menu de gestor de conexiones , tengo una entrada
STOP WICD
eso ejecuta un script ...
#!/bin/sh
/etc/rc.d/rc.wicd stop
killall wicd-client
killall wicd
killall wicd-monitor
killall wpa_supplicant
sleep 3
IW="$(iwconfig 2>/dev/null|cut -d" " -f1|grep -v "^$")"
IF="$(ifconfig|cut -d" " -f1)"
for x in $IW; do
if [ ! "$(echo "$IF"|grep -x "$x")" ]; then
echo "Levantando interface $x..."
ifconfig $x up
fi
done
no costaria mucho , identificar los drivers wifi , y remontarlos , para rematar la faena.
esa entrada es por si vemos que algo no va bien en auditoria , tumbarlo todo de un click.
Tengo que estudiar esto , por que podria ser el caso identico , el de las ralink.
Yo tengo una , aqui mismo una 3070 , voy a probar , y te digo.
wpasupplicant o dhclient como posibles culpables de todo este rollo
ya sabes que la postura desde offensive security con backtrack y con kali siempre ha sido estricta:
"the quieter you are, the more you are able to hear"
o sea, que todas las interfaces al suelo desde el minuto cero.
PD: hay una cosa muy especial en el hecho de eliminar el driver y recargarlo: el adaptor NO TIENE un canal asignado
-
Hola a todos !
Voy a tratar de responder a algunas preguntas , con la ayuda de la traducción de Google .
Hay mucha discusión alrededor del pasador respecto del índice , 7 frente a 8 dígitos , y así sucesivamente . Voy a explicar , aunque alister hice bastante bien explicar el concepto .
En primer lugar, he añadido " - i N " a los argumentos de matón. Esto es diferente de " - pin N " ahora. Los argumentos son mutuamente excluyentes porque se utilizan para dos modos de funcionamiento diferentes . " - p" es el número de PIN actual para empezar cuando se ejecuta matón en modo secuencial . " - i" se utiliza en modo aleatorio. Desde pins azar se almacenan en un archivo , es necesario hacer un seguimiento de nuestra ubicación en ese archivo. Esto es lo que hace el índice. En la sesión de almacenamiento de archivos , verá dos números , por ejemplo:
iiiiiiii : pppppppp : 0 ::
El primer número es el índice, el segundo número es el PIN. Al utilizar el modo secuencial , esos dos números son exactamente los mismos . Sin embargo , si se utiliza el modo aleatorio , que serán diferentes . El segundo número será el pasador en la ubicación especificada por el primer número , en el archivo " patillas" . Bully realiza un seguimiento de este puesto de trabajo entre períodos de sesiones, y también lo utiliza para verificar que el archivo pin no se ha modificado entre sesiones. Bully también imprime advertencias si se cambian los modos , ya que esto causaría resultados impredecibles .
En la línea de comandos , tanto " - p" y "- i" Acepto 7 argumentos dígitos, A MENOS QUE " - B " está en efecto ( . Véase más abajo ) Si se dan menos de 7 dígitos, ceros se rellenan a la izquierda . Tenga en cuenta que no dan el dígito de comprobación , ya que se genera de forma automática:
" - p 123" -> 0000123X (X = suma de comprobación)
"- p 1234000 " - > 1234000X
Para " - i " se aplica el mismo relleno. El número se toma en dos secciones . Los primeros 4 dígitos especificar la ubicación de la primera mitad de la espiga en el archivo pin azar, y los 3 últimos dígitos especificar la ubicación de la segunda parte de la espiga (el archivo es de 2 secciones. ) Se ensamblaron a producir el PIN .
Ahora tenemos un nuevo switch, " - B ", que hace de matón Bruteforce dígito de suma de comprobación. Todavía se puede hacer de forma secuencial o al azar , la única diferencia es que ahora le dan 8 dígitos para el PIN o el índice . El relleno es el mismo que el anterior :
" - p 1239 " -> 00001239 ( 9 = suma de comprobación)
" - p 12340009 " -> 12340009
Espero que esto no es confuso para la gente . El sonido de las cañas están afiladas me pone nervioso .
El README ha cambiado un poco, y voy a trabajar en un buen FAQ como el tiempo lo permite .
El siguiente cambio importante va a añadir la traducción española de alister a las fuentes originales . Viva el software en español ! >:(
B
-
Casi se me olvida ...
Con la revisión 15, el formato de los archivos de pin y la sesión ha cambiado. Los archivos antiguos son obsoletos. Escriba sus pines descubiertos y claves de red, a continuación,
rm-rf ~ /. bully
Mejor aún,
mv ~ /. bully ~ /. bully.old
Que tengan un buen día!
-
Hi , ;D
I think people need a parameter for indicate a 4 first digits for permanent attack.
Some routers hace a 4 static digits pin and only change de 4 in the back part,,
For example
One specific model hace EVER
1234XXXX
1234875X
1234573X
pEOPLE NEED FUNCTION TO FIX attack whit first 4 numbers , because some models have ever de 4 same numbers and only change de 4 back.
Of couse when try -fix 1234 ONLY WANT TEST 12340000 - 12349999 PINS sequence.... fixing the 4 numbers in first positions.
People want this , because reaver when put -p 1234 , automatically test 1234000X TO 1234999X , user knows the 4 first digits.
-
Then just use
--pin 1234000
IF 1234 is the correct first half, bully will try 1234000x through 1234999x
-
Then just use
--pin 1234000
IF 1234 is the correct first half, bully will try 1234000x through 1234999x
No , sorry but i say for some reason.
when put -p 1234000
bully FIX ALL 7 DIGITS , AND ONLY ADD THE LAST CHECKSUM NUMBER.
You can see ..try -p 1234000 , an you get FORVER AND EVER
PIN 12340002
AND NO MORE PINS....because 1234000 are FIXED.
Of course bully is svn 15 ;)
And want fix ,only 1234 no want fix the 000 numbers.
-
Can you post your full command line and output please?
-
bully -b XX:XX:XX:XX:XX:XX -p 1234000 -c 1 mon0
Get this ... Pin is with 1234000 fixed , and only add the final number "2"
(http://imageshack.us/a/img443/3086/mxpg.png)
-
I think a posibility to fix the string and randomize de other 3 + checksum
-p 1234???
? = ramdomize
1234 ??? + checksum number
-
That is an entirely different problem.
Try adding these options to your command line :
-a 50 -m 5000 -t 2000
-
Hola a todos !
Voy a tratar de responder a algunas preguntas , con la ayuda de la traducción de Google .
Hay mucha discusión respecto del tema del índice, de los 7 digitos de pin frente a los 8 dígitos , etc . Voy a explicar , aunque alister explicó bastante bien el concepto .
En primer lugar, he añadido
-i N
a los argumentos de BULLY. Esto ahora es diferente de
-p N.
Los argumentos son mutuamente excluyentes porque se utilizan para dos modos de funcionamiento diferentes. - p es el número de PIN actual para empezar cuando se ejecuta matón en modo secuencial. - i se utiliza en modo aleatorio. Dado que los pins aleatorios se almacenan en un archivo, es necesario hacer un seguimiento de nuestra posición en ese archivo. Eso es para lo que sirve el índice. En el archivo de almacenamiento de la sesión, veréis dos números , por ejemplo:
iiiiiiii : pppppppp : 0 ::
El primer número es el índice, el segundo número es el PIN. Al utilizar el modo secuencial , esos dos números son exactamente los mismos . Sin embargo , si se utiliza el modo aleatorio , serán diferentes . El segundo número será el PIN que está escrito en la posición especificada por el primer número en el archivo de PINs. Bully realiza un seguimiento de esta posición entre sesiones de trabajo, y también lo utiliza para verificar que el archivo de PINs no se ha modificado entre sesiones.
Bully también imprime advertencias si se cambian los modos , ya que esto causaría resultados impredecibles.
En la línea de comandos , tanto " - p" como "- i" Aceptan argumentos de 7 dígitos, A MENOS QUE la nueva opción " - B " se active tambien ( . Véase más abajo ) Si se dan menos de 7 dígitos, se rellena con ceros por la izquierda. Tenga en cuenta que no se pasa el dígito de comprobación (el checksum del WPS PIN , ya que se genera de forma automática:
-p 123 -> 0000123X (X = checksum)
-p 1234000 - > 1234000X
Para -i se aplica el mismo relleno. El número se toma en dos secciones . Los primeros 4 dígitos especificar la ubicación de la primera mitad del PIN en el archivo de PINs aleatorios, y los 3 últimos dígitos especifican la ubicación de la segunda parte del PIN (el archivo es de 2 secciones.) Ambas secciones se ensamblan y se genera el PIN resultante.
Ahora tenemos un nuevo switch, " -B ", que hace que BUlly haga ataques por fuerza bruta al último del PIN, el que supuestamente tiene que ser el dígito de checksum. Incluso con -B, todavia se puede trabajar en modo secuencial o en modo aleatorio, la única diferencia es que usando -B hay que pasar 8 dígitos al PIN -p o al índice -i . El relleno es el mismo que el anterior :
-p 1239 -> 00001239 ( 9 = suma de comprobación)
-p 12340009 -> 12340009
Espero que esto no sea confuso para la gente.
El README ha cambiado un poco, y voy a trabajar en un buen FAQ cuando mi tiempo libre me lo permita.
El siguiente cambio importante va a añadir la traducción española de alister a las fuentes originales . Viva el software en español ! >:-(
ah, casi se me olvidaba
Con la revisión 15, el formato de los archivos de pin y la sesión ha cambiado. Los archivos antiguos son obsoletos. Anotad en sitio seguro vuestros pines y claves de red descubiertas, a continuación,
rm-rf ~ /. bully
o Mejor aún,
mv ~ /. bully ~ /. bully.old
Que tengan un buen día!
Brian
(little changes for better understanding) | (pequeños cambios para mejor comprension)
-
Todo lo que querias decir y citar , pero sigo sin ver la opción de poder poner solo los 4 primeros dígitos.
Ya paso de explicarlo mas veces ...
si los comtrend modelo ni tu tia sabemos que los 4 primeros son fijos
8820XXXX
dime a mi por que tengo que esperar a que el ..descubra que son 8820 los cuatro primeros, y no haya un parámetro claro para eso.
además de que no lo hay ni claro ni oscuro , no lo hay y punto.
si yo se que el pin de mirouter enpieza por 1665
¿ con que parámetro le digo pruébame del 16650000 al 16659999 ...con ninguno.
-
Todo lo que querias decir y citar , pero sigo sin ver la opción de poder poner solo los 4 primeros dígitos.
Ya paso de explicarlo mas veces ...
si los comtrend modelo ni tu tia sabemos que los 4 primeros son fijos
8820XXXX
dime a mi por que tengo que esperar a que el ..descubra que son 8820 los cuatro primeros, y no haya un parámetro claro para eso.
además de que no lo hay ni claro ni oscuro , no lo hay y punto.
si yo se que el pin de mirouter enpieza por 1665
¿ con que parámetro le digo pruébame del 16650000 al 16659999 ...con ninguno.
personalmente no he entendido aún qué problema tienes. voy a leer de nuevo tus posts con brian porque no comprendo.
EDIT:
corrígeme si me equivoco.
quieres indicar por qué primera parte empieza el pin -p 1234xxxx, pero quieres usar el modo aleatorio para averiguar la segunda mitad.
EDIT2:
bully -p 12340000 consigue fijar la primera parte correctamente i probar combinaciones en la segunda parte, pero lógicamente eso te condena a utilizar el modo secuencial por fuerza.
¿es eso?
-
-Usuarionuevo dice que si tu a Bully le dices que el pin es 12340000 Bully calcula el checsum y prueba 12340002 unicamente.
-bdpurcell y alister dicen que si tu a Bully le dices que empieze por el pin 12340000 Bully comenzará a probar por el pin 12340000 y luego seguirá con el 12340001 y así sucesivamente hasta que encuentre el pin (que si fuera 12350315 encontraría, pues no para cuando llegue al 12349999 si no que sigue por que le has dicho por que númerto tiene que empezar, pero no en cual tiene que acabar.
Para mi lo que es más que evidente es que "el pin es 12340000" y "empieze por el pin 12340000" son dos cosas distintas, y en caso de que el programa permita hacer las dos es con parámetros diferentes, y ahora mismo no me apetece ponerme a leer cual es el parámetro que hace cada cosa.
-
corregidme si me equivoco:
para fijar (lock) la primera parte del pin, y probar solamente la segunda, con checkusm:
bully -p 1234000
y que bully pruebe desde 1234000 en adelante
para firjar la primera parte del pin, y probar solamente la segunda, sin checksum:
bully -p 12340000 -B
y que bully pruebe desde 12340000 en adelante
queréis que bully haga esto, verdad?
y ahora usando -p, en lugar de probar el pin dado y si falla, cerrar el programa, que sería lo mas lógico, lo que hace es insistir con 1234000.
¿correcto?
es un problema de diseño. hay que pensar muy bien el flujo del programa para que pueda hacer todo lo que queremos de forma lo mas sencilla posible.
-
¿que os pareceria esto?
(esto es un planteamiento teórico)
-p debe aceptar 4 / 7 / 8 digitos.
si se especifica un -p de 8 digitos , se tiene que habilitar -B aunque no se haya indicado (es lógico)
si se especifica -B, no se aceptan pines de 7 dígitos. se muestra error y se finaliza el programa. de este modo obligamos al usuario a que compruebe bien lo que está intentando decirnos, y le obligamos a corregir los datos que introduce porque claramente no están bien. no tiene sentido pedir bruteforce del checksum y pasar un pin de 7 digitos. en todo caso, solo tiene sentido pasar 4.
si se especifica un -p de 4 digitos, esta primera mitad se bloquea y se prueba la segunda mitad aleatoriamente.
si bully descubre que esa primera mitad es incorrecta (eso se puede saber despues del primer intento), creo que lo mejor es detener el programa y mostrar un error, para que el usuario sea consciente de que el pin no es el que él cree que es.
si se agotan las posibilidades en la segunda mitad, game over. mensaje de error, y fin del programa. (no tiene sentido probar cambiando la primera mitad porque ha sido el usuario quien nos la ha proporcionado, lo mas natural seria avisar al usuario de que está equivocado, y que él decida cómo quiere continuar el siguiente ataque)
si se especifica un pin de 7 u 8 digitos, se prueba directamente. si se demuestra que no es el pin correcto. mensaje de error y fin del programa. creo que es importante darle feedback al usuario cuando nos introduce parámetros que resultan incorrectos. no me parece buena idea pedirle a bully que haga suposiciones acerca de cómo debe resolver problemas de -p incorrectos.
si un usuario se ha equivocado y ha puesto un -p incorrecto, creo que es mejor que lo sepa, que tome conciencia del hecho de que en realidad no sabe qué pin wps tiene el router, y que vuelva a repetir un ataque sin especificar -p
creo que esta manera de funcionar resolver muchos problemas y haría el uso del programa más sencillo.
¿cómo lo véis?
-
lo que mas se aproxima es que el
-p debe aceptar 4 digitos.
ya lo dije 2 o 3 veces , se supone que si meto los 4 primeros y añado 3 ceros , los ceros deberian ir variando aleatoriamente ,PERO QUEDAN FIJADOS...
ES MAS QUEDAN TAN FIJADOS , que es como si metiese 7 que de hecho ESTOY METIENDO 7 ...
Bully no es adivino ....si yo meto 7 , el no sabe si los tres ceros son fijos o no ...
¿ tanto os cuesta lanzar el comando y verlo ?
si en bully pone -p 1234 , NO VALE DE NADA
si en reaver pones -p 1234 , los cuatro primeros se fijan y se buscan solo los 4 de a atras.
No se como os esta costando la vida misma de entener el problema ...
si lanzaris el mismo comando en ambos veriais enseguida la diferencia, y solo tardais 10 segundos.
diciisss de rellenar con ceros ..pero si metes ceros, esos ceros quedan fijados...ES EXACTAMENTE LO MISMO QUE METER 7 , POR QUE ESTAS METIENDO 7 , ASI QUE SOLO CALCULA EL UKLTIMO ,Y NO PRUIEBA MAS QUE ESE PIN.
:P :P :P :P :P :P :P :P
Hay varios modelos que de routers que la primera mitad es siempre
1665 , y solo varia la mitad de atras ...
repito por enesima vez ...
¿ como fijamos el 1665 y que solo busque la mitad de atras ? ...........NO SE PUEDE .....ASI DE SIMPLE.
SI METES CEROS PARA """"" RELLENAR """""" ESOS CEROS LOS TOMA FIJOS TAMBIEN .... :-\
** ONLY NEED A OPTION TO FIX 4 FIRST DIGITS , AND SEARCH DE 4 ON THE BACK SIDE ***
When revaer receive some like this
-p 1665
*only 4 digits ...
he puts this 4 , FIXED , and probe only de other 4 on the back side.
-
bully -b XX:XX:XX:XX:XX:XX -p 1234000 -c 1 mon0
Get this ... Pin is with 1234000 fixed , and only add the final number "2"
(http://imageshack.us/a/img443/3086/mxpg.png)
I don't mean to be rude, but you are wrong. The zeros are not "fixed."
The problem you are having is that the WPS transactions are timing out, and the same pin gets tried over and over.
You never get 'PIN2BAD' because of this, and that is why the pin doesn't advance.
If you add -a 50 -m 5000 -t 2000 I think you will see different results.
-
¿que os pareceria esto?
(esto es un planteamiento teórico)
-p debe aceptar 4 / 7 / 8 digitos.
si se especifica un -p de 8 digitos , se tiene que habilitar -B aunque no se haya indicado (es lógico)
si se especifica -B, no se aceptan pines de 7 dígitos. se muestra error y se finaliza el programa. de este modo obligamos al usuario a que compruebe bien lo que está intentando decirnos, y le obligamos a corregir los datos que introduce porque claramente no están bien. no tiene sentido pedir bruteforce del checksum y pasar un pin de 7 digitos. en todo caso, solo tiene sentido pasar 4.
si se especifica un -p de 4 digitos, esta primera mitad se bloquea y se prueba la segunda mitad aleatoriamente.
si bully descubre que esa primera mitad es incorrecta (eso se puede saber despues del primer intento), creo que lo mejor es detener el programa y mostrar un error, para que el usuario sea consciente de que el pin no es el que él cree que es.
si se agotan las posibilidades en la segunda mitad, game over. mensaje de error, y fin del programa. (no tiene sentido probar cambiando la primera mitad porque ha sido el usuario quien nos la ha proporcionado, lo mas natural seria avisar al usuario de que está equivocado, y que él decida cómo quiere continuar el siguiente ataque)
si se especifica un pin de 7 u 8 digitos, se prueba directamente. si se demuestra que no es el pin correcto. mensaje de error y fin del programa. creo que es importante darle feedback al usuario cuando nos introduce parámetros que resultan incorrectos. no me parece buena idea pedirle a bully que haga suposiciones acerca de cómo debe resolver problemas de -p incorrectos.
si un usuario se ha equivocado y ha puesto un -p incorrecto, creo que es mejor que lo sepa, que tome conciencia del hecho de que en realidad no sabe qué pin wps tiene el router, y que vuelva a repetir un ataque sin especificar -p
creo que esta manera de funcionar resolver muchos problemas y haría el uso del programa más sencillo.
¿cómo lo véis?
Good ideas, all of them.
-
bully -b XX:XX:XX:XX:XX:XX -p 1234000 -c 1 mon0
Get this ... Pin is with 1234000 fixed , and only add the final number "2"
(http://imageshack.us/a/img443/3086/mxpg.png)
[/quote
pon despues de pin -B y te funciona i el pin lo pones con -p
(http://imageshack.us/a/img694/5903/bfz9.png)
-
NO VALE ASI , la B , es para los NO CHECKSUM , si haces eso , casi seguro no vas a sacar nada.
luego probare.
-
lo que mas se aproxima es que el
-p debe aceptar 4 digitos.
ya lo dije 2 o 3 veces , se supone que si meto los 4 primeros y añado 3 ceros , los ceros deberian ir variando aleatoriamente ,PERO QUEDAN FIJADOS...
ES MAS QUEDAN TAN FIJADOS , que es como si metiese 7 que de hecho ESTOY METIENDO 7 ...
pero has probado lo que te ha dicho brian? porque en mi maquina se porta bien.
y en tu captura de pantalla se puede leer claramente un WPSFail, lo cual explicaria por qué se repite el mismo pin... ¡porque no llega a procesarse correctamente!
por eso brian te ha dicho "ese es un problema completamente diferente", y te ha sugerido utilizar parametros para bajar el timeout
-
Good ideas, all of them.
yeah brian, but I guess we'd need more time and/or coders, and we dont have either
though, if you think we could try to fork and try to achieve this deep rework in the logic of bully, I'll be a pleasure to focus on it. I'm still trying to grab the attention of other coders in order for them to contribute.
-
lo mas interesante es poner la primera parte del pin y despues que lo aga aleatorio con la segunda ;D esa si que no funciona de momento ;)
-
Estoy a 10 metros del ap ............. si crees que le problema es ese ....
Me fallaria siempre.
Lo que sucede es que solo pruieba ese pin y nada mas,,
1234000 y el 2 del final que es el calculo checksum.
Os dejo por imposibles.
¿ tanto costara que acepte solo 4 digitos.... y el resto los añada el solito?
aunque a fin de cuentas a mi me viene mejor que no se pueda, por que la peña despues ve un pin parcial y cree que le vale pa siempre y pa todo , y lo meten a diestro y sieniestro ..luego les llega al 99% y no salen de hay.
-
lo mas interesante es poner la primera parte del pin y despues que lo aga aleatorio con la segunda ;D esa si que no funciona de momento ;)
BIENNNNNNNNNNNNNNNNNNN >:( >:( >:( >:(
Uno que lo pilla ....
-
Estoy a 10 metros del ap ............. si crees que le problema es ese ....
Me fallaria siempre.
Lo que sucede es que solo pruieba ese pin y nada mas,,
1234000 y el 2 del final que es el calculo checksum.
Os dejo por imposibles.
intenta cambiar el comando
bully mon0 -b XX:XX:XX:XX:XX:XX -e ESSID -c 1 -p 12340000 -B v3
asi lo hago yo
-
lo mas interesante es poner la primera parte del pin y despues que lo aga aleatorio con la segunda ;D esa si que no funciona de momento ;)
BIENNNNNNNNNNNNNNNNNNN >:( >:( >:( >:(
Uno que lo pilla ....
:D :D :D >:( >:( >:( que solo tenga la opcion de poner 4 digitos i despues empiece con 0000,0001 ya lo tiene los pones tu los 0000
-
Estoy a 10 metros del ap ............. si crees que le problema es ese ....
Me fallaria siempre.
Lo que sucede es que solo pruieba ese pin y nada mas,,
1234000 y el 2 del final que es el calculo checksum.
Os dejo por imposibles.
¿ tanto costara que acepte solo 4 digitos.... y el resto los añada el solito?
aunque a fin de cuentas a mi me viene mejor que no se pueda, por que la peña despues ve un pin parcial y cree que le vale pa siempre y pa todo , y lo meten a diestro y sieniestro ..luego les llega al 99% y no salen de hay.
pero, observas el WPSfail?
es obvio que ahi sucede algo. aunque no sepamos qué.
si hay algun bug en el programa, evidentemente tendremos que descubrirlo.
ayudaría probar los comandos que te pide brian, aunque seas plenamente consciente de que hay una funcion que quieres en el programa y que ahora no está. pero el tema es que tienes un wpsfail. eso es lo unico seguro ahora.
por lo que respecta a camibos en el programa, le he pasado a brian una lista muy larga de posibles cambios, algunos superficiales y otros profundos, pero solo somos dos personas tocando el código, que es lo que de cuenta a la hora de la verdad.
ya has visto que he propuesta una estrategia 4/7/8 para el parámetro -p.
ya has visto que a brian le parece bien.
¡haremos lo que podemos! creo que ya has podido leer que a brian le parece todo buena idea.
ahora solo tenemos que encontrar la forma exacta de hacer estos cambios y el tiempo libre para hacerlos.
colaboraciones en github, bienvenidas. nada es imposible.
PS: por favor, recordad que ninguno de vosotros cnoce el idioma del otro, y que se está haciendo un esfierzo por ambas partes, pero por mucho esfuerzo que haya la comunicacion es mas deficiente de lo normal y saber trascender a eso exige más paciencia. procuraré hacer de puente todo cuanto pueda.
pero de nuevo, los que sepan inglés y c/c++, los invito al repositorio github de brian que es donde se fabrica el software
-
brian, please:
it seems that 2nd half randomization/progress is not working properly when passed pin is as follows
-p 1234000 - stuck in 000 forever and ever
-p 12340000 (with -B, obviously) - OK
-p 1234[any other 3 digit number != 000] - OK
despite the xtrange "wps fail" that USUARIONUEVO is getting from an AP that is only 1m far, there must be some other factor that causes this behaviour. also confirmed by cristi28
-
el wpsfail es mas que evidente...
es una prueba , y no estaba lanzando el pin real , con la esperanza de que lo descartase y siguiera,pero no , SE ATASCA Y HGAY SE QUEDA CON EL MISMO.
Aunque ahora acabo de descubrir que si en vez de ceros , ..pongo lo que me de la gana , entonces si los pasa.
si pruebo
1234956
toma como fija los 4 de alante y el resto los va cambiando , pero con los ceros no lo hacia.
-
brian, please:
meanwhile, try to check the code as it seems that 2nd half randomization is not working properly when used WITHOUT -B switch.
despite the xtrange "wps fail" that USUARIONUEVO is getting from an AP that is only 1m far, there must be some other factor that caises them as this very same behavior is also confirmed by cristi28
No problem. Maybe I am not understanding things in translation? I will look at it
-
el wpsfail es mas que evidente...
es una prueba , y no estaba lanzando el pin real , con la esperanza de que lo descartase y siguiera,pero no , SE ATASCA Y HGAY SE QUEDA CON EL MISMO.
Aunque ahora acabo de descubrir que si en vez de ceros , ..pongo lo que me de la gana , entonces si los pasa.
si pruebo
1234956
toma como fija los 4 de alante y el resto los va cambiando , pero con los ceros no lo hacia.
wow, tenemos un problema de arrays. ves que bien? un esfuerzo extra, tiene su recompensa :D
hace eso que se vayan los wps fail? lo normal es tener eap fail nada mas, porque los pines son incorrectos.
-
dont worry brian, to ease your participation I will isolate bug descriptions and file them into github's repo, which is what we should do.
as I'm the bilingual guy here, I'll take care of that.
you already have the issue at GH
take it easy everyone :)
-
SITUACION REAL
usando 7 digitos para pin directo siendo el bueno.
Por consola...
PIN : '88202907'
PERO , el fichero run
88202900:88202900:0:PASSSSSSSSSSS:
se que se hablo de que se describia hay el ritmo del ataque para saber por donde va bully.
---------------
¿ por que cuando se obtiene la key no se vuelca a un fichero distinro que no lleve a estas confusiones ?
lo mismo que el .run , pero .key con pin y key nada mas ...como en la consola.
-
si, el fichero run no está hecho para que los humanos lo entiendan. brian ya lo ha comentado en el github un par de veces.
en aquel momento brian diseñó bully para optimizar al máximo los recursos dentro de una plataforma embedded y no cuidó otras cosas como la documentación.
si pudieras visitar github, leer el codigo y hacerte una idea, lo veras mas claro.
ves ese cero suelto despues?
ese cero suelto despues quiere decir algo asi como:
"no se ha utlizado el parámetro -B"
por lo tanto el ultimo cero de 88202900 es irrelevante.
seria estúpido almacenar en un fichero un dato que em realidad es producto de un cálculo. especialmente en c/c++, donde todo se lee mediante posiciones y cada byte que se carga en memoria es un gasto.
ya te digo que buceas en el código, te vas haciendo ideas, seguro. igual que ya intuyes cosas en el kernel.
-
¿ por que cuando se obtiene la key no se vuelca a un fichero distinro que no lleve a estas confusiones ?
por el mismo motivo: un programa hecho por un programador, para sí mismo, sin idea inicial de que saliera al publico, y optimizado para embedded donde el espacio de almacenamiento es un lujo.
ahora estamos todos involucrados en el proceso de adaptacion.
-
root@cracker:~/.bully# bully ath1 -e hackme -c 6 -p 1234000 -F
[+] Switching interface 'ath1' to channel '6'
[!] Starting pin specified, defaulting to sequential mode
[!] Using '70:de:e2:d9:18:27' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from 'hackme' on channel '6'
[+] Got beacon for 'hackme' (00:14:bf:xx:xx:xx)
[!] Restoring session from '/root/.bully/00:14:bf:xx:xx:xx.run'
[!] WARNING: WPS checksum was bruteforced in prior session, now autogenerated
[+] Index of starting pin number is '1234000'
[+] Last State = 'NoAssoc' Next pin '12340002'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340019'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340026'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340033'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340040'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340057'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340064'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340071'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340088'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340095'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340101'
^C
Saved session to '/root/.bully/00:14:bf:xx:xx:xx.run'
The pin for this AP is 12345670.
root@cracker:~/.bully# bully ath1 -e hackme -c 6 -p 12340000 -BF
[+] Switching interface 'ath1' to channel '6'
[!] Starting pin specified, defaulting to sequential mode
[!] Using '70:de:e2:d9:18:27' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from 'hackme' on channel '6'
[+] Got beacon for 'hackme' (00:14:bf:xx:xx:xx)
[!] Restoring session from '/root/.bully/00:14:bf:xx:xx:xx.run'
[!] WARNING: WPS checksum was autogenerated in prior session, now bruteforced
[+] Index of starting pin number is '12340000'
[+] Last State = 'NoAssoc' Next pin '12340000'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340001'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340002'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340003'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340004'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340005'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340006'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '12340007'
^C
Saved session to '/root/.bully/00:14:bf:xx:xx:xx.run'
root@cracker:~/.bully# bully ath1 -e hackme -c 6 -p 12345670 -BF
[+] Switching interface 'ath1' to channel '6'
[!] Starting pin specified, defaulting to sequential mode
[!] Using '70:de:e2:d9:18:27' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from 'hackme' on channel '6'
[+] Got beacon for 'hackme' (00:14:bf:xx:xx:xx)
[!] Restoring session from '/root/.bully/00:14:bf:xx:xx:xx.run'
[+] Index of starting pin number is '12345670'
[+] Last State = 'NoAssoc' Next pin '12345670'
[*] Pin is '12345670', key is 'hackable'
Saved session to '/root/.bully/00:14:bf:xx:xx:xx.run'
PIN : '12345670'
KEY : 'hackable'
root@cracker:~/.bully#
Searching last part just fine. Sequentially, not random because -p defaults to sequential.
So I am confused. This is latest (svn 15.)
-
brian.
I 'm also unable to reproduce the error.
But cristi28 and usuarionuevo seem to suffer it.
chicos, podéis pasar un log completo de lo que sucede en el terminal al ejecutar bully, así como el comando utilizado con los parámetros?
-
bully -b XX:XX:XX:XX:XX:XX -p 1234000 -c 1 mon0
Get this ... Pin is with 1234000 fixed , and only add the final number "2"
(http://imageshack.us/a/img443/3086/mxpg.png)
[/quote
pon despues de pin -B y te funciona i el pin lo pones con -p
(http://imageshack.us/a/img694/5903/bfz9.png)
"Timeout" no tiene nada que ver con hasta qué punto la AP es. Es la forma en la AP es LENTA.
¿Has probado:
bully -b XX:XX:XX:XX:XX:XX -p 1234000 -c 1 -a 50 -m 5000 -t 2000mon0
-
I try now a new attent.
I think its posibble a fail , because i get in .bully , a older pins file ...and its not the same..all ramdom , or -p
I try and comment in a few.
_____________
I got it ,
I claer the .bully directory
i use -p 1234000
and now works perfectly.
12340001
12340002
12340003
;)
-
please remember to start all over from scratch (deleting/moving pin/run files) since those files' structure is not backwards-compatible any further
-
WTF X2
/root/.bully clenly directory ..and .... FAIL ...ever test at the same enviroment . .card and ap.
(http://imageshack.us/a/img571/5932/3kmh.png)
-
FINALLY I GOT ;D
To secuential need a 8 digits ...
our 4 first and 0000
12340000 , bully test 12340000 to 12349999
BUT , HERE IS THE CONFUSION
If bully , try
12340000 and no got an M7, then , the 4 first digist are invalid and automatically discard,and try randomize de 4 first ,because see , no got an M7.
When try secuence whin a nice 4 digits , only in this case bully continue in secuency mode and no ramdomize.
I think its a nice work , because some people try whit a not knowed 4 first digits , and ends whit a fail attack ( in revaer got this and ends in a 99 forever task because when put a 4 first digits fixed ...and no got an M7 , reaver continue ...FOR NOTHING.)
__________________
Resumen , para fijar los 4 primeros debemos rellenar CoN 4 ceros , pero si los 4 primeros no son los buenos ,entonces se da cuenta y pasa a otra cosa mariposa. >:( , se acabo el problema del 99% >:(
-
You got it now ;D
-
Algunas discusiones sobre horarios en GitHub:
https://github.com/bdpurcell/bully/issues/17
-
FINALLY I GOT ;D
To secuential need a 8 digits ...
our 4 first and 0000
12340000 , bully test 12340000 to 12349999
BUT , HERE IS THE CONFUSION
If bully tryes
12340000 and no got an M7, then the 4 first digist are invalid and automatically discardes,and try randomize the 4 first, because as we can see, did'nt got a valid M7.
exactly
When bully tries a secuence with the correct first 4 digits, only in this case bully will continue in secuential mode and no ramdomization.
exactly
I think its a good work, because some people try with unkwnon first 4 digits, and ends up whit a failed attack (in reaver, when this happens, we end up stuck in a 99% loop forever because when we provide the 4 first digits and we want them to be locked ...in case we got no valid M7 , reaver continues locking them... USELESSLY)
exactly. hence that's why I propposed Brian to deliberately throw error messages and terminate program when provided values are wrong. But, at this moment, bully decides to "UNLOCK" the first 4 digits, since they are wrong. Both approaches are far better than reaver's :)
__________________
Resumen , para fijar los 4 primeros debemos rellenar CoN 4 ceros , pero si los 4 primeros no son los buenos ,entonces se da cuenta y pasa a otra cosa mariposa. >:( , se acabo el problema del 99% >:(
el error de heffner y su equipo al diseñar reaver fué suponer que el usuario nunca se equivoca. pero sí que se equivoca. por tanto, tienes que comprobarlo todo y no asumir nunca nada. es muy sencillo descubrir que el primer trozo de pin proporcionado por el usuario es incorrecto. en ese caso, puedes decidir detener el programa o bien desobedecer al usuario para no hacerle perder el tiempo con combinaciones imposibles.
-
Hola, tengo problemas con bully, tengo 2 routers y el mismo problema con los 2 routers. Sin embargo con otros router no tengo ese problema.
Uno es el NETGEAR WNR3500Lv2 (http://support.netgear.com/product/WNR3500Lv2) y otro el Zaapa ZW-BR11NT (http://www.redeszone.net/zaapa/zw-br11nt/).
El error es este:
wifislax ~ # bully -b 00:B0:0C:XX:XX:XX -c 1 -v 3 -N mon0
[+] Switching interface 'mon0' to channel '1'
[!] Using '00:1d:e0:80:d0:eb' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from '00:b0:0c:xx:xx:xx' on channel '1'
[+] Got beacon for 'GUEST' (00:b0:0c:xx:xx:xx)
[X] Beacon information element indicates WPS is not configured
wifislax ~ # bully -b 20:E5:2A:XX:XX:XX -c 11 -v 3 -N mon0
[+] Switching interface 'mon0' to channel '11'
[!] Using '00:1d:e0:80:d0:eb' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from '20:e5:2a:xx:xx:xx' on channel '11'
[+] Got beacon for 'PRIVATE' (20:e5:2a:xx:xx:xx)
[X] Beacon information element indicates WPS is not configured
wifislax ~ #
Bully no crea ningún log, solo muestra el error y se cierra.
wifislax ~ # ls -a $HOME/.bully/
./ ../
No creo que el problema esté relaccionado con mi tarjeta inalámbrica, pero por si a caso pongo información de esta:
wifislax ~ # lspci | grep Network
04:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
wifislax ~ # airmon-ng
Interface Chipset Driver
wlan0 Intel 4965AGN iwl4965 - [phy1]
wifislax ~ # iwconfig
wlan0 IEEE 802.11abgn ESSID:off/any
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=15 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
lo no wireless extensions.
eth0 no wireless extensions.
wifislax ~ # ifconfig
eth0 Link encap:Ethernet HWaddr 90:E6:BA:F1:3E:F7
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:296 errors:0 dropped:0 overruns:0 frame:0
TX packets:296 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:22792 (22.2 Kb) TX bytes:22792 (22.2 Kb)
wlan0 Link encap:Ethernet HWaddr 00:1D:E0:80:D0:EB
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:98 errors:0 dropped:0 overruns:0 frame:0
TX packets:142 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42856 (41.8 Kb) TX bytes:27312 (26.6 Kb)
Saludos.
-
Hola, tengo problemas con bully, tengo 2 routers y el mismo problema con los 2 routers. Sin embargo con otros router no tengo ese problema.
Uno es el NETGEAR WNR3500Lv2 (http://support.netgear.com/product/WNR3500Lv2) y otro el Zaapa ZW-BR11NT (http://www.redeszone.net/zaapa/zw-br11nt/).
el mensaje de error indica que wps está desactivado en estado no inicializado (no es lo mismo)
[X] Beacon information element indicates WPS is not configured
inicializa la configuracion WPS asignando un pin, y listo.
-
Hola, tengo problemas con bully, tengo 2 routers y el mismo problema con los 2 routers. Sin embargo con otros router no tengo ese problema.
Uno es el NETGEAR WNR3500Lv2 (http://support.netgear.com/product/WNR3500Lv2) y otro el Zaapa ZW-BR11NT (http://www.redeszone.net/zaapa/zw-br11nt/).
el mensaje de error indica que wps está desactivado en estado no inicializado (no es lo mismo)
[X] Beacon information element indicates WPS is not configured
inicializa la configuracion WPS asignando un pin, y listo.
Ya tiene un PIN asignado, además reaver me saca la clave a la primera, eso solo me sucede con bully.
-
Hola, tengo problemas con bully, tengo 2 routers y el mismo problema con los 2 routers. Sin embargo con otros router no tengo ese problema.
Uno es el NETGEAR WNR3500Lv2 (http://support.netgear.com/product/WNR3500Lv2) y otro el Zaapa ZW-BR11NT (http://www.redeszone.net/zaapa/zw-br11nt/).
el mensaje de error indica que wps está desactivado en estado no inicializado (no es lo mismo)
[X] Beacon information element indicates WPS is not configured
inicializa la configuracion WPS asignando un pin, y listo.
Ya tiene un PIN asignado, además reaver me saca la clave a la primera, eso solo me sucede con bully.
**DRIFFFFTTTTTT**
WTF?
si puedes, pasame un fichero CAP donde única y exclusivamente se vean señales baliza de es red, no hace falta ni siquiera que estés dentro.
quizás bully hace parsing incorrecto de las cabeceras WPS
-
Hola, tengo problemas con bully, tengo 2 routers y el mismo problema con los 2 routers. Sin embargo con otros router no tengo ese problema.
Uno es el NETGEAR WNR3500Lv2 (http://support.netgear.com/product/WNR3500Lv2) y otro el Zaapa ZW-BR11NT (http://www.redeszone.net/zaapa/zw-br11nt/).
ū
el mensaje de error indica que wps está desactivado en estado no inicializado (no es lo mismo)
[X] Beacon information element indicates WPS is not configured
inicializa la configuracion WPS asignando un pin, y listo.
Ya tiene un PIN asignado, además reaver me saca la clave a la primera, eso solo me sucede con bully.
**DRIFFFFTTTTTT**
WTF?
si puedes, pasame un fichero CAP donde única y exclusivamente se vean señales baliza de es red, no hace falta ni siquiera que estés dentro.
quizás bully hace parsing incorrecto de las cabeceras WPS
Te la he enviado por MP.
-
I pushed a new version of bully to github Wed Sep 26
Packet timings are now automatic.
Feedback is welcome!
B
-
I pushed a new version of bully to github Wed Sep 26
Packet timings are now automatic.
Feedback is welcome!
B
Parece que bully viene para quedarse.
Enviado desde Tapaltak 4
-
Revision 19 , y eso que ayer baje la 18 ;D
esta parece que va mejor todavia.
-
Brian,
I owe you a loooong email since sunday. So sorry we couln't make a conference to talk about business and hobbies ;)
I'm trying to keep track as much as I can!
Trying to answer you today ok!?
-
Revision 19 , y eso que ayer baje la 18 ;D
esta parece que va mejor todavia.
lo que ha hecho brian es implementar una inteligencia en bully que se encarga de "calibrar" los tiempos de respuesta de todo.
esto, como él dice, dejaría años luz atrás a reaver.
la cosa se pone interesante, verdad? :)
idlo probadlo, yo estoy encargándome de la traducción al castellano y de seguir poniendo ideas locas encima de la mesa. brian no desaprovecha ninguna! jejeje
-
el otro dia hice una prueba sobre mi nuevo ap "saco de boxeo" ...y quede un poco extrrañado , tengo que volver a probar ..pero
reaver saco el pin en 1 hora 15 segundos
bully ... 15 minutos ...
es imposible.
tengo que volver a probar..si bien el pin empieza bajito 2xxxxxxxx y eso podria haber influido.
-
Brian,
I owe you a loooong email since sunday. So sorry we couln't make a conference to talk about business and hobbies ;)
I'm trying to keep track as much as I can!
Trying to answer you today ok!?
No problem. It is good to be busy, my friend!
Parece que bully viene para quedarse.
Correct!
-
Parece que bully viene para quedarse.
Correct!
I think around a simply script , to want new code on svn , and auto download & compile ;D
-
Parece que bully viene para quedarse.
Correct!
I think around a simply script , to want new code on svn , and auto download & compile ;D
[/quote]
well, I think I could take care of this. Quite simple indeed.
-
Parece que bully viene para quedarse.
Correct!
I think around a simply script , to want new code on svn , and auto download & compile ;D
Yo ya había pensado en añadir esa función al script BullyWPSdialog, el script compararía la versión instalada con la versión de github y en caso de existir una nueva versión, descargarla y compilarla automáticamente.
El problema es que no encuentro la forma de saber que versión de bully tengo instalada :-\
-
Parece que bully viene para quedarse.
Correct!
I think around a simply script , to want new code on svn , and auto download & compile ;D
Yo ya había pensado en añadir esa función al script BullyWPSdialog, el script compararía la versión instalada con la versión de github y en caso de existir una nueva versión, descargarla y compilarla automáticamente.
El problema es que no encuentro la forma de saber que versión de bully tengo instalada :-\
ups...
Brian, could you make a quick-and-dirty update in order to include version number into a header and print it using "bully -V" or something like that so our script-making friends could check out version quickly and easily?
-
Parece que bully viene para quedarse.
Correct!
I think around a simply script , to want new code on svn , and auto download & compile ;D
Yo ya había pensado en añadir esa función al script BullyWPSdialog, el script compararía la versión instalada con la versión de github y en caso de existir una nueva versión, descargarla y compilarla automáticamente.
El problema es que no encuentro la forma de saber que versión de bully tengo instalada :-\
cierto , la instalada no la sabes ...a menos que consultes el log del paquete ..como hago yo con wireshark.
-
grep bully-svn_revision_ /var/log/packages/* | head -n1 | cut -d- -f3- | cut -d " " -f 7
y de hay cortas lo que quieras ;D
mejor todabia
grep bully-svn_revision_ /var/log/packages/* | head -n1 | cut -d- -f3- | cut -d " " -f 7 | cut -c 20-21
-
Tambiñen podría hacerlo así, aunque si alguien lo instala por su cuenta no quedaría reflejado en el log de pauete.
Si Brian añade la opción de consultar la versión mejor que mejor :D
-
Parece que bully viene para quedarse.
Correct!
I think around a simply script , to want new code on svn , and auto download & compile ;D
Yo ya había pensado en añadir esa función al script BullyWPSdialog, el script compararía la versión instalada con la versión de github y en caso de existir una nueva versión, descargarla y compilarla automáticamente.
El problema es que no encuentro la forma de saber que versión de bully tengo instalada :-\
ups...
Brian, could you make a quick-and-dirty update in order to include version number into a header and print it using "bully -V" or something like that so our script-making friends could check out version quickly and easily?
No problem. Give me a day or two
-
Parece que bully viene para quedarse.
Correct!
I think around a simply script , to want new code on svn , and auto download & compile ;D
Yo ya había pensado en añadir esa función al script BullyWPSdialog, el script compararía la versión instalada con la versión de github y en caso de existir una nueva versión, descargarla y compilarla automáticamente.
El problema es que no encuentro la forma de saber que versión de bully tengo instalada :-\
ups...
Brian, could you make a quick-and-dirty update in order to include version number into a header and print it using "bully -V" or something like that so our script-making friends could check out version quickly and easily?
No problem. Give me a day or two
Finally ;D
Thanks ¡¡
Ya tengo mi cutre script ... lo publicare en desarrollo... me he limitado solo a comparar versiones, ...y avisar , si el usuario lo decide , se creara un xzm con la version svn , pero no se instalara.
asi pues queda un xzm , que el usuario instalara si lo usa en hd y si no lo llevara a modules y punto.
-
Parece que bully viene para quedarse.
Correct!
I think around a simply script , to want new code on svn , and auto download & compile ;D
Yo ya había pensado en añadir esa función al script BullyWPSdialog, el script compararía la versión instalada con la versión de github y en caso de existir una nueva versión, descargarla y compilarla automáticamente.
El problema es que no encuentro la forma de saber que versión de bully tengo instalada :-\
ups...
Brian, could you make a quick-and-dirty update in order to include version number into a header and print it using "bully -V" or something like that so our script-making friends could check out version quickly and easily?
No problem. Give me a day or two
Finally ;D
Thanks ¡¡
Ya tengo mi cutre script ... lo publicare en desarrollo... me he limitado solo a comparar versiones, ...y avisar , si el usuario lo decide , se creara un xzm con la version svn , pero no se instalara.
asi pues queda un xzm , que el usuario instalara si lo usa en hd y si no lo llevara a modules y punto.
Added -V (--version) option to bully. Check out version 1.0-16 on github :)
Important note to script authors : Options --acktime (-a), --timeout (-t), and --m13time (-m) are deprecated. Bully will still accept them on the command line (I didn't want to break the scripts) but they are IGNORED and will be removed in a future revision.
Has anyone had time to test bully using the new throttling algorithm ?
Cheers!
B
-
you are awesome dudeeee!
thank you very much.
it's 1:30 am here and I have to go to sleep. tomorrow is a day for meetings and writings and keeping up with the pending jobs, including ours. I promiseeee
PD: so sorry I have not tested new version yet, I have spent all the day with two customers, and had no time for more
-
Fixed a small problem and updated README.md : See v1.0-17
@alist3r : No worries :)
-
Added -V (--version) option to bully. Check out version 1.0-16 on github
Gracias! >:(
-
version.h >:( >:( >:( >:( >:(
-
Muy guenas a tod@s !!
I testing bully using the new throttling algorithm in version v1.0-17.
I do not see anything unusual, there are no problems in my tests. I hope that does not appear any problem. >:(
-
Thanks buckynet! That's perfect. I always test everything first, but it's nice to have confirmation from others.
B
-
we neeed problematic routers to do the tests, since the non-problematic ones reflect the same behavior as usual.
my tests ended up with similar results.
I want to test the algrithm in more complex conditions, but I don't know what can I devise to do so.
Necesitamos a gente a la que tradicionalmente, bully no le haya funcionado correctamente debido a problemas de distintos tipos: atascado en el mismo PIN, errores WPSFail, etc
-
we neeed problematic routers to do the tests, since the non-problematic ones reflect the same behavior as usual.
my tests ended up with similar results.
I want to test the algrithm in more complex conditions, but I don't know what can I devise to do so.
Necesitamos a gente a la que tradicionalmente, bully no le haya funcionado correctamente debido a problemas de distintos tipos: atascado en el mismo PIN, errores WPSFail, etc
pues aqui tienes dos routers problematicos parese que el cambio de timeout automatico no va del todo bien ejemplos :
[!] Bully v1.0-18 - WPS vulnerability assessment utility
[+] Switching interface 'mon0' to channel '11'
[!] Using '00:11:22:33:44:55' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from 'f8:1b:fa:xx:xx:xx' on channel '11'
[+] Got beacon for 'MOVISTAR_XXXX' (f8:1b:fa:xx:xx:xx)
[+] Loading randomized pins from '/root/.bully/pins'
[!] Restoring session from '/root/.bully/f81bfaxxxxxx.run'
[!] WARNING: WPS checksum was bruteforced in prior session, now autogenerated
[!] WARNING: Randomized search requested but prior session was sequential
[+] Index of starting pin number is '1234567'
[+] Last State = 'NoAssoc' Next pin '42731689'
[+] Sent packet not acknowledged after 3 attempts
[+] Tx( ID ) = 'Timeout' Next pin '42731689'
[+] Rx( ID ) = 'Timeout' Next pin '42731689'
[+] Rx( Assn ) = 'Timeout' Next pin '42731689'
[!] Unexpected packet received when waiting for WPS Message
[!] >00001a002f480000472a7c0a0000000010029e09a000bd010000080a3a01001122334455f81bfaxxxxxxcc1afa56e528a016aaaa0300000086dd6000000000183afffe800000000000000000000000000001ff02000000000000000000000000000186008f154058001e00000000000000000101cc1afa56e528abc4c741<
[+] Rx(M2D/M3) = 'WPSFail' Next pin '42731689'
[+] Sent packet not acknowledged after 3 attempts
[+] Tx(DeAuth) = 'Timeout' Next pin '42731689'
[+] Rx( Assn ) = 'Timeout' Next pin '42731689'
[+] Sent packet not acknowledged after 3 attempts
[+] Tx(DeAuth) = 'Timeout' Next pin '42731689'
[+] Rx( Assn ) = 'Timeout' Next pin '42731689'
[+] Sent packet not acknowledged after 3 attempts
[+] Tx(DeAuth) = 'Timeout' Next pin '42731689'
[!] Unexpected packet received when waiting for WPS Message
[!] >00001a002f4800000b96e20a0000000010029e09a000c0010000080a3a01001122334455f81bfaxxxxxxcc1afa56e528f01baaaa0300000086dd6000000000183afffe800000000000000000000000000001ff02000000000000000000000000000186008f154058001e00000000000000000101cc1afa56e528f0ae4373<
[+] Rx(M2D/M3) = 'WPSFail' Next pin '42731689'
[+] Rx( Assn ) = 'Timeout' Next pin '42731689'
[+] Rx( ID ) = 'Timeout' Next pin '42731689'
[+] Rx( ID ) = 'Timeout' Next pin '42731689'
[+] Rx( Auth ) = 'Timeout' Next pin '42731689'
[+] Rx( Assn ) = 'Timeout' Next pin '42731689'
[+] Rx( Auth ) = 'Timeout' Next pin '42731689'
[+] Rx( Auth ) = 'Timeout' Next pin '42731689'
[+] Rx( Auth ) = 'Timeout' Next pin '42731689'
[+] Rx( Auth ) = 'Timeout' Next pin '42731689'
[+] Rx( Assn ) = 'Timeout' Next pin '42731689'
[+] Sent packet not acknowledged after 3 attempts
[+] Tx(DeAuth) = 'Timeout' Next pin '42731689'
[+] Sent packet not acknowledged after 3 attempts
[+] Tx(DeAuth) = 'Timeout' Next pin '42731689'
y la cosa cambia cuando ponemos el pin
[!] Bully v1.0-18 - WPS vulnerability assessment utility
[+] Switching interface 'mon0' to channel '11'
[!] Starting pin specified, defaulting to sequential mode
[!] Using '00:11:22:33:44:55' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from 'f8:1b:fa:xx:xx:xx' on channel '11'
[+] Got beacon for 'MOVISTAR_XXXX' (f8:1b:fa:xx:xx:xx)
[!] Restoring session from '/root/.bully/f81bfaxxxxxx.run'
[!] WARNING: WPS checksum was autogenerated in prior session, now bruteforced
[!] WARNING: Sequential search requested but prior session was randomized
[+] Index of starting pin number is '1234xxxx'
[+] Last State = 'NoAssoc' Next pin '1234xxxx'
[*] Pin is '1234xxxx', key is 'THSWzhLxxxxxxxxxxxxxx'
Saved session to '/root/.bully/f81bfaxxxxxx.run'
PIN : '1234xxxx'
KEY : 'THSWzhLxxxxxxxxxxxxxx'
ejemplo nr 2
primero con el pin
[!] Bully v1.0-18 - WPS vulnerability assessment utility
[+] Switching interface 'mon0' to channel '6'
[!] Starting pin specified, defaulting to sequential mode
[!] Using '00:11:22:33:44:55' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from 'bc:76:70:xx:xx:xx' on channel '6'
[+] Got beacon for 'FTE-XXXX' (bc:76:70:xx:xx:xx)
[!] Restoring session from '/root/.bully/bc7670xx:xx:xx.run'
[!] WARNING: WPS checksum was autogenerated in prior session, now bruteforced
[!] WARNING: Sequential search requested but prior session was randomized
[+] Index of starting pin number is '5999xx:xx:xx'
[+] Last State = 'NoAssoc' Next pin '5999xx:xx:xx'
[*] Pin is '5999xx:xx:xx', key is '5C215e19A1E6'
Saved session to '/root/.bully/bc7670xx:xx:xx.run'
PIN : '5999xx:xx:xx'
KEY : '5C21xxxxxxxxx'
y despues sin pin
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx(Beacon) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( ID ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Assn ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
[+] Rx( Auth ) = 'Timeout' Next pin '83423017'
^C
Saved session to '/root/.bully/bc7670xx:xx:xx.run'
son 2 aps diferentes uno FTE y el otro MOVISTAR pero seguro que hay mas
-
Donde puedo descargar la versión de bully en español? Me he bajado la última versión snv y al compilar no se crea el bully.es
Enviado desde el móvil
-
Brian está pasado su próxima versión de bully al sistema gettext.
Por tanto, en próximas versiónes se ofrecerá apoyo multiidioma.
Mientras tanto, yo he dejado de mantener la copia en castellano del código y me estaré encargando de crear y mantener un fichero "es.po" con todos los textos en español.
así evitamos mantener una copia separada del mismo programa traducido, que supondría duplicar trabajo y buscarse problemas de todo tipo.
De momento, esta última versión tendrás que volver a traducirla tú, si la necesitas.
Espero que en breve Brian integre al 100% el apoyo para gettext y bully presente los textos en el ingles o español de forma automática basándose en el "locale" de la sesión.
De ese modo, incluso podrás modificar los PO por tí mismo usando herramientas como PoEdit si no te gustan las propuestas de textos iniciales.
saludos
-
he actualizado el primer post con algunas peticiones de Brian.
nada que no fuera ya de sentido común.
Por favor, cuando informéis de posibles errores en BULLY, deberíais incluir los siguientes datos:
marca y modelo de dispositivo wifi utilizado. si es interno de un portatil, indicad marca y modelo de portatil.
el comando exacto que se está usando para lanzar bully
versión de bully (bully -V)
si el adaptador es PCI, adjuntad la salida del siguiente comando:
lspci -vvnnk
(solo la parte referente a vuestro adaptador, si aparece)
si el adaptador es USB (tanto externo como interno), adjuntad la salida del siguiente comando:
lsusb -v
(solo la parte referente a vuestro adaptador, si aparece)
si el adaptador es USB (tanto externo como interno), adjuntad la salida del siguiente comando:
lsmod
En caso de que no aportéis todos estos datos, se hace prácticamente imposible poder ayudaros a resolver vuestros problemas de uso o encontrar errores en el código.
Gracias
alist3r
-
Probando la compilacion de bully para openwrt (de jar229), obtengo este mensaje:
- Loading randomized pins from '/root/.bully/pins'
[X] Random pin file has incorrect size, exiting
Se ha corrompido el fichero de pins ?? Si no le hecho nada
-
No he dicho nada....lo borre y lo volvio a crear.
Sigo leyendo el hilo para saber porque no me cambia el PIN.
-
Hola! Estoy trabajando en una herramienta para automatizar ataques con bully, y me estoy encontrando un escollo bastante insalvable con el stdout de bully. (usando python)
Por lo visto, si se lanza desde la terminal muestra perfectamente la salida de la aplicación como cualquier programa, pero, tanto usando la opción -o para que derive la salida a un archivo de texto, como intentando parsear la stdout directamente, hay que esperar a que el programa termine su ejecución para poder obtener el contenido. Esto dificulta mucho el control sobre la aplicación, ya que no hay manera de pasar el feedback a la aplicación que ha de controlar el ataque.
Ejecutando otros comandos de ejecución continua como ping, top etc, puedo acceder facilmente a la salida del programa y capturarla, pero bully se me está poniendo cuesta ariiba...
¿Alguien ha tenido experiencias similares o sabe su arreglo? de momento ya le puse un ticket a bdpurcell en su repo, espero que le haga un poquito de caso...
-
Hola! Estoy trabajando en una herramienta para automatizar ataques con bully, y me estoy encontrando un escollo bastante insalvable con el stdout de bully. (usando python)
Por lo visto, si se lanza desde la terminal muestra perfectamente la salida de la aplicación como cualquier programa, pero, tanto usando la opción -o para que derive la salida a un archivo de texto, como intentando parsear la stdout directamente, hay que esperar a que el programa termine su ejecución para poder obtener el contenido. Esto dificulta mucho el control sobre la aplicación, ya que no hay manera de pasar el feedback a la aplicación que ha de controlar el ataque.
Ejecutando otros comandos de ejecución continua como ping, top etc, puedo acceder facilmente a la salida del programa y capturarla, pero bully se me está poniendo cuesta ariiba...
¿Alguien ha tenido experiencias similares o sabe su arreglo? de momento ya le puse un ticket a bdpurcell en su repo, espero que le haga un poquito de caso...
Yo me encontré con el mismo problema cuando estuve haciendo el script BullyWPSdialog, y al final lo que hice fue parsear el log de bully para salvar el pin y la clave obtenidos.
-
Yo me encontré con el mismo problema cuando estuve haciendo el script BullyWPSdialog, y al final lo que hice fue parsear el log de bully para salvar el pin y la clave obtenidos.
Por el log te refieres a la salida del stdout / -o ? o deja algun log de sistema?
Veo que tu script también tiene ese problema... en fin a ver si Brian me da una solución, porque veo inviable lanzar y matar bully cada minuto para sacar el log :/
La realidad es que necesito conocer dinámicamente como va el ataque, para ir ajustando tiempos de idle sobre la marcha, detectar EAP, llevar la cuenta de pins etc.
-
Yo me encontré con el mismo problema cuando estuve haciendo el script BullyWPSdialog, y al final lo que hice fue parsear el log de bully para salvar el pin y la clave obtenidos.
Por el log te refieres a la salida del stdout / -o ? o deja algun log de sistema?
Veo que tu script también tiene ese problema... en fin a ver si Brian me da una solución, porque veo inviable lanzar y matar bully cada minuto para sacar el log :/
La realidad es que necesito conocer dinámicamente como va el ataque, para ir ajustando tiempos de idle sobre la marcha, detectar EAP, llevar la cuenta de pins etc.
Para LINSET con wpa_supplicant haré eso, lanzar y matar cada X segundos xD
Salu2
Solo sé que no se nada...
-
Pues indagando algo por ahí, he encontrado el motivo, y una posible solución.
El motivo es que las aplicaciones desarrolladas con C Standard IO Library (todo lo que tenga #include <stdio.h>) tratan el buffer de salida en bloque, lo que se conoce como block-buffered.
Si el desarrollador no especifica cuando liberar buffer, el programa se lo guarda hasta fin de ejecución. Por lo visto es más eficiente que hacer aplicaciones unbuffered, es decir, con salida en tiempo real.
La solución pasa por utilizar expect unbuffer para forzar la ejecucion liberando el deadlock. http://linuxcommand.org/man_pages/unbuffer1.html
Para python por suerte existe una librería instalada por defecto en python, Pexpect, que tiene un método unbuffer para este tipo de tareas.
http://www.noah.org/wiki/Pexpect#Q%3a_Why_not_just_use_a_pipe_.28popen.28.29.29.3F
vk496 me temo que para mi es inviable matar cada poco, ya que voy a intentar rizar el rizo lanzando ataques múltiples simultaneos con bully, y necesito llevar un control férreo sobre los PID que ejecuto.
Alister, tú que tienes mano con Brian, podrías echar un cable ;D ;D
EDIT: confirmado que se debe al motivo que explico, y confirmado que mi script dispondrá de una killer feature: seguimiento en tiempo real de bully 8) ouyeah!
-
Pues indagando algo por ahí, he encontrado el motivo, y una posible solución.
El motivo es que las aplicaciones desarrolladas con C Standard IO Library (todo lo que tenga #include <stdio.h>) tratan el buffer de salida en bloque, lo que se conoce como block-buffered.
Si el desarrollador no especifica cuando liberar buffer, el programa se lo guarda hasta fin de ejecución. Por lo visto es más eficiente que hacer aplicaciones unbuffered, es decir, con salida en tiempo real.
La solución pasa por utilizar expect unbuffer para forzar la ejecucion liberando el deadlock. http://linuxcommand.org/man_pages/unbuffer1.html
Para python por suerte existe una librería instalada por defecto en python, Pexpect, que tiene un método unbuffer para este tipo de tareas.
http://www.noah.org/wiki/Pexpect#Q%3a_Why_not_just_use_a_pipe_.28popen.28.29.29.3F
vk496 me temo que para mi es inviable matar cada poco, ya que voy a intentar rizar el rizo lanzando ataques múltiples simultaneos con bully, y necesito llevar un control férreo sobre los PID que ejecuto.
Alister, tú que tienes mano con Brian, podrías echar un cable ;D ;D
EDIT: confirmado que se debe al motivo que explico, y confirmado que mi script dispondrá de una killer feature: seguimiento en tiempo real de bully 8) ouyeah!
No problem, I will fix this as soon as I have time. Give me a day or two, por favor.
I am curious if running multiple instances of bully will work!
B
-
Pues indagando algo por ahí, he encontrado el motivo, y una posible solución.
El motivo es que las aplicaciones desarrolladas con C Standard IO Library (todo lo que tenga #include <stdio.h>) tratan el buffer de salida en bloque, lo que se conoce como block-buffered.
Si el desarrollador no especifica cuando liberar buffer, el programa se lo guarda hasta fin de ejecución. Por lo visto es más eficiente que hacer aplicaciones unbuffered, es decir, con salida en tiempo real.
La solución pasa por utilizar expect unbuffer para forzar la ejecucion liberando el deadlock. http://linuxcommand.org/man_pages/unbuffer1.html
Para python por suerte existe una librería instalada por defecto en python, Pexpect, que tiene un método unbuffer para este tipo de tareas.
http://www.noah.org/wiki/Pexpect#Q%3a_Why_not_just_use_a_pipe_.28popen.28.29.29.3F
vk496 me temo que para mi es inviable matar cada poco, ya que voy a intentar rizar el rizo lanzando ataques múltiples simultaneos con bully, y necesito llevar un control férreo sobre los PID que ejecuto.
Alister, tú que tienes mano con Brian, podrías echar un cable ;D ;D
EDIT: confirmado que se debe al motivo que explico, y confirmado que mi script dispondrá de una killer feature: seguimiento en tiempo real de bully 8) ouyeah!
No problem, I will fix this as soon as I have time. Give me a day or two, por favor.
I am curious if running multiple instances of bully will work!
B
Already fixed via pexpect in python, see comments on github issue ;)
Thanks so much! >:(
https://foro.seguridadwireless.net/aplicaciones-y-diccionarios-linux/(desarrollo)-wps-qi-(wps-python-suite)/
-
por que mepone ap bloqueada espere 60 segundos pero no raciona como puedo evitarlo