Este artigo tem o objetivo de demonstrar, passo a passo, como descobrir senhas Wi-Fi utilizando o Reaver, explorando uma vulnerabilidade do protocolo WPS.
A finalidade deste artigo, é apenas didática. Como todos aqui sabem, invasão é crime e o autor pode responder e pegar até 1 ano de prisão (mais detalhes aqui).
Todos os testes foram feitos em minha rede particular. Não me responsabilizo pelo mau uso do mesmo.
Utilizei o Ubuntu 13.10.
O que é Reaver?
Reaver é uma ferramenta que pode ser utilizada para explorar uma
vulnerabilidade do protocolo WPS, utilizado pelas chaves do tipo WPA e WPA2, a fim de resgatar a senha configurada no aparelho roteador.
Ele realiza um ataque de brute force sobre o código PIN do roteador que é composto por 8 caracteres numéricos, onde o último é apenas um dígito de validação composto pela soma dos primeiros.
O PIN code é uma identificação numérica do router. Informando esse código corretamente para o roteador, ele informa qual a senha e SSID configurados no equipamento, ou seja, o ataque consiste em capturarmos o PIN code para depois obtermos a senha, independente de sua complexidade.
A falha no protocolo WPS e a consequente redução de possibilidades numéricas, torna possível recuperar a senha entre 4 e 10 horas, após um certo número de combinações do código PIN.
Se o ataque de força bruta fosse aplicado diretamente sobre a senha, dependendo de sua complexidade, poderia demorar semanas, até que a senha fosse quebrada, isso se ela existir em seu dicionário. Neste caso, como o ataque é feito no PIN code, a complexidade da senha não interfere no tempo de resposta do resultado final.
Método de defesa
A melhor contramedida que pode ser adotada para evitar este tipo de ataque, é desabilitar o protocolo WPS ou utilizar firmwares atualizados que limitem as mensagens trocadas entre o AP e os destinatários, bloqueando a troca de pacotes após um certo número de tentativas.
[3] Comentário enviado por px em 30/07/2014 - 18:38h
Penso que em:
"Método de defesa
A melhor contramedida que pode ser adotada para evitar este tipo de ataque, é desabilitar o protocolo WPS ou utilizar firmwares atualizados que limitem as mensagens trocadas entre o AP e os destinatários, bloqueando a troca de pacotes após um certo número de tentativas. "
Deveria ser implementado o controle do MAC atrelado ao IP na rede local, além das opções acima, e um DHCP bem configurado ajudariam muito nessa mitigação tanto desse ataque como de vários outros.
No mais o artigo esta bem simples e direto, como se propôs... parabéns.
[4] Comentário enviado por ednux em 30/07/2014 - 21:40h
Na primeira vez não funcionou para mim, deu error: "WPS transaction failed (code: 0x02), re-trying last pin" porque o WPS estava desativado. Mas depois de ativar ele, para o teste, o reaver descobriu a senha em 3 segundos. '-'
[+] Pin cracked in 3 seconds
Deve ser porque o meu modem ativa um pin padrão na configuração automática.... checando essas configurações ainda pude perceber que eu estava utilizando WPA, ao invés de WPA2 e.e
[5] Comentário enviado por removido em 31/07/2014 - 00:54h
Uma dúvida:
Estando com endereços MAC de apenas 3 dispositivos configurados para somente estes poderem usar minha Wireless, ainda sim seria possível usar este método?
Não sei se alguém aqui sabe, mas impressoras Wireless da HP só funcionam no protocolo WPS habilitado.
Dependendo da resposta, vou desabilitar esse "tropeço" da HP!
[6] Comentário enviado por cgentil em 31/07/2014 - 01:04h
[3] Comentário enviado por px em 30/07/2014 - 18:38h:
Penso que em:
"Método de defesa
A melhor contramedida que pode ser adotada para evitar este tipo de ataque, é desabilitar o protocolo WPS ou utilizar firmwares atualizados que limitem as mensagens trocadas entre o AP e os destinatários, bloqueando a troca de pacotes após um certo número de tentativas. "
Deveria ser implementado o controle do MAC atrelado ao IP na rede local, além das opções acima, e um DHCP bem configurado ajudariam muito nessa mitigação tanto desse ataque como de vários outros.
No mais o artigo esta bem simples e direto, como se propôs... parabéns.
Obrigado px, vc tem razão, essa é mais uma forma de evitar esse tipo de ataque, mas tudo tem suas vantagens e desvantagens. A desvantagem de utilizar o cadastro MAC é quando chegar uma visita na sua casa, por exemplo, e quiser conectar o celular na sua internet, aí vai precisar pegar o mac do aparelho, cadastrar.. enfim, um pouco mais trabalhoso, mas sem dúvida é mais seguro. Valeu por lembrar!
[7] Comentário enviado por cgentil em 31/07/2014 - 01:07h
[4] Comentário enviado por ednux em 30/07/2014 - 21:40h:
Na primeira vez não funcionou para mim, deu error: "WPS transaction failed (code: 0x02), re-trying last pin" porque o WPS estava desativado. Mas depois de ativar ele, para o teste, o reaver descobriu a senha em 3 segundos. '-'
[+] Pin cracked in 3 seconds
Deve ser porque o meu modem ativa um pin padrão na configuração automática.... checando essas configurações ainda pude perceber que eu estava utilizando WPA, ao invés de WPA2 e.e
Parabéns pelo artigo.
Valeu ednux! gostei do seu comentário.. esse erro transaction failed.., re-trying last pin, também pode ocorrer se o sinal estiver baixo. Qualquer perda mínima de pacote já é suficiente para falhar o processo.
[8] Comentário enviado por cgentil em 31/07/2014 - 01:11h
[5] Comentário enviado por izaias em 31/07/2014 - 00:54h:
Uma dúvida:
Estando com endereços MAC de apenas 3 dispositivos configurados para somente estes poderem usar minha Wireless, ainda sim seria possível usar este método?
Não sei se alguém aqui sabe, mas impressoras Wireless da HP só funcionam no protocolo WPS habilitado.
Dependendo da resposta, vou desabilitar esse "tropeço" da HP!
Izaias, nesse caso, será possível descobrir a senha sim, porém não será possível conectar se o endereço MAC não estiver cadastrado no seu router, mas atenção para um ponto: Se sua senha de conexão for a mesma do admin do router, aí é possível que o invasor acesse as configurações e cadastre o próprio MAC ;)
[9] Comentário enviado por removido em 31/07/2014 - 01:36h
[8] Comentário enviado por cgentil em 31/07/2014 - 01:11h:
Izaias, nesse caso, será possível descobrir a senha sim, porém não será possível conectar se o endereço MAC não estiver cadastrado no seu router, mas atenção para um ponto: Se sua senha de conexão for a mesma do admin do router, aí é possível que o invasor acesse as configurações e cadastre o próprio MAC ;)
Não, a senha é diferente.
Mas mesmo assim você me assustou. :)
Vou desabilitar o WPS e usar a HP somente via cabo.
Isso é um erro da HP!
Se estiverem interessados, segui esta matéria do Olhar Digital para configurar minha rede:
[14] Comentário enviado por lilianalcantara em 13/08/2014 - 04:09h
[12] Comentário enviado por cgentil em 12/08/2014 - 13:40h:
[11] Comentário enviado por lilianalcantara em 12/08/2014 - 03:23h:
lilha@Cafe:~$sudo airodump-ng mon0
Interface mon0:
ioctl(SIOCGIFINDEX) failed: No such device
Acontece quando vc não tem a interface mon0. Sua placa de rede wi-fi pode estar desligada ou não existe. (confira com iwconfig)
opa... pois é aparece:
"ERRO ao obter marcadores da interface: Dispositivo inexistente"
minha placa está ligada, estou conectada por wi-fi, quando estava fazendo o teste desconectei da internet (mas seguia visualizando todas as redes disponíveis) e tentei atacar meu próprio modem, vou tentar configurar a interface aqui... vlw, ótimo artigo! principalmente por explicar o que é o que nos códigos, sinto falta disso em muitos artigos, com isto vamos aprendendo a nos virar sozinhos sem precisar códigos prontos toda vez...
[16] Comentário enviado por cgentil em 19/08/2014 - 16:23h
[15] Comentário enviado por Eveline-12738 em 19/08/2014 - 08:45h:
alguem ai sabe o comando que devo executar se eu ja tiver o pin???
Eveline, se vc der um $man reaver vc vai ver que tem a possibilidade de informar o pin como parâmetro também através do -p
Não cheguei usar esse comando, mas tenta aí e fala pra gente se deu certo ;)
valew!
[18] Comentário enviado por cgentil em 20/08/2014 - 13:59h
[17] Comentário enviado por lilianalcantara em 20/08/2014 - 12:49h:
ainda não consegui resolver com iwconfig aparece q não há wireless em eth0
Lilian, a interface wireless deve aparecer como wlan0. A eth0 é cabeada, entendeu?
Vc está usando maquina virtual? Se for virtual é outro esquema, pq a wlan0 não vai aparecer por padrão. Será preciso configurar.
[19] Comentário enviado por djricardopl em 20/08/2014 - 14:14h
ola galera estou usando o backtrack 5 r2
e reaver 1.4 esta tudo ok consegui fazer rodar tudo blz mas no final ele me da um pim e uma senha gigante e nao conecta oque fazer
[20] Comentário enviado por cgentil em 20/08/2014 - 14:21h
[19] Comentário enviado por djricardopl em 20/08/2014 - 14:14h:
ola galera estou usando o backtrack 5 r2
e reaver 1.4 esta tudo ok consegui fazer rodar tudo blz mas no final ele me da um pim e uma senha gigante e nao conecta oque fazer
Eu não cheguei ver esse tipo de caso. Talvez essa senha gigante esteja criptografada. Se o AP tiver bloqueio por MAC vc tb não vai conseguir conectar.
[24] Comentário enviado por cgentil em 08/10/2014 - 10:14h
[22] Comentário enviado por Fabianoshz em 25/09/2014 - 16:43h:
Como eu faço esse teste de forma incremental?
Queria testar no meu roteador, pra saber quantos % faltam pra ele chegar no último PIN e poder estimar qual é o tempo máximo que demora na minha rede.
Fabiano, não sei se da pra ter ideia de tempo, pois a velocidade pode variar de acordo com o nível de sinal, mas de qualquer forma, durante o ataque ele vai mostrando a porcentagem na tela. Eu naõ tive experiência com mais de 5 horas para o término.
Espero que tenha ajudado.
Abs
[25] Comentário enviado por cgentil em 08/10/2014 - 10:19h
[23] Comentário enviado por DarkS666 em 08/10/2014 - 09:14h:
Mano é necessáriamente e preciso estar conectado a rede para poder quebrá-la ou não ?
Cara, não... tanto que se vc precisasse estar conectado, acho que não faria sentido você descobrir a senha, pois teoricamente, se estiver conectado é porque vc ja sabe ;)
Somente o sinal precisa estar bom, a senha precisa estar em WPA ou WPA2 e o router não pode ter o recurso que limite as mensagens trocadas entre o AP e os destinatários, como descrevi no modo de defesa, pois caso contrário, após algumas tentativas o router vai parar de responder.
Abs
[26] Comentário enviado por lucashferreira em 11/10/2014 - 14:28h
Estava lendo os comentários e vi que alguma outra pessoa teve o mesmo erro que o meu.
O erro é: WARNING: Failed to associate with64:66:B3:84:62:DE (ESSID: (null))
Você disse que poderia ser que a rede esta com sinal fraco, mas no meu caso o sinal está forte e mesmo assim persiste o erro. Estou usando ubuntu 14.04 em um notebook.
[28] Comentário enviado por guilhermefisico em 16/11/2014 - 16:50h
No meu da isso:
[+] Switching mon0 to channel 1
[+] Switching mon0 to channel 2
[+] Switching mon0 to channel 3
[+] Switching mon0 to channel 4
[+] Switching mon0 to channel 5
[+] Switching mon0 to channel 6
[+] Switching mon0 to channel 7
[+] Switching mon0 to channel 8
[+] Switching mon0 to channel 9
[+] Switching mon0 to channel 10
[+] Switching mon0 to channel 11
[+] Switching mon0 to channel 12
[+] Switching mon0 to channel 13
[+] Switching mon0 to channel 14
Está assim a umas duas horas, isso é normal?
[30] Comentário enviado por cgentil em 09/12/2014 - 16:27h
[28] Comentário enviado por guilhermefisico em 16/11/2014 - 16:50h:
No meu da isso:
[+] Switching mon0 to channel 1
[+] Switching mon0 to channel 2
[+] Switching mon0 to channel 3
[+] Switching mon0 to channel 4
[+] Switching mon0 to channel 5
[+] Switching mon0 to channel 6
[+] Switching mon0 to channel 7
[+] Switching mon0 to channel 8
[+] Switching mon0 to channel 9
[+] Switching mon0 to channel 10
[+] Switching mon0 to channel 11
[+] Switching mon0 to channel 12
[+] Switching mon0 to channel 13
[+] Switching mon0 to channel 14
Está assim a umas duas horas, isso é normal?
Isso já aconteceu comigo ao tentar scanear uma rede de celular. Talves seja um AP de aparelho celular.
[34] Comentário enviado por edrsantos em 08/02/2015 - 20:20h
[33] Comentário enviado por LuizJolo em 31/01/2015 - 11:17h
o meu fica testando sempre com PIN 12345670
ele não altera nas tentativas é normal?
o meu tbm fica assim, alguem sabe o que pode ser?
outra dúvida, o comando para saber se o WPS está ativado "sudo wash -i mon0 --ignore-fcs ", funciona mesmo?
[35] Comentário enviado por angkor em 25/02/2015 - 11:30h
[19] Comentário enviado por djricardopl em 20/08/2014 - 14:14h
ola galera estou usando o backtrack 5 r2
e reaver 1.4 esta tudo ok consegui fazer rodar tudo blz mas no final ele me da um pim e uma senha gigante e nao conecta oque fazer
Estou com o mesmo problema, estou testando minha rede e me retorna uma senha muito grande e não é possível fazer a autenticação com ela.
[36] Comentário enviado por Warlock51 em 04/03/2015 - 10:58h
[35] Comentário enviado por angkor em 25/02/2015 - 11:30h
[19] Comentário enviado por djricardopl em 20/08/2014 - 14:14h
ola galera estou usando o backtrack 5 r2
e reaver 1.4 esta tudo ok consegui fazer rodar tudo blz mas no final ele me da um pim e uma senha gigante e nao conecta oque fazer
Estou com o mesmo problema, estou testando minha rede e me retorna uma senha muito grande e não é possível fazer a autenticação com ela.
Tb tenho esse problema cada hora vem uma senha gigante e não conecta.
[39] Comentário enviado por Raphabeta13 em 28/03/2015 - 05:19h
Ola, Sou novo no Linux, quando diz:
"Remova -Werror, conforme abaixo:
CFLAGS ?= -g -W -Wall -O3
Salve o arquivo, monte o pacote e instale:
$ make
$ sudo make install "
eu consigo remover e salvar, mas como faço pra montar o pacote e instalar ?
pque logo apos que salvo e tento dar o comando $ make ja da erro.
o que faço ?
[40] Comentário enviado por malkand em 03/04/2015 - 18:31h
[39] Comentário enviado por Raphabeta13 em 28/03/2015 - 05:19h
Ola, Sou novo no Linux, quando diz:
"Remova -Werror, conforme abaixo:
CFLAGS ?= -g -W -Wall -O3
Salve o arquivo, monte o pacote e instale:
$ make
$ sudo make install "
eu consigo remover e salvar, mas como faço pra montar o pacote e instalar ?
pque logo apos que salvo e tento dar o comando $ make ja da erro.
o que faço ?
Comigo ocorre a mesma coisa. Consigo editar e salvar o arquivo, mas depois tbm dá erro
$ vi aircrack-ng-1.1/common.mak
$ make
make: *** No targets specified and no makefile found. Stop.
[42] Comentário enviado por gregorydias em 30/04/2015 - 02:10h
Mediante a isso os roteadores podiam ter um botão "GET MAC" o usuário coloca a senha e o acesso só é liberado após o botão ser pressionado.
O filtro de mac pararia de funcionar o usuário se conectaria 5 segundos após o roteador cadastraria como permitido todos os novos endereços de MAC conectados.
[43] Comentário enviado por deglier em 02/05/2015 - 18:49h
Olá, estou com um problema, fiz a instalação de todos os pacotes e programas. No pricedimento de ataque onde se utiliza o comando "# reaver -i mon0 -b 00:00:00:00:00:00 -vv" aparece o seguinte:
[46] Comentário enviado por Johnmike em 17/09/2015 - 16:24h
olá, sou novo no linux e estou com um problema, quando eu coloco o comando sudo airodump-ng mon0 aparece a segunte mensagem:
ioctl(SIOCSIFFLAGS) failed: Name not unique on network
[48] Comentário enviado por Cheep em 24/12/2015 - 12:00h
depois do comando reaber -i ra0 -b (bassid) -vv o resultado é esse de 1 a 14 e repetidamente é normal ? desconfio que o wps aqui esteja desativado como eu posso ativa-lo ?
[+] Switching ra0 to channel 1
[+] Switching ra0 to channel 2
[+] Switching ra0 to channel 3
[+] Switching ra0 to channel 4
[+] Switching ra0 to channel 5
[+] Switching ra0 to channel 6
[+] Switching ra0 to channel 7
[+] Switching ra0 to channel 8
[+] Switching ra0 to channel 9
[+] Switching ra0 to channel 10
[+] Switching ra0 to channel 11
[+] Switching ra0 to channel 12
[+] Switching ra0 to channel 13
[+] Switching ra0 to channe 14
--------------------------------------------------------------------------------------------------------------------------
[51] Comentário enviado por jonaasferreirad em 10/07/2016 - 15:41h
Achei que pudéssemos achar primeiro qual(is) roteador(es) estão habilitados com WPS. Daí encontrei essa linha que facilita pra nós vermos qual que poderemos atacar sem perder tempo:
[54] Comentário enviado por thalles-nasc em 15/08/2016 - 20:06h
Estou tentando pelo Kali Linux, mas quando começa o ataque aparece -Warning: dizendo q vai fazer re-checking em 60 segundos- e fica assim repetindo sem sair disso. O que faço?
[55] Comentário enviado por zak em 24/08/2016 - 09:04h
bom ate onde sei,o reaver nesses modelos atuais bloqueia o ataque,e me parece tambem que ele usa uma base de dados com pin´s conhecidos para cada modelo e nao estando na base de dados......usando goiscript ele nao reconhece os modelos de routers q ataco,mais ainda deve funcionar em alguns casos,ate!!!
[56] Comentário enviado por eliaspadeiro666 em 30/11/2016 - 13:28h
elias@elias-Infoway:~/aircrack-ng-1.1$ sudo make install
make -C src install
make[1]: Entering directory '/home/elias/aircrack-ng-1.1/src'
make -C osdep
make[2]: Entering directory '/home/elias/aircrack-ng-1.1/src/osdep'
Building for Linux
make[3]: Entering directory '/home/elias/aircrack-ng-1.1/src/osdep'
make[3]: '.os.Linux' is up to date.
make[3]: Leaving directory '/home/elias/aircrack-ng-1.1/src/osdep'
make[2]: Leaving directory '/home/elias/aircrack-ng-1.1/src/osdep'
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0 -Iinclude aircrack-ng.o crypto.o common.o uniqueiv.o aircrack-ptw-lib.o sha1-sse2.S -o aircrack-ng -lpthread -lssl -lcrypto
/usr/bin/ld: /tmp/ccFbpdjY.o: relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompilar com -fPIC
/usr/bin/ld: falha no link final: Seção não representável na saída
collect2: error: ld returned 1 exit status
Makefile:143: recipe for target 'aircrack-ng' failed
make[1]: *** [aircrack-ng] Error 1
make[1]: Leaving directory '/home/elias/aircrack-ng-1.1/src'
Makefile:28: recipe for target 'install' failed
make: *** [install] Error 2
O que faço agora???? Deu estes erros, e nao sei como corrigir... Alguem pode, por favor, me auxiliar?
[57] Comentário enviado por Adricp em 04/12/2016 - 12:02h
root@CTOS:/home/adrian/Downloads# aircrack-ng star wlan0
Opening star
open failed: No such file or directory
Opening wlan0
open failed: No such file or directory
Read 0 packets.
No networks found, exiting.
Quitting aircrack-ng...
Alguém me ajuda
root@CTOS:/home/adrian/Downloads# sudo airmon-ng start wlan0
Found 5 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
PID Name
738 NetworkManager
765 avahi-daemon
802 avahi-daemon
933 wpa_supplicant
1028 dhclient
Process with PID 1028 (dhclient) is running on interface wlp9s0b1
[59] Comentário enviado por marcelohcm em 05/04/2020 - 15:59h
[57] Comentário enviado por Adricp em 04/12/2016 - 12:02h
root@CTOS:/home/adrian/Downloads# aircrack-ng star wlan0
Opening star
open failed: No such file or directory
Opening wlan0
open failed: No such file or directory
Read 0 packets.
No networks found, exiting.
Quitting aircrack-ng...
Alguém me ajuda
root@CTOS:/home/adrian/Downloads# sudo airmon-ng start wlan0
Found 5 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
PID Name
738 NetworkManager
765 avahi-daemon
802 avahi-daemon
933 wpa_supplicant
1028 dhclient
Process with PID 1028 (dhclient) is running on interface wlp9s0b1