Ataques Wireless com Kali Linux e Aircrack-ng

Kali LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá os fundamentos dos testes de penetração em redes sem fio usando o Kali Linux e o conjunto de ferramentas Aircrack-ng no ambiente da máquina virtual (VM) LabEx. O foco é entender as principais técnicas para avaliar a segurança de redes sem fio. Você praticará a ativação do modo monitor em uma interface sem fio, a captura de handshakes WPA, a quebra de chaves WPA e o salvamento dos resultados para documentação. Projetado para iniciantes, este laboratório oferece orientação passo a passo em um ambiente controlado para construir habilidades fundamentais em testes de segurança sem fio. Ao abrir o terminal, você será automaticamente conectado ao shell do container Kali Linux, pronto para começar a praticar.

Instalando Ferramentas Essenciais para Testes Wireless

Neste primeiro passo, você configurará as ferramentas necessárias para testes de penetração em redes sem fio dentro do container Kali Linux no ambiente da VM LabEx. Como você está automaticamente conectado ao shell do container Kali Linux ao abrir o terminal, não há necessidade de iniciar o container manualmente ou entrar no shell. Vamos começar instalando as ferramentas essenciais necessárias para os próximos passos.

Como iniciante, é importante entender que o Kali Linux é uma distribuição poderosa para testes de segurança, mas nem todas as ferramentas são pré-instaladas em uma configuração mínima do container. Vamos instalar o aircrack-ng, um conjunto de ferramentas para auditoria de redes sem fio, que inclui utilitários como airmon-ng para habilitar o modo monitor, airodump-ng para capturar pacotes e aircrack-ng para quebrar chaves.

Execute os seguintes comandos no terminal para atualizar a lista de pacotes e instalar o aircrack-ng. Pressione Enter após cada comando para executá-lo:

apt update
apt install -y aircrack-ng

Esses comandos atualizarão o repositório de pacotes e instalarão o conjunto de ferramentas aircrack-ng. A instalação pode levar alguns instantes, portanto, aguarde até que seja concluída.

Após a instalação, verifique se o aircrack-ng está instalado verificando sua versão. Digite o seguinte comando e pressione Enter:

aircrack-ng --version

A saída esperada mostrará a versão do aircrack-ng, confirmando que a ferramenta está pronta para uso. Pode ser algo parecido com isto:

Aircrack-ng 1.7

Este passo garante que todas as ferramentas necessárias estejam disponíveis no container Kali Linux para testes em redes sem fio. Ao instalar o aircrack-ng, você preparou o ambiente para habilitar o modo monitor e capturar o tráfego sem fio nos próximos passos. Certifique-se de que a instalação seja concluída com sucesso antes de prosseguir.

Habilitando o Modo Monitor na Interface Wireless

Agora que você instalou as ferramentas necessárias, vamos passar para a habilitação do modo monitor em uma interface de rede sem fio dentro do container Kali Linux. O modo monitor é essencial para testes de penetração em redes sem fio, pois permite que sua placa de rede sem fio capture o tráfego de rede sem se conectar a nenhuma rede.

Para iniciantes, pense no modo monitor como transformar sua placa de rede sem fio em um ouvinte passivo. Normalmente, no "modo gerenciado", a placa captura apenas o tráfego destinado a ela. No modo monitor, ela captura todo o tráfego sem fio próximo, o que é crucial para ferramentas como aircrack-ng analisar dados e identificar vulnerabilidades.

Como você já está no shell do container Kali Linux (conectado automaticamente ao abrir o terminal), vamos começar identificando a interface sem fio. Digite o seguinte comando e pressione Enter para listar todas as interfaces de rede:

iwconfig

A saída esperada exibirá uma lista de interfaces de rede. Procure uma interface sem fio, normalmente chamada wlan0 ou similar. Neste ambiente de laboratório, assuma que a interface é wlan0. A saída pode ser semelhante a esta:

wlan0     IEEE 802.11  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

Em seguida, habilite o modo monitor na interface wlan0 usando a ferramenta airmon-ng, que faz parte do conjunto de ferramentas aircrack-ng que você instalou anteriormente. Execute o seguinte comando e pressione Enter:

airmon-ng start wlan0

A saída esperada indicará que o modo monitor está habilitado, e o nome da interface pode mudar para wlan0mon. Poderia ser algo parecido com isto:

Interface wlan0 is now in monitor mode as wlan0mon.

Se houver algum aviso sobre processos interferentes, a ferramenta pode sugerir que você os encerre. Neste ambiente de laboratório, assuma que não existem tais conflitos para simplificar.

Finalmente, verifique se o modo monitor está ativo executando o seguinte comando e pressionando Enter:

