Capturar um PMKID para Ataques WPA sem Cliente

Beginner
Pratique Agora

Introdução

Neste laboratório, você explorará uma técnica moderna para testar a segurança de redes sem fio WPA/WPA2. Especificamente, você aprenderá a capturar um Pairwise Master Key Identifier (PMKID). O PMKID faz parte do protocolo WPA e, às vezes, pode ser solicitado a um Access Point (AP) sem que um cliente esteja conectado. Capturar este PMKID permite um ataque de força bruta offline para descobrir a senha do Wi-Fi, um método frequentemente referido como um ataque "clientless" (sem cliente).

Usaremos duas ferramentas principais: hcxdumptool para capturar o PMKID do tráfego de rede e hcxtools para processar os dados capturados. Ao final deste laboratório, você terá capturado com sucesso um PMKID de um ponto de acesso simulado e o terá salvo para uma possível tentativa de cracking.

Instalar hcxtools e hcxdumptool

Nesta etapa, instalaremos as ferramentas necessárias para o nosso ataque. hcxdumptool é uma ferramenta sofisticada projetada para capturar pacotes de redes Wi-Fi, visando especificamente informações úteis para ataques, como PMKIDs. hcxtools é um conjunto de utilitários usado para converter e manipular os dados capturados em formatos compatíveis com softwares de cracking de senhas como o Hashcat.

Usaremos o gerenciador de pacotes apt-get para instalar ambas as ferramentas. Abra um terminal e execute o seguinte comando. Você precisará de privilégios sudo para instalar novos pacotes no sistema.

sudo apt-get install -y hcxtools hcxdumptool

Após a conclusão do comando, o sistema baixará e instalará ambos os pacotes e suas dependências. Você deverá ver uma saída indicando que os pacotes estão sendo descompactados e configurados.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  hcxdumptool hcxtools
0 upgraded, 2 newly installed, 0 to remove and ...
...
Setting up hcxtools (6.2.7-2) ...
Setting up hcxdumptool (6.2.7-2) ...

Com as ferramentas instaladas, estamos prontos para começar a escutar o tráfego de rede.

Usar hcxdumptool para Escutar Beacons de AP em uma Interface

Nesta etapa, usaremos o hcxdumptool para começar a capturar pacotes sem fio. Para este laboratório, uma interface sem fio virtual chamada mon0 foi criada para você em modo monitor. O modo monitor permite que a interface capture todo o tráfego Wi-Fi no ar, não apenas o tráfego destinado a ela.

Executaremos o hcxdumptool e o direcionaremos para nossa interface de monitoramento. Também ativaremos uma exibição de status para ver o que a ferramenta está fazendo em tempo real.

Execute o seguinte comando no seu terminal. O ambiente do laboratório já está executando um Ponto de Acesso (AP) de teste chamado TestAP, que o hcxdumptool detectará.

sudo hcxdumptool -i mon0 --enable_status=1
  • -i mon0: Especifica a interface a ser usada para captura.
  • --enable_status=1: Ativa a exibição de status, que mostra informações sobre redes encontradas e dados capturados.

Assim que você executar o comando, o hcxdumptool começará a escanear. Você verá uma tabela de pontos de acesso e clientes detectados. Deixe-o rodar por cerca de 15-20 segundos.

start capturing (stop with ctrl+c)
INTERFACE:...............: mon0
FILTERLIST (MAC).........: 0 entries
FILTERLIST (ESSID).......: 0 entries
MAC ACCESS POINT.........: 2a:50:e4:4c:a8:75 (incremented on every new client)
MAC CLIENT...............: 2e:50:e4:4c:a8:75 (incremented on every new client)
REPLAYCOUNT..............: 64326
ANONCE...................: 2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a

[21:12:30 - 001] [FOUND ACCESS POINT: 02:00:00:00:01:00 (TestAP)]
...

Após um curto período, você pode parar o processo de captura pressionando Ctrl+C no terminal.

Identificar um Hash PMKID na Saída da Ferramenta

Nesta etapa, você aprenderá a identificar quando um PMKID foi capturado com sucesso. Enquanto o hcxdumptool está em execução, ele sonda ativamente os pontos de acesso para ver se eles responderão com um PMKID. Quando for bem-sucedido, ele imprimirá uma mensagem clara no console.

Se você deixou o comando da etapa anterior rodar, você deverá ter visto uma linha semelhante à abaixo. Esta linha é a confirmação de que temos o que precisamos.

