1. INTRODUÇÃO
4.23 REALIZANDO OS ATAQUES
4.23.1 ATAQUE WPA-PSK
Será mostrada a quebra de chave com criptografia WPA-PSK, através da captura de um processo de handshake com o ataque de desautenticação, utilização de uma wordlist para ser utilizado com o Aircrack-ng para um dicionário de senhas.
Inicialmente, o AP utilizado no teste deverá ser preparado configurando o SSID e a criptografia que será utilizada (Figuras 10 e 11).
Figura 10 – Configuração SSID
Fonte: Próprios Autores
Figura 11 - Configuração da senha WPA-PSK
O Acess Point foi configurando com SSID LAB-PWIFI e a senha de acesso a rede com o nome password utilizando a criptografia WPA-PSK.
Para que o pentest em redes WI-FI funcione é necessário que a placa ou adaptador de rede sem fio suporte o modo monitor.
Na Figura 12, foi utilizado o comando “ifconfig” para verificar a existência de três interfaces de rede, são elas:
A placa de rede Ethernet “eth0”, que está inserida na rede 192.168.200.0/24;
A interface loopback “lo”;
O adaptador USB sem fio “wlan0”.
Figura 12 – Verificando as interfaces de redes
Fonte: Próprios Autores
Em seguida foi verificado se o adaptador Wifi “wlan0”, suporta o modo monitor.
Para essa finalidade, foi utilizado o comando “iwconfig” que reporta com mais detalhes informações sobre a nossas interfaces wireless. (Figura 13)
Figura 13 - Verificando detalhes da interface Wlan0
Fonte: Próprios Autores
Nota-se quem em “Mode” (Figura 14) a interface “wlan0” se encontra no modo de gerenciamento (“Managed”), sendo necessário que a interface esteja no modo monitor para a realização do pentest.
Para que colocar a interface “wlan0” em modo monitor deve ser verificado se existe algum processo em execução, pois podem impedir que a placa de rede sem fio passe para o modo monitor. Caso seja identificado algum processo nessa situação, tais processos devem ser encerrados. Após essas ações, será possível através da ferramenta airmon-ng colocar a interface wlan0 em modo monitor.
Na figura 15, foi utilizado o comando “airmon-ng check” para verificar os processos que podem estar em execução, com o PID que são os números que identificam os processos e Name que é o nome do processo. O comando “airmon-ng check kill”, mata os processos que estão em execução, após esse comando caso ainda fiquem alguns processos ativos impedindo que a interface wireless entre no modo monitor, como foi o caso dos processos “wpa_supplicante” e “dhclient” é só repetir o mesmo comando “airmon-ng check kill” que matam os demais processos em execução.
Figura 14 - Verificando e matando os processos
Fonte: Próprios Autores
Com os processos finalizadosé possível colocar a interface “wlan0” em modo monitor, através do comando “airmon-ng start wlan0”, que será utilizado para esse fim. Em seguida verificamos novamente o status da interface com o comando “iwconfig”. (Figura15).
Figura 15 - Interface em modo Monitor
Fonte: Próprios Autores
Foi possível identificar, na Figura 15, que a interface agora se encontra no modo monitor (“monitor mode vif enabled”). Através do comando “iwconfig” foi
identificado a interface monitor, em geral, é criado uma interface virtual com o nome de “mon0”, nessa versão do kali Linux 2.0 a interface ficou com o nome “wlan0mon”, e em “Mode” verificamos o status de “Monitor”, a interface wireless já se encontra em modo de monitoramento sendo possível utilizar outros programas que dependem dessa interface no modo monitor.
O próximo programa a ser executado é o airodump-ng, com ele é possível obter informações mais detalhadas do AP alvo, de acordo com a Figura 16.
Figura 16 - Iniciando o airodump-ng
Fonte: Próprios Autores
O comando “airodump-ng wlan0mon” inicia o programa do “airodump-ng” para obter informações dos AP's próximos ao equipamento de pentest (Figura 17) e o AP alvo que será utilizado nos testes (SSID “LAB-PWIFI”):
Figura 17 - Informações da rede Alvo
Conforme Assunção (2013) ele descreve essas informações reportada pelo airodump-ng das seguintes formas:
BSSID: nessa sessão encontramos todos os endereços Mac dos AP; PWR: informações sobre a potência do sinal do AP;
Beacons: quantidade de frames beacons (frame de sinalização que os Aps enviam);
Data: quantidade de dados capturados; #/s: pacotes por segundos;
CH: numero do canal em que os AP’s se encontram; MB: taxa de transmissão do AP;
ENC: criptografia utilizada, seja open de aberto, WEP,WPA e WPA2; CIPHER: algoritimo de cifragem;
AUTH: tipo de autenticação;
ESSID: nome da rede que identifica o AP
STATION: endereço MAC, dos clientes WI-FI conectados nos Aps; Rate: taxa de transmissão entre AP e cliente;
Lost: quantidade de pacotes perdidos; Frames: frames enviados pelas estações;
Probes: os probe são informações que os clientes pesquisam pelas redes preferenciais que ele conhece no qual tenta se autenticar. (ASSUNÇÃO, 2013)
A ferramenta “airodump-ng” permite realizar um filtro de informações, que no caso foi especificado o Mac do AP (Figura 18).
Figura 18 - Airodump-ng com o MAC do AP filtrado.
Fonte: Próprios Autores
O parâmetro - - bssid permite filtrar informações de um determinado AP, no caso, o AP utilizado nos testes possui o MAC 64:66:B3:37:1B:D2. Na Figura 19 é
possível visualizar o resultado da ferramenta “airmon-ng” com o endereço MAC especifico e os MACs dos clientes conectados.
Figura 19 – Airodump-ng com MAC selecionado WPA-PSK
Fonte: Próprios Autores
Para começar o processo de quebra de chave WPA-PSK, será necessário injetar pacotes no AP alvo para capturar o processo de handshake e utilizar o arquivo de dicionário com o “aircrack-ng”.
A injeção de pacote é conhecida como o ataque de desautenticação, onde todos os clientes que estiverem conectados na rede WI-FI serão desautenticados, e forçando a autenticação novamente dos clientes. Provocando indisponibilidade na rede, esse ataque é também caracterizado como um ataque de DoS (negação de serviço) em redes sem fio.
Antes de iniciar a injeção de pacotes, a placa ou adaptador sem fio deverá ser testada para certificar-se que ela tem suporte para a injeção de pacotes, com a ferramenta “aireplay-ng”.
Com comando “aireplay-ng -9 –a 64:66:B3:37:1B:D2 wlan0mon” foi realizaado o teste de injeção de pacotes no AP, onde “-9” equivale a um frame de teste, “-a” é indicado o BSSID do AP e “wlan0mon” corresponde a interface monitor (Figura 20).
Figura 20 - Teste de injeção de pacotes
Fonte: Próprios Autores
A informação destacada “Injectionis is working”, confirma que a injeção de pacote funciona no adaptador W-FI.
Em seguida, deve ser capturado o processo de handshake com a ferramenta “airodump-ng” que ficará registrado em um arquivo específico (Figura 21).
Figura 21 - Salvando a captura do WPA-PSK
Fonte: Próprios Autores
O que diferencia esse comando do “airodump-ng” dos comandos anteriores é que é preciso especificar o canal com a opção “–c”, e a opção “–w” que indica o caminho a ser salvo em “/root/Documentos/captura-wpa”.
Após a execução do comando mostrado na Figura 21 o seu resultado é mostrado na Figura 22. Em seguida foi aberta uma nova aba no terminal com o objetivo de realizar o ataque de desautenticação mostrado na Figura 24, onde será capturado o handshake.
Figura 22 - Airodump-ng com MAC filtrado
Fonte: Próprios Autores
Agora será realizado o ataque de desautenticação com o intuito de causar indisponibilidade na rede e forçar a geração de pacotes para capturar o processo de handshake (Figura 23).
Figura 23 - Ataque de desautenticação
Fonte: Próprios Autores
No comando aireplay-ng, a opção “--deauth 10” define que serão utilizados 10 pacotes de desautenticação, talvez não seja o suficiente para capturar o handshake, podendo ser utilizada a opção “--deauth 0”, com o argumento “0” são
utilizados uma quantidade de pacotes ilimitada (Figura 24), ocasionando um ataque de DoS que só terá término quando o atacante encerrar a execução do comando. Ou seja, quando o atacante conseguir capturar o handshake.
Figura 24 - Ataque de desautenticação ilimitado
Fonte: Próprios Autores
Na figura 25 é possível ver que o handshake foi capturado através do comando “airodump” e salvo em /root/Documentos/captura-wpa.
Figura 25 - Handshake WPA-PSK capturado
Fonte: Próprios Autores
Para fins didáticos será utilizada uma wordlist com palavras chaves para facilitar o tempo da quebra da senha WPA-PSK. Entretanto o uso de rainbow table é o ideal para o ataque de dicionário utilizando o aircrack-ng.
Para GRAVES (2010), rainbow table é um dicionário de palavras que foram transformadas em hash.
As Figuras 26, 27 e 28, demonstram o processo que vai, desde a criação da wordlist até a quebra da senha WPA-PSK.
Para a criação da wordlist foi digitado o seguinte comando: “vim wordlist.txt” dentro da pasta /root/Documentos/. Com o arquivo aberto foram inseridas várias palavras chaves.
Figura 26 - Criação do wordlist
Fonte: Próprios Autores
No diretório /root/Documentos/ se encontra o arquivo “captura-wpa-01.cap”, esse arquivo e a wordlist.txt criada anteriormente serão utilizados pela ferramenta aircrack-ng, através do comando: “aircrack-ng captura-wpa-01.cap -w wordlist.txt” (Figuras 27 e 28).
Figura 27 - Listando os arquivos e executando o aircrack-ng para quebra da chave WPA-PSK
Figura 28 - Resultado da quebra da chave WPA-PSK
Fonte: Próprios Autores