
Un pequeño conjunto de herramientas para convertir paquetes de archivos de captura en archivos hash para usar con Hashcat o John the Ripper.
Un pequeño conjunto de herramientas para convertir paquetes de archivos de captura a archivos hash para su uso con Hashcat o John the Ripper.
Estas herramientas son 100% compatibles con Hashcat y John the Ripper y están respaldadas por Hashcat.
El propósito principal de hcxtools es detectar puntos débiles dentro de la propia red WiFi analizando los hashes. Por lo tanto, la conversión del archivo de volcado a un archivo hash WPA-PBKDF2-PMKID+EAPOL permite al usuario verificar si la WLAN-KEY o el PMK se transmitieron sin cifrar. O subir el archivo de volcado "sin depurar" (pcapng, pcap, cap) aquí para descubrir si su AP o el CLIENTE son vulnerables utilizando listas de palabras comunes o un algoritmo de generación de contraseñas débil.
Soporte para modos hash de Hashcat: 4800, 5500, 2200x, 16100, 250x (obsoleto) y 1680x (obsoleto).
Soporte para modos hash de John the Ripper: WPAPSK-PMK, PBKDF2-HMAC-SHA1, chap, netntlm y tacacs-plus.
Soporte para compresión de archivo único gzip (.gz).
Una visión general del modo 22000 de Hashcat. - (https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2)
Artículo antiguo pero aún aplicable de atom de los foros de Hashcat que cubre un nuevo ataque a WPA/WPA2 usando PMKID. - (https://hashcat.net/forum/thread-7717.html)
Artículo sobre el modo 22000 de Hashcat de atom de los foros de Hashcat. - (https://hashcat.net/forum/thread-10253.html)
No soportado: Windows OS, macOS, Android, emuladores o wrappers.
No descifran hashes relacionados con WPA PSK. (Use Hashcat o JtR para recuperar el PSK).
No descifran WEP. (Use el paquete aircrack-ng en su lugar).
No descifran WPS. (Use Reaver o Bully en su lugar).
No descifran tráfico cifrado. (Use tshark o Wireshark para hacerlo).
hcxdumptool -> hcxpcapngtool -> hcxhashtool (adicional hcxpsktool/hcxeiutool) -> hashcat o JtR
En la mayoría de las distribuciones, hcxtools está disponible a través del gestor de paquetes.
Si decide compilar la última versión de git head, asegúrese de que su distribución esté actualizada a su última versión y asegúrese de que todos los archivos de cabecera y dependencias estén instalados.
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make -j $(nproc)
Instalar en /usr/bin:
make install (como superusuario)
O instalar en /usr/local/bin:
make install PREFIX=/usr/local (como superusuario)
Quizás esperes que recomiende que todos deberían usar hcxdumptool/hcxtools. Pero la realidad es que hcxdumptool/hcxtools NO se recomienda para usuarios sin experiencia o novatos. Si no estás familiarizado con Linux en general o si no tienes al menos un nivel básico de conocimiento como se menciona en la sección "Requisitos", hcxdumptool/hcxtools probablemente no es lo que buscas. Sin embargo, si tienes ese conocimiento, estas herramientas pueden hacer magia.
Si decide compilar la última versión de git head, asegúrese de que su distribución esté actualizada a su última versión.
| Script | Descripción |
|---|---|
| piwritecard | Script de ejemplo para restaurar tarjeta SD |
| pireadcard | Script de ejemplo para respaldar tarjeta SD |
| hcxgrep.py | Extraer registros de archivo m22000/hccapx/pmkid basado en expresión regular |
La mayoría de los archivos de salida se agregarán a archivos existentes (con la excepción de archivos pcapng, pcap, cap).
Se recomienda usar el modo hash 22000 (22001) en lugar de los modos obsoletos 2500 (2501) y 16800 (16801).
hcxtools están diseñados para ser herramientas de análisis. Esto significa que todo se convierte por defecto y la información no deseada debe filtrarse.
Advertencia: ¡No combine archivos de volcado! ¡Esto DESTRUIRÁ los valores hash asignados por bloques personalizados!
Las herramientas NO realizan CORRECCIONES DE ERRORES DE NONCE. En caso de pérdida de paquetes, obtendrá un PTK incorrecto.
Esta rama está bastante sincronizada con los repositorios de Hashcat y John the Ripper.
Cada hash EAPOL en la línea hash WPA*02* se construye a partir de dos mensajes
de handshake. Un mensaje proporciona la trama EAPOL (que contiene el MIC
contra el cual verificar y un nonce ya incrustado en el desplazamiento de byte 17). El
otro mensaje proporciona el segundo nonce que no está presente en la trama.
Juntos le dan a hashcat todo lo que necesita: ANonce + SNonce + MIC +
Trama EAPOL.
Hay tres elecciones independientes al construir un hash a partir de un handshake 4 vías completo:
Eso da 2 x 2 x 3 = 12 combinaciones teóricas.
Pero la trama EAPOL ya contiene un nonce incrustado en el desplazamiento de byte 17 (SNonce en M2/M4, ANonce en M3). Hashcat lo extrae automáticamente. Solo necesita el otro nonce suministrado externamente. Así que el modelo real es: 3 fuentes EAPOL x 2 fuentes de nonce externo = 6 pares de mensajes.
Dentro de una sesión de handshake, M1 y M3 llevan el mismo valor de ANonce, y M2 y M4 llevan el mismo valor de SNonce. Intercambiar de qué mensaje proviene el nonce externo no cambia el nonce en sí. Por lo tanto, cada par de pares de mensajes que comparten la misma fuente EAPOL produce un hash idéntico. 6 pares se reducen a 3 hashes únicos, uno por fuente EAPOL.
Las filas se agrupan por fuente EAPOL (Hash 1/2/3). Los pares dentro del mismo grupo producen hashes descifrables idénticos.
La columna ID usa el formato N{fuente nonce}E{fuente eapol}. Por ejemplo, N1E2 significa que el nonce externo proviene de M1 y la trama EAPOL proviene de M2.
"Desafío" significa que solo se necesitaron M1 y M2. El AP aún no ha confirmado que la contraseña era correcta (M3 no fue necesario). "Autorizado" significa que M3 o M4 estuvieron involucrados, que solo existen después de que ambos lados verificaron el MIC. La contraseña se envió y se validó.
El Nonce de Clave de M4 debe ser 0 según IEEE 802.11i-2004 Sección 8.5.3.4. La mayoría de las implementaciones cumplen con la especificación y lo ponen a cero. Algunas reutilizan el SNonce de M2. Cuando se pone a cero, los pares de mensajes 0x01 y 0x05 no son utilizables porque hashcat no puede reconstruir ambos nonces. En la práctica, la mayoría de las capturas producen solo Hash 1 y Hash 2.
Quizás esperes que recomiende que todos deberían usar hcxdumptool/hcxtools. Pero la realidad es que hcxdumptool/hcxtools NO se recomienda para usuarios sin experiencia o novatos.
Si no estás familiarizado con Linux en general o no tienes al menos un nivel básico de conocimiento como se menciona en la sección "Requisitos", hcxdumptool/hcxtools probablemente no es lo que buscas. Sin embargo, si tienes ese conocimiento, hcxdumptool/hcxtools puede hacer magia por ti.
Todo el conjunto de herramientas (hcxdumptool y hcxtools) está diseñado para ser un conjunto de herramientas de análisis.
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
| Herramienta | Descripción |
|---|
| hcxpcapngtool | Herramienta para convertir archivos de captura sin procesar a formatos legibles por Hashcat y JtR. |
| hcxhashtool | Herramienta para filtrar hashes de archivos HC22000 según la entrada del usuario. |
| hcxpmktool | Herramienta para calcular y verificar un PSK y/o un PMK. |
| hcxpottool | Herramienta para manejar formato ASCII y varios formatos UTF del archivo pot de hashcat. |
| hcxpsktool | Herramienta para obtener candidatos PSK débiles a partir de archivos hash o entrada del usuario. |
| hcxeiutool | Herramienta para preparar la salida -E -I -U de hcxpcapngtool para su uso con Hashcat + regla o JtR + regla. |
| hcxwltool | Herramienta para calcular candidatos para Hashcat y JtR basados en listas de palabras mezcladas. |
| hcxhash2cap | Herramienta para convertir archivos hash (PMKID&EAPOL, PMKID, EAPOL-hccapx, EAPOL-hccap, WPAPSK-john) a cap. |
| wlancap2wpasec | Herramienta para subir múltiples archivos pcapng, pcap y cap (comprimidos con gzip) a https://wpa-sec.stanev.org |
| whoismac | Herramienta para mostrar información del fabricante y/o descargar la lista de referencia oui. |
| ID | Bits | Hex | Mensajes | EAPOL desde | Nonce Externo | Hash Único | Estado |
|---|
| N1E2 | 000 | 0x00 | M1+M2 | M2 (MIC + SNonce) | M1 (ANonce) | Hash 1 | desafío, predeterminado |
| N3E2 | 010 | 0x02 | M2+M3 | M2 (MIC + SNonce) | M3 (ANonce) | Hash 1 | autorizado, predeterminado |
| 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 (requiere nonce M4 distinto de cero) |
| N1E4 | 001 | 0x01 | M1+M4 | M4 (MIC + SNonce) | M1 (ANonce) | Hash 3 | autorizado, --all (requiere nonce M4 distinto de cero) |
| N3E4 | 101 | 0x05 | M3+M4 | M4 (MIC + SNonce) | M3 (ANonce) | Hash 3 | autorizado, --all (requiere nonce M4 distinto de cero) |
| Bit | Hex | Significado |
|---|
| 3 | 0x08 | Reservado |
| 4 | 0x10 | Ataque sin AP (no es necesario correcciones de error de nonce) |
| 5 | 0x20 | Router LE detectado (correcciones de error de nonce solo necesarias para LE) |
| 6 | 0x40 | Router BE detectado (correcciones de error de nonce solo necesarias para BE) |
| 7 | 0x80 | Replaycount no verificado (correcciones de error de nonce definitivamente necesarias) |