[21:12:32 - 001] [FOUND PMKID] 02:00:00:00:01:00 -> 2e:50:e4:4c:a8:75

Vamos analisar esta saída:

  • [FOUND PMKID]: Este é o indicador chave. Significa que o hcxdumptool solicitou e recebeu com sucesso um PMKID.
  • 02:00:00:00:01:00: Este é o BSSID (endereço MAC) do Ponto de Acesso (TestAP).
  • -> 2e:50:e4:4c:a8:75: Este é o endereço MAC da estação (nosso cliente virtual) que o hcxdumptool usou para fazer a solicitação.

Ver esta mensagem significa que você capturou com sucesso o PMKID. Você não precisa executar nenhum novo comando nesta etapa; o objetivo é entender a saída da etapa anterior.

Compreender a Vantagem do PMKID sobre Handshakes

Nesta etapa, discutiremos por que o ataque PMKID é um avanço significativo em relação aos métodos tradicionais de cracking de WPA/WPA2.

O método clássico para quebrar uma senha de Wi-Fi envolve a captura de um handshake de 4 vias completo. Este handshake ocorre quando um dispositivo cliente (como um laptop ou telefone) se autentica com sucesso em um ponto de acesso. Para capturá-lo, um atacante deve esperar que um dispositivo se conecte ou forçar um dispositivo conectado a desconectar e, em seguida, reconectar. Isso tem uma grande desvantagem: depende inteiramente da presença e atividade de um dispositivo cliente. Se nenhum dispositivo estiver conectado, ou se eles não se reconectarem enquanto você estiver escutando, você não poderá capturar o handshake.

O ataque PMKID supera essa limitação. O PMKID faz parte do processo de associação inicial, especificamente dentro do Elemento de Informação de Rede de Segurança Robusta (RSN IE) que os APs modernos transmitem em seus beacon frames. O hcxdumptool pode solicitar ativamente essas informações do AP sem a presença de nenhum cliente legítimo.

A principal vantagem é que este ataque é sem cliente (clientless). Precisamos apenas estar ao alcance do AP alvo. Isso torna o processo de aquisição de um hash que pode ser crackeado muito mais rápido e confiável, pois não estamos mais esperando passivamente que um cliente aja.

Salvar o Hash PMKID em um Arquivo para Cracking

Nesta etapa final, executaremos o hcxdumptool novamente, mas desta vez salvaremos os dados capturados contendo o PMKID em um arquivo. Este arquivo pode então ser usado com outras ferramentas como hcxpcapngtool e hashcat para cracking offline.

Usamos o flag -o para especificar um arquivo de saída. O formato padrão para essas capturas é pcapng.

Execute o seguinte comando. Ele iniciará a captura e salvará quaisquer descobertas em um arquivo chamado captured_pmkid.pcapng em seu diretório atual (~/project).

sudo hcxdumptool -i mon0 -o captured_pmkid.pcapng --enable_status=1

Deixe a ferramenta rodar até que você veja a mensagem [FOUND PMKID] novamente. Assim que a vir, você pode parar a captura com Ctrl+C.

Após parar a ferramenta, verifique se o arquivo foi criado listando o conteúdo do diretório:

ls -l

Você deverá ver o arquivo captured_pmkid.pcapng na saída:

total 8
-rw-r--r-- 1 root  root  1060 Dec 12 21:15 captured_pmkid.pcapng
-rw-r--r-- 1 labex labex  159 Dec 12 21:10 hostapd.conf

Este arquivo agora contém o PMKID da rede TestAP. O próximo passo lógico em um ataque real seria converter este arquivo em um formato de hash e usar uma ferramenta de cracking de senha para encontrar a senha original.

Resumo

Neste laboratório, você aprendeu com sucesso os fundamentos do ataque WPA/WPA2 sem cliente (clientless) capturando um PMKID.

Você começou instalando os pacotes essenciais hcxtools e hcxdumptool. Em seguida, usou o hcxdumptool para escutar em uma interface em modo monitor, identificou a mensagem [FOUND PMKID] confirmando uma captura bem-sucedida e compreendeu a principal vantagem teórica deste método sobre os ataques tradicionais baseados em handshake. Finalmente, você salvou o PMKID capturado em um arquivo pcapng, preparando-o para a próxima etapa de uma auditoria de segurança, que seria o cracking de senha offline. Esta habilidade é uma adição valiosa ao conjunto de ferramentas de qualquer testador de segurança sem fio.