Introdução
Neste laboratório, você aprenderá como realizar um ataque de dicionário contra um handshake WPA/WPA2. Quando um dispositivo se conecta a uma rede Wi-Fi protegida por WPA/WPA2, ocorre um handshake de 4 vias para autenticar o dispositivo. Ao capturar este handshake, é possível tentar quebrar a senha da rede offline.
Um ataque de dicionário é um método de invadir um sistema protegido por senha, inserindo sistematicamente cada palavra de uma lista (chamada de dicionário ou wordlist) como senha. Usaremos o aircrack-ng, uma ferramenta poderosa para auditoria de segurança Wi-Fi, para realizar este ataque. Você receberá um arquivo de handshake capturado (.cap) e uma wordlist para simular um cenário do mundo real.
Ao final deste laboratório, você será capaz de usar o aircrack-ng para encontrar uma senha Wi-Fi a partir de um arquivo de handshake capturado.
Localizar o Arquivo .cap do Handshake Capturado
Nesta etapa, você localizará o arquivo de handshake WPA pré-capturado. Para este laboratório, um arquivo de captura de exemplo chamado wpa_handshake.cap foi colocado no seu diretório ~/project. Este arquivo contém o tráfego de rede, incluindo o handshake essencial de 4 vias necessário para o ataque.
Primeiro, vamos listar os arquivos no diretório atual para confirmar que o arquivo de captura está presente. Use o comando ls -l.
ls -l
Você deverá ver o arquivo wpa_handshake.cap na saída, juntamente com outros arquivos.
total 8
-rw-r--r-- 1 labex labex 11 Mar 25 10:00 rockyou.txt
-rw-r--r-- 1 labex labex 985 Mar 25 10:00 wpa_handshake.cap
Agora que você confirmou a presença do arquivo de captura, pode prosseguir para a próxima etapa.
Encontrar um Arquivo de Wordlist como rockyou.txt
Nesta etapa, você encontrará e inspecionará o arquivo de wordlist. Um dicionário ou wordlist é um arquivo de texto simples que contém uma lista de senhas potenciais, uma por linha. O aircrack-ng usará esta lista para testar cada senha contra o handshake capturado.
Uma pequena wordlist chamada rockyou.txt foi criada para você no diretório ~/project. Vamos visualizar seu conteúdo usando o comando cat.
cat rockyou.txt
A saída exibirá as senhas potenciais contidas no arquivo.
password
12345678
biscotte
qwerty
Em um cenário do mundo real, as wordlists podem ser enormes, contendo milhões ou até bilhões de senhas. Para este laboratório, nossa pequena lista contém a senha correta, o que permitirá que o ataque seja bem-sucedido rapidamente.
Construir o Comando aircrack-ng com o Arquivo .cap
Nesta etapa, você usará o aircrack-ng para inspecionar o arquivo de captura. Antes de iniciar o ataque, é uma boa prática verificar se o arquivo .cap contém um handshake WPA válido. O aircrack-ng pode fazer isso por você.
Execute o aircrack-ng e forneça o arquivo de captura wpa_handshake.cap como argumento.
aircrack-ng wpa_handshake.cap
O aircrack-ng analisará o arquivo e exibirá informações sobre as redes que ele encontra.
Opening wpa_handshake.cap
Read 13 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening wpa_handshake.cap
Please specify a dictionary (option -w).
Preste muita atenção à linha WPA (1 handshake). Isso confirma que um handshake WPA completo para a rede "teddy" foi capturado com sucesso e está presente no arquivo. Esta é a confirmação que precisamos para prosseguir com o ataque de dicionário. A ferramenta também solicita que você especifique um dicionário, o que você fará nas próximas etapas.
Especificar a Wordlist Usando o Parâmetro -w
Nesta etapa, você aprenderá como especificar uma wordlist para o ataque usando o parâmetro -w. Este parâmetro informa ao aircrack-ng qual arquivo usar como seu dicionário de senhas potenciais.
A sintaxe completa do comando é aircrack-ng <arquivo_de_captura> -w <arquivo_de_wordlist>.
Para entender como funciona, vamos primeiro tentar executar o comando com uma wordlist que não existe. Isso o ajudará a ver como o aircrack-ng lida com erros. Tente executar o comando com nonexistent.txt como a wordlist.
aircrack-ng wpa_handshake.cap -w nonexistent.txt
Você receberá uma mensagem de erro porque o arquivo não pode ser encontrado.
Opening wpa_handshake.cap
Read 13 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening wpa_handshake.cap
The file 'nonexistent.txt' doesn't exist.
Please specify a dictionary (option -w).
Isso confirma que o aircrack-ng requer um arquivo válido e existente para o parâmetro -w. Na próxima etapa, você usará o arquivo de wordlist correto para executar o ataque.
Executar o Ataque e Analisar a Saída 'KEY FOUND'
Nesta etapa, você executará o ataque de dicionário completo com a wordlist correta e analisará a saída para encontrar a chave. Agora que você sabe como especificar o arquivo de captura e a wordlist, pode iniciar o ataque.
Execute o comando aircrack-ng, fornecendo wpa_handshake.cap como arquivo de captura e rockyou.txt como wordlist.
aircrack-ng wpa_handshake.cap -w rockyou.txt
O aircrack-ng iniciará agora. Ele testará cada senha de rockyou.txt contra o handshake. Como nossa wordlist é pequena e contém a senha correta, o processo será muito rápido.
Opening wpa_handshake.cap
Read 13 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening wpa_handshake.cap
[00:00:00] 3 keys tested (23.08 k/s)
KEY FOUND! [ biscotte ]
Master Key : ED A5 79 22 E5 5F 56 64 74 CB 89 98 44 6A 18 25
E0 E3 44 86 8A F3 89 84 55 4A D3 94 03 19 28 79
Transient Key : 6A 84 A9 58 52 2E 61 30 62 50 2B 88 46 1B 2A 8A
...
EAPOL HMAC : 4E 1A E7 74 52 86 C5 29 A3 43 54 B2 1B 2D 34 18
A linha mais importante na saída é KEY FOUND! [ biscotte ]. Isso indica que o ataque foi bem-sucedido. O aircrack-ng testou as senhas da wordlist e descobriu que biscotte é a senha correta para a rede "teddy".
Resumo
Neste laboratório, você realizou com sucesso um ataque de dicionário em um handshake WPA usando aircrack-ng.
Você aprendeu a:
- Localizar e identificar um arquivo de captura (
.cap) e uma wordlist. - Usar o
aircrack-ngpara inspecionar um arquivo de captura e confirmar a presença de um handshake WPA. - Usar o parâmetro
-wpara especificar uma wordlist para o ataque. - Executar o ataque de dicionário e interpretar os resultados para encontrar a chave da rede.
Este exercício demonstra uma técnica fundamental na auditoria de segurança Wi-Fi e destaca a importância de usar senhas fortes e complexas que não sejam facilmente adivinhadas por ataques de dicionário.
