O Bully é um excelente programa para auditoria sem fio: permite testar PINs WPS contra meu roteador ou ponto de acesso para que eu possa saber se é seguro o suficiente.
Exemplo:
$ sudo bully mon0 --bssid 11:22:33:44:55:66 -v 3 --bruteforce --pin 63370000
[!] Bully v1.0-22 - WPS vulnerability assessment utility
[+] Switching interface 'mon0' to channel '6'
[!] Using 'AA:BB:CC:DD:EE:FF' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from '11:22:33:44:55:66' on channel '6'
[+] Got beacon for 'NoamChomsky' (11:22:33:44:55:66)
[+] Loading randomized pins from '/root/.bully/pins'
[+] Index of starting pin number is '6337228'
[+] Last State = 'NoAssoc' Next pin '85389380'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '75329389'
[+] Rx( M5 ) = 'Pin1Bad' Next pin '99129385'
...
^C
Saved session to '/root/.bully/112233445566.run'
como você vê (observe a referência a "pinos randomizados"), os PINs são verificados calculando-os de acordo com a especificação WPS (para que eles pareçam não ter uma ordenação lógica).
Se eu quiser continuar o teste, não há problema: a mesma linha de comando gera automaticamente:
$ sudo bully mon0 --bssid 11:22:33:44:55:66 -v 3
[!] Restoring session from '/root/.bully/112233445566.run'
...
^C
Mas às vezes a parte interessante é não manter a especificação WPS para PINs de 8 dígitos (algo sobre checksums e assim por diante), mas testá-los todos (também conhecido como modo bruteforce). >
Exemplo (observe a referência a "modo sequencial") a partir do PIN 63370000
:
$ sudo bully mon0 --bssid 11:22:33:44:55:66 -v 3 --bruteforce --pin 63370000
[!] Bully v1.0-22 - WPS vulnerability assessment utility
[+] Switching interface 'mon0' to channel '6'
[!] Starting pin specified, defaulting to sequential mode
[!] Using 'AA:BB:CC:DD:EE:FF' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from '11:22:33:44:55:66' on channel '6'
[+] Got beacon for 'NoamChomsky' (11:22:33:44:55:66)
[+] Index of starting pin number is '63370000'
[+] Last State = 'NoAssoc' Next pin '63370000'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '63370001'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '63370002'
^C
Saved session to '/root/.bully/8c0ca32a2751.run'
E aí vem o problema, porque se o teste for abortado (ou desconectado, ou o computador travar ... etc) e eu desejar continuar mais tarde:
$ sudo bully mon0 --bssid 11:22:33:44:55:66 -v 3 --bruteforce --pin 63370000
[!] Bully v1.0-22 - WPS vulnerability assessment utility
[+] Switching interface 'mon0' to channel '6'
[!] Starting pin specified, defaulting to sequential mode
[!] Using 'AA:BB:CC:DD:EE:FF' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from '11:22:33:44:55:66' on channel '6'
[+] Got beacon for 'NoamChomsky' (11:22:33:44:55:66)
[!] Restoring session from '/root/.bully/8c0ca32a2751.run'
[+] Index of starting pin number is '63370000'
[+] Last State = 'NoAssoc' Next pin '63370000'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '63370001'
[+] Rx( M7 ) = 'Pin2Bad' Next pin '63370002'
Parece que (note a sequência reiniciando de 63370000
) o Restoring session from
não está se comportando como deveria .
A parte estranha é que testar o espectro completo de números pode facilmente durar horas ou mesmo dias, então restaurar a tarefa é uma questão importante aqui.
O que posso fazer para continuar o teste de PINs do WPS a partir do ponto em que o programa parou na última vez?