
Um pequeno conjunto de ferramentas para converter pacotes de arquivos de captura em arquivos de hash para uso com Hashcat ou John the Ripper.
Um pequeno conjunto de ferramentas para converter pacotes de ficheiros de captura em ficheiros hash para uso com Hashcat ou John the Ripper.
Estas ferramentas são 100% compatíveis com Hashcat e John the Ripper e são endossadas pelo Hashcat.
O objetivo principal do hcxtools é detetar pontos fracos na própria rede WiFi analisando os hashes. Portanto, a conversão do ficheiro de dump para ficheiro hash WPA-PBKDF2-PMKID+EAPOL permite ao utilizador verificar se a WLAN-KEY ou PMK foi transmitida sem encriptação. Ou carregar o ficheiro de dump "não limpo" (pcapng, pcap, cap) aqui para descobrir se o seu AP ou CLIENTE é vulnerável usando wordlists comuns ou um algoritmo fraco de geração de senhas.
Suporte para modos hash do Hashcat: 4800, 5500, 2200x, 16100, 250x (obsoleto) e 1680x (obsoleto).
Suporte para modos hash do John the Ripper: WPAPSK-PMK, PBKDF2-HMAC-SHA1, chap, netntlm e tacacs-plus.
Suporte para compressão de ficheiro único gzip (.gz).
Uma visão geral do modo 22000 do Hashcat. - (https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2)
Artigo antigo mas ainda aplicável de atom dos fóruns do Hashcat cobrindo um novo ataque em WPA/WPA2 usando PMKID. - (https://hashcat.net/forum/thread-7717.html)
Artigo sobre o modo 22000 do Hashcat por atom dos fóruns do Hashcat. - (https://hashcat.net/forum/thread-10253.html)
Não suportado: Windows OS, macOS, Android, emuladores ou wrappers!
Não quebram hashes relacionados a WPA PSK. (Use Hashcat ou JtR para recuperar o PSK.)
Não quebram WEP. (Use o conjunto aircrack-ng.)
Não quebram WPS. (Use Reaver ou Bully.)
Não desencriptam tráfego encriptado. (Use tshark ou Wireshark para isso.)
hcxdumptool -> hcxpcapngtool -> hcxhashtool (adicional hcxpsktool/hcxeiutool) -> hashcat ou JtR
Na maioria das distribuições, o hcxtools está disponível através do gestor de pacotes.
Se decidir compilar a versão mais recente do git head, certifique-se de que a sua distribuição está atualizada para a versão mais recente e que todos os ficheiros de cabeçalho e dependências foram instalados!
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make -j $(nproc)
Instalar em /usr/bin:
make install (como superutilizador)
Ou instalar em /usr/local/bin:
make install PREFIX=/usr/local (como superutilizador)
Poderá esperar que eu recomende que todos usem hcxdumptool/hcxtools. Mas a verdade é que o hcxdumptool/hcxtools NÃO é recomendado para utilizadores inexperientes ou iniciantes. Se não está familiarizado com Linux em geral ou se não tem pelo menos um conhecimento básico conforme mencionado na secção "Requisitos", provavelmente o hcxdumptool/hcxtools não é o que procura. No entanto, se tiver esse conhecimento, estas ferramentas podem fazer magia.
Se decidir compilar a versão mais recente do git head, certifique-se de que a sua distribuição está atualizada para a versão mais recente!
| Script | Descrição |
|---|---|
| piwritecard | Script de exemplo para restaurar SD-Card |
| pireadcard | Script de exemplo para fazer backup de SD-Card |
| hcxgrep.py | Extrair registos de ficheiro m22000 hashline/hccapx/pmkid baseado em regexp |
A maioria dos ficheiros de saída serão anexados a ficheiros existentes (com exceção de ficheiros pcapng, pcap, cap).
Recomenda-se usar o modo hash 22000 (22001) em vez dos modos obsoletos 2500 (2501) e 16800 (16801).
As hcxtools são concebidas para serem ferramentas de análise. Isto significa que tudo é convertido por predefinição e a informação indesejada deve ser filtrada!
Aviso: Não fundir ficheiros de dump! Isso DESTRUIRÁ valores hash atribuídos por blocos personalizados!
As ferramentas NÃO efetuam CORREÇÕES DE ERRO DE NONCE! Em caso de perda de pacotes, obterá um PTK errado.
Esta branch está bastante sincronizada com os repositórios do Hashcat e John the Ripper.
Cada hash EAPOL na linha hash WPA*02* é construído a partir de duas mensagens
de handshake. Uma mensagem fornece o frame EAPOL (que contém o MIC
para verificar e um nonce já embutido no offset byte 17). A
outra mensagem fornece o segundo nonce que não está presente no frame.
Juntos, eles dão ao hashcat tudo o que precisa: ANonce + SNonce + MIC +
frame EAPOL.
Existem três escolhas independentes ao construir um hash a partir de um handshake 4-way completo:
Isso dá 2 x 2 x 3 = 12 combinações teóricas.
Mas o frame EAPOL já contém um nonce embutido no offset byte 17 (SNonce em M2/M4, ANonce em M3). O Hashcat extrai isso automaticamente. Ele só precisa do outro nonce fornecido externamente. Portanto, o modelo real é: 3 fontes EAPOL x 2 fontes de nonce externo = 6 pares de mensagens.
Dentro de uma mesma sessão de handshake, M1 e M3 transportam o mesmo valor ANonce, e M2 e M4 transportam o mesmo valor SNonce. Trocar de qual mensagem o nonce externo veio não altera o nonce em si. Assim, cada par de pares de mensagens que partilham a mesma fonte EAPOL produz um hash idêntico. 6 pares colapsam para 3 hashes únicos, um por fonte EAPOL.
As linhas são agrupadas por fonte EAPOL (Hash 1/2/3). Pares dentro do mesmo grupo produzem hashes crackable idênticos.
A coluna ID usa o formato N{fonte nonce}E{fonte eapol}. Por exemplo, N1E2 significa que o nonce externo vem de M1 e o frame EAPOL vem de M2.
"Desafio" significa que apenas M1 e M2 foram necessários. O AP ainda não confirmou que a senha estava correta (M3 não foi necessário). "Autorizado" significa que M3 ou M4 estiveram envolvidos, que só existem depois de ambos os lados verificarem o MIC. A senha foi tanto enviada como validada.
O Key Nonce de M4 deve ser 0 de acordo com IEEE 802.11i-2004 Secção 8.5.3.4. A maioria das implementações está em conformidade com a especificação e coloca-o a zero. Algumas reutilizam o SNonce de M2. Quando zerado, os pares de mensagens 0x01 e 0x05 são inutilizáveis porque o hashcat não consegue reconstruir ambos os nonces. Na prática, a maioria das capturas produz apenas Hash 1 e Hash 2.
Poderá esperar que eu recomende que todos usem hcxdumptool/hcxtools. Mas a verdade é que o hcxdumptool/hcxtools NÃO é recomendado para utilizadores inexperientes ou iniciantes.
Se não está familiarizado com Linux em geral ou não tem pelo menos um conhecimento básico conforme mencionado na secção "Requisitos", provavelmente o hcxdumptool/hcxtools não é o que procura. No entanto, se tiver esse conhecimento, o hcxdumptool/hcxtools pode fazer magia por si.
O conjunto completo de ferramentas (hcxdumptool e hcxtools) foi concebido para ser um conjunto de ferramentas de análise.
https://www.kernel.org/doc/html/latest/
https://www.kernel.org/doc/html/latest/bpf/index.html
https://www.freecodecamp.org/news/the-linux-commands-handbook/
https://en.wikipedia.org/wiki/Wpa2
| Ferramenta | Descrição |
|---|
| hcxpcapngtool | Ferramenta para converter ficheiros de captura brutos para formatos legíveis pelo Hashcat e JtR. |
| hcxhashtool | Ferramenta para filtrar hashes de ficheiros HC22000 com base na entrada do utilizador. |
| hcxpmktool | Ferramenta para calcular e verificar um PSK e/ou um PMK. |
| hcxpottool | Ferramenta para lidar com formato ASCII e vários formatos UTF do ficheiro pot do hashcat. |
| hcxpsktool | Ferramenta para obter candidatos PSK fracos de ficheiros hash ou entrada do utilizador. |
| hcxeiutool | Ferramenta para preparar a saída -E -I -U do hcxpcapngtool para uso com Hashcat + regra ou JtR + regra. |
| hcxwltool | Ferramenta para calcular candidatos para Hashcat e JtR baseados em wordlists mistas. |
| hcxhash2cap | Ferramenta para converter ficheiros hash (PMKID&EAPOL, PMKID, EAPOL-hccapx, EAPOL-hccap, WPAPSK-john) para cap. |
| wlancap2wpasec | Ferramenta para carregar múltiplos ficheiros pcapng, pcap e cap (comprimidos em gzip) para https://wpa-sec.stanev.org |
| whoismac | Ferramenta para mostrar informação do fabricante e/ou descarregar lista de referência oui. |
| ID | Bits | Hex | Mensagens | EAPOL de | Nonce Externo | Hash Único | Estado |
|---|
| N1E2 | 000 | 0x00 | M1+M2 | M2 (MIC + SNonce) | M1 (ANonce) | Hash 1 | desafio, predefinição |
| N3E2 | 010 | 0x02 | M2+M3 | M2 (MIC + SNonce) | M3 (ANonce) | Hash 1 | autorizado, predefinição |
| N2E3 | 011 | 0x03 | M2+M3 | M3 (MIC + ANonce) | M2 (SNonce) | Hash 2 | autorizado, --all |
| N4E3 | 100 | 0x04 | M3+M4 | M3 (MIC + ANonce) | M4 (SNonce) | Hash 2 | autorizado, --all (requer nonce M4 não nulo) |
| N1E4 | 001 | 0x01 | M1+M4 | M4 (MIC + SNonce) | M1 (ANonce) | Hash 3 | autorizado, --all (requer nonce M4 não nulo) |
| N3E4 | 101 | 0x05 | M3+M4 | M4 (MIC + SNonce) | M3 (ANonce) | Hash 3 | autorizado, --all (requer nonce M4 não nulo) |
| Bit | Hex | Significado |
|---|
| 3 | 0x08 | Reservado |
| 4 | 0x10 | Ataque sem AP (nenhuma correção de erro de nonce necessária) |
| 5 | 0x20 | Router LE detetado (correções de erro de nonce apenas para LE necessárias) |
| 6 | 0x40 | Router BE detetado (correções de erro de nonce apenas para BE necessárias) |
| 7 | 0x80 | Replaycount não verificado (correções de erro de nonce definitivamente necessárias) |