iwconfig

A saída esperada deve mostrar a interface (por exemplo, wlan0mon) no modo monitor, assim:

wlan0mon  IEEE 802.11  Mode:Monitor  Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

Isso confirma que o modo monitor foi habilitado com sucesso. Agora você preparou a interface sem fio para capturar o tráfego, que é um passo crítico antes de passar para a captura de handshakes WPA no próximo passo. Certifique-se de que o modo esteja definido como Monitor antes de prosseguir.

Capturando Handshakes WPA com Airodump-ng

Com o modo monitor habilitado na sua interface sem fio, o próximo passo é capturar um handshake WPA usando a ferramenta airodump-ng dentro do container Kali Linux. Um handshake WPA é um conjunto de pacotes trocados quando um dispositivo se conecta a uma rede Wi-Fi, e capturá-lo nos permite tentar quebrar a senha em passos posteriores.

Para iniciantes, entenda que um handshake WPA não contém a senha diretamente, mas inclui dados criptografados que podem ser analisados offline para adivinhar a senha. Este processo é ético apenas em um ambiente de laboratório controlado ou com permissão explícita em redes reais. Neste laboratório, simularemos a captura de um handshake em um ambiente seguro.

Como você já está no shell do container Kali Linux (conectado automaticamente ao abrir o terminal), vamos começar a capturar o tráfego sem fio. Execute o seguinte comando e pressione Enter para começar a monitorar todas as redes próximas na interface wlan0mon:

airodump-ng wlan0mon

A saída esperada exibirá uma tabela ao vivo das redes Wi-Fi próximas, mostrando detalhes como BSSID (endereço MAC do ponto de acesso), ESSID (nome da rede), CH (canal) e tipo de criptografia. Pode ser algo parecido com isto:

