Resumo. A segurança nas redes sem fio ainda é encarada como um requisito passivo a questionamento, e medidas abordadas para garantir a integridade das informações estão sendo gradativamente aplicadas, dentre elas dá-se uma atenção especial para os protocolos WEP (Wired Equivalency Privacy), WPA/WPA2 (Wi-Fi Protected Access), apesar de alguns destes protocolos já terem suas falhas conhecidas ainda sim, devem ser aplicados como mais uma alternativa de segurança. Este estudo teórico e prático pretende realizar uma análise sobre a vulnerabilidade do protocolo de encriptação do WPA, analisando seus paradigmas e suas diferenças.
1. INTRODUÇÃO
O padrão WPA (Wi-Fi Protected Access) é o sucessor do protocolo WEP. Desenvolvido pela Wi-Fi Alliance, serviu como uma correção temporária para as vulnerabilidades conhecidas no WEP até o IEEE disponibilizar o padrão 802.11i (WPA2).
O 802.11i é o padrão IEEE oficial, que incorpora as correções implementadas no WPA para as vulnerabilidades do WEP e outros mecanismos de autenticação para proteger ainda mais as redes sem fio.
A maior diferença entre o WPA2 e WPA é o tipo de criptografia usado, onde no WPA2 usa-se AES e RC4 no WPA, e o protocolo utilizado para a confidencialidade e integridade, onde no WPA2 usa-se CCMP e TKIP no WPA.
Tanto o WPA como o WPA2 podem ser executados no modo home ou enterprise. Modo home significa que o AP e todos os clientes estão usando uma chave pré-compartilhada (PSK), já no modo enterprise significa que a organização está usando um servidor RADIUS para autenticação. Apesar do nome (enterprise, significa empresa em português), muitas empresas usam o modo PSK (home), porque é muito mais fácil de implantar.
Neste artigo estaremos mostrando como é possível atacar uma rede sem fio que esteja usando o protocolo WPA2-PSK com a utilização de um dicionário. É possível usar também o John The Ripper para quebrar a senha, mas para este artigo estaremos abordando a utilização de um dicionário com o pacote de ferramenta aircrack-ng.
Iremos utilizar o BackTrack - distribuição com foco em testes de segurança e testes de penetração – que já vem com a suíte de ferramenta aircrack-ng no repositório oficial da distro.
Quando se trata de WPA/WPA2 a chave pré-compartilhada pode ser de 8 a 63 caracteres de comprimento, com isso torna-se quase “impossível” para quebrar essa chave, dificultando ainda mais se essa chave for composta de símbolos especiais. A única vez que você pode quebrar a chave pré-compartilhada é se a mesma for uma palavra de dicionário ou relativamente curto de comprimento. Neste artigo não estaremos considerando o tamanho e nem a complexidade da chave, já que a mesma pertence ao nosso dicionário, sendo assim não fazendo diferença se a chave é “minharede” ou “Mi@nH@r$d&”.
Para que possamos disparar um ataque com base em dicionário é necessário primeiramente capturar o que chamamos de four-way handshake entre o cliente e o AP. O objetivo do four-way handshake é autenticar o cliente e o ponto de acesso, onde o processo de autenticação é realizado durante o four-way handshake.
O que é preciso para este ataque?
- sua placa de rede sem fio possa injetar pacotes
- capturar 4 way handshake
- usar o aircrack-ng
Passo 1: Configurando no Modo Monitor
Para que você possa injetar pacotes é necessário que a placa de rede sem fio esteja no modo Monitor, para isso estaremos usando o comando airmon-ng, veja a figura abaixo:
Veja que foi detectado a placa de rede wlan0, agora precisamos colocar nossa placa em modo Monitor, para isso execute o comando conforme mostra a figura abaixo:
Veja que o airmon-ng criou uma nova placa chamada mon0 e esta por sua vez esta no modo Monitor, é essa placa que iremos usar a partir deste momento.
Passo 2: Listando as redes sem fio ao alcance
Para que possamos direcionar nosso ataque precisamos coletar algumas informações que são de extrema importância como o BSSID (endereço MAC do AP), CH (canal sendo usado), ESSID (nome da rede) e o STATION (endereço MAC do cliente). O comando airodump-ng serve para capturar pacotes de rede sem fio para que possa ser usado posteriormente com o aircrack-ng ou outra ferramenta do tipo. O comando abaixo permite que analisemos somente o tráfego que esteja usando WPA:
#airodump-ng --encrypt wpa mon0
Dica:
Para agilizar o ataque podemos salvar todas essas informações como variáveis de ambiente, digamos que coletamos as informações abaixo na saída do airodump-ng:
BSSID=00:18:6e:9b:d9:80
STATION=00:11:22:33:44:55
ESSID=linksys
Vamos criar um script em shell e executaremos esse script toda vez que abrirmos um terminal, veja o script abaixo que chamamos de variaveis.sh:
#!/bin/bash
export BSSID=00:18:6e:9b:d9:80
export STATION=00:11:22:33:44:55
export ESSID=linksys
Com isso o comando: aireplay-ng -1 0 -a 00:18:6e:9b:d9:80 -h 00:11:22:33:44:55 -e linksys mon0
Poderia ser executado desta forma: aireplay-ng -1 0 -a $BSSID -h $STATION -e $ESSID mon0
Passo 3: Capturando 4 way handshake
Como dito anteriormente é necessário capturar o que chamamos de 4 way handshake entre o cliente e o AP e salvar em um arquivo para que depois possa ser usado pelo aircrack-ng. O comando a seguir salvara todo o tráfego entre o cliente e o AP no arquivo que chamaremos de psk-handshake.cap:
# airodump-ng -w psk-handshake.cap -c 6 --bssid $BSSID mon0
Precisamos forçar o cliente a se autenticar novamente para que possamos com isso capturar o 4 way handshake. Abra um novo terminal, não feche o terminal que esta rodando o comando anterior, vamos usar o comando aireplay-ng para isso, veja a figura abaixo:
Passo 4: Time to crack
Temos o nosso arquivo com o 4 way handshake (psk-handshake.cap), agora precisamos de um dicionário para usar com o aircrack-ng. Vamos criar um dicionário simples com 10 palavras, sendo que uma dessas palavras é a chave. Agora é só executar o comando:
#aircrack-ng psk-handshake.cap -w dicionario
Conclusão
— WEP protocolo ultrapassado;
— WPA corrige vulnerabilidade do WEP;
— WPA2 (802.11i) versão Oficial da Wifi Alliance;
— Senhas fracas, é possivel quebrar no WPA2;
— Use WPA2 com senhas fortes;
— Variedades de ferramentas para quebrar o WPA2
—aircrack-ng
—coWPAtty
REFRENCIA
Voce trocou as bolas no que se refere a WPA e WPA2 no inicio do texto, WPA2 utiliza AES e CCMP e WPA utiliza RC4 e TKIP
ResponderExcluirBem observado, já corrigi.
ExcluirObrigado.
cara eu n tenho wi fi minha net é modem,só da pra kebrar senha wei fi tendo o aparelho na sua casa?
ResponderExcluirExatamente. Esses protocolos rodam em rede sem fio.
ExcluirPrezados,me utilizo do wifisalx 4.0 pela familiaridade de alguns tempos rodando ele,os comando nao variam muito,na chaves wep obtive varios sucessos,aprendi a gerar trafego para acelerar o processo.No wpa2 fiz captura de alguns handshake,e sem sucesso de abertura ou key found.To tentando abrir todas em bloco de notas e imprimindo,tentando gerar um padrao,tendo em vista q fiz minha senha com alfabeto,numeral e sinais ja em handshake.se for possivel vamos divulgar tentativas de erros ou de sucesso,parabens pelo bom texto.
ResponderExcluirSeria interessante você realizar esses testes em um cenário próprio, onde você conhece a chave, assim você estará se aperfeiçoando na técnica e se certificando se esta fazendo tudo certinho.
Excluirfiz tudo certinho ate ao passo 4. mas na hora de cria 1 dicionario blokeei.. como se faz? sou iniciante em backtrack/linux..preciso de ajuda!
ResponderExcluirÉ um dicionário com uma lista de senhas que serão usadas. Se você estiver realizando em um ambiente de teste, crie um arquivo com algumas palavra incluindo a senha. Você pode também baixar pela internet os dicionários.
ExcluirQual o Formato do dicionário? txt? lst?
ExcluirVeja o comando que chama o dicionário:
Excluir#aircrack-ng psk-handshake.cap -w dicionario
Nesse caso onde esta escrito "dicionario" você coloca o nome do seu próprio dicionário, por exemplo, senhas.txt. Neste caso o comando ficaria:
#aircrack-ng psk-handshake.cap -w senhas.txt