Você está na página 1de 3

Quebrando o WPA ou WPA2

Ao contrrio do WEP, o WPA e o WPA2 no possuem falhas conhecidas de segurana, que pe


rmitam 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 sup
ortado por padro em um nmero cada vez menor de drivers. Na maioria dos casos, voc v
ai 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 uti
lizado pela rede que deseja testar, alm do endereo MAC do ponto de acesso e o ende
reo MAC de pelo menos um cliente que esteja conectado a ele. Se voc est testando su
a 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 d
e quatro pacotes usada para negociar uma chave criptogrfica entre o cliente e o p
onto 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 s
tart 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 ass
im 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 pacote
s possam ser capturados.
No primeiro terminal, ative o airodump-ng, especificando onde ser gravado o arqui
vo 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 ende
reo 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, sim
ulando o processo de desconexo do cliente especificado. Enganado pelo pacote, o p
onto de acesso desconecta o cliente, o que faz com que ele se re-autentique em s
eguida, um processo executado de forma automtica pela maioria dos sistemas operac
ionais. Com isso, o processo de autenticao ser gravado pela captura iniciada no out
ro terminal.
Para realizar o ataque baseado em dicionrio, necessrio utilizar um arquivo de text
o, contendo uma lista das palavras que sero testadas. Existem diversos arquivos d
e 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 us
ada 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, es
pecificando 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 dicionr
io e o "logrede.cap" o arquivo com a captura. necessrio indicar o SSID da rede, p
ois ele uma das informaes includas no processo de autenticao.
O teste feito em modo offline, usando os pacotes de autenticao capturados para sim
ular o processo de autenticao usando cada uma das palavras includas no arquivo. O v
olume 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 segun
do, o que resulta em um ritmo de 360 mil combinaes por hora, ou 8.64 milhes de comb
inaes por dia.
Pode parecer bastante, mas nesse ritmo demoraria mais de um milho de anos para te
star todas as possibilidades de uma passphrase com 8 caracteres contendo letras,
nmeros e caracteres especiais (e exponencialmente mais para passphrases mais lon
gas). 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,
ermitindo 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 par
a processar o arquivo de dicionrio, direcionando a sada para o aircrack-ng. O coma
ndo ficaria:
$ ./john --wordlist=dict.txt --rules --stdout | aircrack-ng -e rede -w logrede.c
ap
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 acess
o rede seria convencer algum dos usurios a revel-la.
Uma soluo para este ltimo problema seria utilizar uma passphrase impossvel de memori
zar (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 s
eguida destruir a cpia impressa.