CH  6 ][ Elapsed: 1 min ][ 2023-10-01 12:00

BSSID              PWR  Beacons    #Data, #/s  CH   MB   ENC  CIPHER  AUTH  ESSID
00:14:22:AB:CD:EF  -30       10        5    0   6   54   WPA2 CCMP   PSK   TestNetwork

Deixe isso rodar por alguns segundos para observar as redes, depois pare-o pressionando Ctrl+C. Para este laboratório, assuma que você identificou uma rede alvo com o ESSID TestNetwork, BSSID 00:14:22:AB:CD:EF e operando no canal 6.

Agora, concentre-se em capturar o tráfego para esta rede específica para obter o handshake WPA. Execute o seguinte comando e pressione Enter para direcionar a rede e salvar os dados capturados em um arquivo chamado handshake no diretório /root:

airodump-ng --bssid 00:14:22:AB:CD:EF --channel 6 -w /root/handshake wlan0mon

Neste comando, --bssid especifica o endereço MAC da rede alvo, --channel define o canal para ouvir e -w /root/handshake salva os dados em um arquivo. A saída esperada mostrará o tráfego específico para a rede alvo. Se um handshake for capturado, você poderá ver [ WPA handshake: 00:14:22:AB:CD:EF ] no canto superior direito da saída. Para este laboratório, assuma que um handshake é capturado após alguns segundos. Pare a captura pressionando Ctrl+C.

Verifique se o arquivo de captura foi salvo listando o conteúdo do diretório /root. Execute o seguinte comando e pressione Enter:

ls -l /root

A saída esperada deve incluir um arquivo chamado handshake-01.cap (ou similar), assim:

-rw-r--r-- 1 root root 12345 Oct  1 12:05 handshake-01.cap

Isso confirma que os dados capturados foram salvos. Você agora capturou com sucesso um handshake WPA, que será usado no próximo passo para tentar quebrar a chave WPA. Certifique-se de que o arquivo exista antes de prosseguir.

Quebrando Chaves WPA com Aircrack-ng

Tendo capturado um handshake WPA no passo anterior, você agora está pronto para tentar quebrar a chave WPA usando a ferramenta aircrack-ng dentro do container Kali Linux. Este processo envolve testar senhas potenciais de uma wordlist contra os dados do handshake capturado para encontrar a chave correta.

Para iniciantes, quebrar uma chave WPA significa usar uma lista de senhas possíveis (chamada de wordlist) para adivinhar a correta, comparando-a com os dados criptografados no handshake. Este é um processo offline, o que significa que não interage com a rede alvo durante a tentativa. Neste laboratório, usaremos uma pequena amostra de wordlist para fins de demonstração.

Como você já está no shell do container Kali Linux (conectado automaticamente ao abrir o terminal), vamos criar um arquivo de wordlist simples no diretório /root. Execute o seguinte comando e pressione Enter para abrir o editor nano e criar um arquivo chamado wordlist.txt:

nano /root/wordlist.txt

No editor nano, digite as seguintes senhas de amostra, uma por linha:

password123
testwifi
admin123

Salve o arquivo pressionando Ctrl+O, depois Enter para escrever o arquivo e, finalmente, Ctrl+X para sair do nano. Não haverá saída para esta ação, mas o arquivo agora está criado.

Verifique se o arquivo de wordlist existe listando o conteúdo do diretório /root. Execute o seguinte comando e pressione Enter:

ls -l /root

A saída esperada deve incluir wordlist.txt, assim:

-rw-r--r-- 1 root root  30 Oct  1 12:10 wordlist.txt

Agora, use aircrack-ng para tentar quebrar a chave WPA com o handshake capturado e a wordlist. Execute o seguinte comando e pressione Enter, usando o BSSID do passo anterior e os caminhos para os arquivos:

aircrack-ng -w /root/wordlist.txt -b 00:14:22:AB:CD:EF /root/handshake-01.cap

Neste comando, -w especifica o arquivo de wordlist, -b especifica o BSSID da rede alvo e o último argumento é o caminho para o arquivo de handshake. A saída esperada mostrará a ferramenta testando senhas da wordlist. Se for bem-sucedido, exibirá a chave encontrada, assim:

KEY FOUND! [ testwifi ]

Se nenhuma chave for encontrada, indicará que todas as senhas foram testadas sem sucesso. Para este laboratório, assuma que a senha testwifi foi encontrada. O processo pode levar alguns segundos para ser concluído.

Você agora tentou quebrar uma chave WPA usando aircrack-ng. No próximo passo, você salvará este resultado para documentação. Certifique-se de ver a chave na saída antes de prosseguir.

Salvando a Chave WPA Quebrada

Neste passo final, você salvará a chave WPA quebrada do passo anterior em um arquivo de texto para fins de documentação dentro do container Kali Linux. Salvar a chave garante que você tenha um registro de suas descobertas, o que é uma boa prática em testes de penetração para referência futura ou relatórios.

Para iniciantes, documentar resultados como uma chave quebrada é importante para acompanhar seu trabalho. Este passo envolve a criação de um arquivo de texto simples para armazenar a chave e informações de rede relacionadas. É um processo direto usando operações básicas de arquivo no terminal.

Como você já está no shell do container Kali Linux (conectado automaticamente ao abrir o terminal), vamos criar um arquivo chamado cracked_keys.txt no diretório /root para armazenar a chave. Execute o seguinte comando e pressione Enter para abrir o editor nano:

nano /root/cracked_keys.txt

No editor nano, digite os seguintes detalhes sobre a chave quebrada, substituindo testwifi pela senha real encontrada no passo anterior, se diferente:

Network: TestNetwork
BSSID: 00:14:22:AB:CD:EF
Password: testwifi
Date: 2023-10-01

Salve o arquivo pressionando Ctrl+O, depois Enter para escrever o arquivo e, finalmente, Ctrl+X para sair do nano. Não haverá saída para esta ação, mas o arquivo agora está criado.

Verifique se o arquivo foi salvo listando o conteúdo do diretório /root. Execute o seguinte comando e pressione Enter:

ls -l /root

A saída esperada deve incluir cracked_keys.txt, assim:

-rw-r--r-- 1 root root  85 Oct  1 12:15 cracked_keys.txt

Para garantir que o conteúdo esteja correto, exiba o conteúdo do arquivo executando o seguinte comando e pressionando Enter:

cat /root/cracked_keys.txt

A saída esperada mostrará o texto que você inseriu, assim:

Network: TestNetwork
BSSID: 00:14:22:AB:CD:EF
Password: testwifi
Date: 2023-10-01

Isso confirma que a chave quebrada foi salva com sucesso. Você agora concluiu o processo de documentação de suas descobertas, o que encerra o fluxo de trabalho de teste de penetração sem fio neste laboratório. Certifique-se de que o conteúdo do arquivo esteja correto antes de finalizar.

Resumo

Neste laboratório, você aprendeu os passos fundamentais de testes de penetração sem fio usando o Kali Linux e o conjunto de ferramentas Aircrack-ng no ambiente de VM LabEx. Você começou instalando ferramentas essenciais como aircrack-ng, depois habilitou o modo monitor em uma interface sem fio para capturar o tráfego de rede. Em seguida, você capturou um handshake WPA, tentou quebrar a chave WPA usando uma wordlist e, finalmente, salvou a chave quebrada para documentação. Esses passos fornecem uma base sólida para entender os testes de segurança sem fio e a importância de proteger as redes contra tais vulnerabilidades em um ambiente controlado.