Você está na página 1de 3

Quebrando o WPA ou WPA2

No captulo 3 comentei que, ao contrrio do WEP, o WPA e o WPA2 no possuem


falhas conhecidas de segurana, que permitam descobrir a chave rapidamente. Apesar
disso, ainda possvel usar ataques de fora bruta para descobrir passphrases fceis,
baseadas em palavras do dicionrio ou sequncias numricas simples. Vamos ento
entender melhor como o processo funciona.
O primeiro passo instalar o pacote aircrack-ng, sucessor do pacote aircrack que
usamos anteriormente, que contm as ferramentas que utilizaremos.
Para funcionar, ele precisa que a placa wireless suporte o modo monitor, que
suportado por padro em um nmero cada vez menor de drivers. Na maioria dos casos,
voc vai precisar primeiro modificar os drivers da placa, baixando o fonte, instalando
um patch e compilando o driver modificado. Para isso, voc precisa ter instalados os
headers do kernel e os compiladores bsicos.
Voc pode encontrar informaes detalhadas de como fazer isso em conjunto com
diversas placas no: http://www.aircrack-ng.org/. Outra opo utilizar o BackTrack,
que j vem com os patches instalados.
Para aplicar o teste, comece usando o Kismet para descobrir o SSID e o canal utilizado
pela rede que deseja testar, alm do endereo MAC do ponto de acesso e o endereo
MAC de pelo menos um cliente que esteja conectado a ele. Se voc est testando sua
prpria rede, basta checar as informaes na configurao do ponto de acesso.
O passo seguinte usar o airmon-ng para capturar o processo de autenticao de um
dos clientes da rede. Ele baseado no uso de um "four-way handshake", onde uma srie
de quatro pacotes usada para negociar uma chave criptogrfica entre o cliente e o
ponto de acesso, que ento usada para criptografar o processo de autenticao.
Naturalmente, capturar esta sequncia de pacotes no permite descobrir a passphrase da
rede, mas oferece a possibilidade de executar o ataque de fora bruta, testando vrias
possibilidades at descobrir a chave correta.
Comece colocando a placa wireless em modo monitor, usando o comando "airmon-ng
start interface", como em:
# airmon-ng start eth1
No caso das placas com chipset Atheros, necessrio desativar a interface "ath0" e
recri-la em modo monitor, usando os comandos:
# airmon-ng stop ath0
# airmon-ng start wifi0
O passo seguinte capturar o processo de autenticao de um dos clientes. Vamos fazer
isso abrindo dois terminais. O primeiro ser usado para rodar o airodump-ng e assim
capturar as transmisses e o segundo para rodar o aireplay-ng, desconectando o cliente e

obrigando-o a se reconectar ao ponto de acesso, de forma que os pacotes possam ser


capturados.
No primeiro terminal, ative o airodump-ng, especificando onde ser gravado o arquivo
com os pacotes capturados, o canal usado pelo ponto de acesso e a interface, como em:
# airodump-ng -w logrede --channel 2 ath0
Com isso, ser gerado um arquivo "logrede.cap" no diretrio atual.
No outro terminal, rode o comando "aireplay-ng --deauth 1", especificando o endereo
MAC do ponto de acesso (-a) e o endereo MAC do cliente que ser desconectado (-c),
como em:
# aireplay-ng --deauth 1 -a 00:50:50:81:41:56 -c 00:19:7D:4C:CA:07
Este comando faz com que seu PC envie um pacote falseado ao ponto de acesso,
simulando o processo de desconexo do cliente especificado. Enganado pelo pacote, o
ponto de acesso desconecta o cliente, o que faz com que ele se re-autentique em
seguida, um processo executado de forma automtica pela maioria dos sistemas
operacionais. Com isso, o processo de autenticao ser gravado pela captura iniciada
no outro terminal.
Para realizar o ataque baseado em dicionrio, necessrio utilizar um arquivo de texto,
contendo uma lista das palavras que sero testadas. Existem diversos arquivos de
dicionrio largamente disponveis na web (faa uma busca por "wordlists" no Google),
como o repositrio disponvel no http://www.outpost9.com/files/WordLists.html.
Na maioria das distribuies, voc encontra tambm uma lista de palavras que pode ser
usada na forma do arquivo "/usr/share/dict/words" e voc pode tambm comprar um CD
com uma coleo de arquivos, contendo listas com palavras de todas as lnguas no:
http://www.openwall.com/passwords/wordlists/.
Com o arquivo de palavras em mos, use o comando abaixo para testar as combinaes,
especificando o SSID da rede, o arquivo com as palavras e o arquivo com a captura dos
pacotes (gerado pelo airmon-ng), como em:
$ aircrack-ng -e rede -w dict.txt logrede.cap
... onde o "rede" indica o SSID da rede, o "dict.txt" indica a localizao do dicionrio e
o "logrede.cap" o arquivo com a captura. necessrio indicar o SSID da rede, pois ele
uma das informaes includas no processo de autenticao.
O teste feito em modo offline, usando os pacotes de autenticao capturados para
simular o processo de autenticao usando cada uma das palavras includas no arquivo.
O volume de processamento necessrio para cada uma faz com que o teste demore um
bom tempo. Um Celeron-M de 1.4 GHz, por exemplo, consegue processar (mesmo com
todas as otimizaes includas no aircrack-ng) apenas cerca de 100 possibilidades por
segundo, o que resulta em um ritmo de 360 mil combinaes por hora, ou 8.64 milhes
de combinaes por dia.

Pode parecer bastante, mas nesse ritmo demoraria mais de um milho de anos para
testar todas as possibilidades de uma passphrase com 8 caracteres contendo letras,
nmeros e caracteres especiais (e exponencialmente mais para passphrases mais
longas). por isso que o ataque se concentra em testar uma lista de palavras, e no em
realmente testar todas as possibilidades possveis.
possvel tambm usar o John the Ripper para testar variaes das palavras do
dicionrio, permitindo assim descobrir passphrases construdas com base em variaes
ou em combinaes de palavras, como "paralelep1ped0" o que bastante comum.
Voc pode baix-lo no: http://www.openwall.com/john/
Para us-lo, descompacte o arquivo, acesse a pasta "src" (dentro da pasta criada) e rode
o comando "make". Isso gerar o executvel do programa dentro da pasta "run", que
pode ento ser executado, como em "./john".
O John uma ferramenta muito usada para testar senhas, pois ele pode lanar ataques de
fora bruta, testando todas as combinaes ou utilizando um arquivo de dicionrio em
praticamente todo tipo de arquivo de senhas. No nosso caso, usaremos o John para
processar o arquivo de dicionrio, direcionando a sada para o aircrack-ng. O comando
ficaria:
$ ./john --wordlist=dict.txt --rules --stdout | aircrack-ng -e rede -w logrede.cap
Como pode ver, o processo de quebrar chaves WPA bastante demorado e, mesmo
assim, inefetivo contra passphrases construdas com caracteres aleatrios,
principalmente no caso de passphrases longas. Com a gerao atual de programas, voc
pode garantir a segurana da sua rede usando uma boa passphrase.
Uma passphrase longa, com 20 caracteres ou mais (que no seja a combinao de duas
ou mais palavras), impossvel de quebrar usando fora bruta. A nica forma de obter
acesso rede seria convencer algum dos usurios a revel-la.
Uma soluo para este ltimo problema seria utilizar uma passphrase impossvel de
memorizar (imagine o caso de uma passphrase com 50 caracteres ou mais :). Voc pode
ento imprimir a passphrase em papel, digit-la no cliente para autorizar a conexo e em
seguida destruir a cpia impressa.

Você também pode gostar