Hashcat es una herramienta de explosión de contraseñas y una de las herramientas esenciales para la seguridad de la información. Por favor, coloque este artículo para registrar y resumir en caso de emergencia. También puede ayudar a los internautas que lean este artículo.
Hashcat es el programa de descifrado de contraseñas más rápido del mundo. Es una herramienta distribuida de código abierto que admite múltiples plataformas y múltiples algoritmos.
Oficial: https://hashcat.net/hashcat/
Github:https://github.com/hashcat/hashcat
https://github.com/hashcat/hashcat/releases 下载最新版压缩包,解压根据自己的平台运行 hashcat64.exe 或者 hashcat32.exe
Especifica el tipo de hash a descifrar, seguido del número correspondiente al tipo de hash
Especifica el modo de descifre a usar, cuyo valor se refiere a los parámetros siguientes:
- [ Attack Modes ] - # | modo ===+====== 0 | recto # Descifrado de diccionario directo 1 | combinación # combinación crack 3 | Brute-force # Mask Brute force 6 | híbrido lista de palabras + máscara # diccionario + máscara crack 7 | híbrido máscara + lista de palabras # máscara + diccionario crack
Habilite el modo de crack incremental, permitiendo que hashcat realice el crack dentro del rango de longitud de contraseña especificado
La longitud mínima de la contraseña, seguida directamente de un número entero, configure el modo de incremento para usarlo juntos
La longitud máxima de la contraseña, seguida directamente de un número entero, configure el modo de incremento para usarlo juntos
Ignorar el mensaje de advertencia durante el proceso de crack
Eliminar el hash que ha sido cifrado con éxito
- -outfile Especifica el hash después del descifrado exitoso y la ubicación de almacenamiento de la contraseña de texto claro correspondiente
- -optimized-kernel-enable Habilita el kernel optimizado (limita la longitud de la contraseña)
- -opencl-devices Especifica el dispositivo de opencl. La lista de dispositivos que admito aquí es la siguiente:
Código
* Dispositivo #1: Intel (R) Core (TM) i7-9750H CPU @ 2,60 GHz, Omitido. * Dispositivo #2: Intel (R) UHD Gráficos 630, 384/1536 MB Asignable, 24MCU * Dispositivo #3: AMD Radeon Pro 555X Compute Engine, 1024/4096 MB Asignable, 12MCU
- -opencl-device-types Especifique el tipo de dispositivo de opencl. Hashcat admite los siguientes tipos de dispositivo:
bash
1 | CPU2 | GPU3 | FPGA, DSP, Co-procesador
Generalmente comúnmente utilizado -D 2 Especifique descifrado de GPU
bash
? | Conjunto de caracteres = = = + = = = = = = = = = =
l | abcdefghijklmnopqrstuvwxyz # Letras minúsculas a-z
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ # Letras mayúsculas A-Z
d | 0123456789 # Números 0-9
h | 0123456789abcdef # digital + abcdef
H | 0123456789ABCDEF # digital + ABCDEF
s | ! "#$%&'()*+,-./:; <=>? @ [\] ^_` {|} ~ # Carácter especial
¿A | ? ¿Yo? ¿Usted? ¿d? s # Todos los caracteres visibles en el teclado
b | 0 - 0xff # puede ser una regla de máscara personalizada
bash
- -custom-charset1 [chars] equivalente a -1 - -custom-charset2 [chars] es equivalente a -2 - -custom-charset3 [chars] equivalente a -3 - -custom-charset4 [chars] equivalente a -4
en la máscara con ? 1、? 2、? 3、? 4 para representar
algunos casos:
bash
- -custom-charset1 abcd123456! @- +
¿Ahora? ¡1 significa abcd123456! @- +
bash
- -custom-charset2 ? ¿Yo? d
¿En este momento? ¿2 significa ? ¿Yo? ¿d es ? h Número + letra minúscula:
bash
-3 abcdef -4 123456
¿En este momento ? 3? 3? 3? 3? 4? 4? 4? 4 se expresa como los primeros cuatro dígitos pueden ser abcdef y los últimos cuatro dígitos pueden ser 123456
código
1q2w3e4r` El valor de MD5 es `5416d7cd6ef195a0f7622a9c56b55e84
bash
hashcat -a 0 -m 0 ' 5416d7cd6ef195a0f7622a9c56b55e84 ' hashpass.txt -o success.txt
A veces aparecerá el siguiente mensaje al descifrar:
Código
INFO: ¡TODOS los hash encontrados en potfile! Use - -show to display them.
Esto muestra que hemos descifrado con éxito la contraseña antes, por lo que el hashcat ya no se muestra. Puede agregar el parámetro más tarde- -show para mostrar la contraseña:
bash
hashcat -a 0 -m 0 ' cbc8f5435c87e13c5d14e6ce92358d68 ' hashpass.txt - -show cbc8f5435c87e13c5d14e6ce92358d68:123456@abc
Hashcat almacena el archivo de contraseña descifrado con éxito en: ~ /. hashcat/hashcat.potfile
Si desea mostrar directamente la contraseña descifrada, puede borrar directamente el archivo.
bash
# Eliminar los registros anteriores descifrados con éxito rm ~ /. hashcat/hashcat.potfile# hash.txt es la contraseña a descifrar hashpass.txt es el diccionario Exportar los resultados descifrados a success.txt y eliminar los hashcat descifrados con éxito de hash.txt -a 0 -m 0 hash.txt hashpass.txt -o success.txt - -remove
bash
hashcat -a 1 -m 0 {'Diccionario + máscara crack
bash
echo -n admin888 |openssl md5 7fef6171469e80d32c0559f88b377245Descifre el valor MD5 de admin888 :
bash
hashcat -a 6 -m 0 ' 7fef6171469e80d32c0559f88b377245 ' hashpass.txt -Omáscara + diccionario crack
bash
hashcat -a 7 -m 0 ' 7fef6171469e80d32c0559f88b377245 ' ' admi? ¿Yo? ¿d? ¿d? d ' hashpass.txt -Ocaso de descifrado
cifrado digital de cifrado MD5 de 8 bits
cifrado MD5 en 23323323 :
bash
$ echo -n 23323323 |openssl MD5 5a745e31dbbd93f4c86d1ef82281688bUtilice hashcat para descifrar:
bash
hashcat -a 3 -m 0 - -force ' 5a745e31dbbd93f4c86d1ef82281688b ' '? ¿d? ¿d? ¿d? ¿d? ¿d? ¿d? ¿d? d ' -ODescifrado de letras mayúsculas y minúsculas cifradas MD5 de 8 bits
bash
$ echo -n contraseña |openssl MD5 a9d402bfcde5792a8b531b3a82669585Utilice hashcat para hackear:
bash
hashcat -a 3 -m 0 -1 '? ¿Yo? u ' - -¿Fuerza ' a9d402bfcde5792a8b531b3a82669585 ' '? 1? 1? 1? 1? 1? 1? 1? 1 ' -OAquí se define una regla personalizada -1, ¿en este momento ? ¿1 significa ? ¿Yo? u, es decir, letras mayúsculas y minúsculas.
Letras mayúsculas y minúsculas cifradas MD5 de 5-7 bits + cifrado numérico
El valor MD5 de Admin88 es 2792e40d60bac94b4b163b93566e65a9
bash
hashcat -a 3 -m 0 -1 '? ¿Yo? ¿Usted? d ' - -fuerza ' 2792e40d60bac94b4b163b93566e65a9 ' - -incremento - -incremento-min 5 - -incremento-max 7 '? 1? 1? 1? 1? 1? 1? 1 ' -OAquí se define una regla personalizada -1. ¿En este momento ? ¿1 significa ? ¿Yo? ¿Tú? d, es decir, letras mayúsculas y minúsculas + números.
admin Los primeros 10 dígitos de letras mayúsculas y minúsculas cifradas MD5+ números cifrados
admin23323 El valor MD5 de es a9991129897a44e0d1c2855c3d7dccc4
bash
hashcat -a 3 -m 0 -1 '? ¿Yo? ¿Usted? d ' - -fuerza ' a9991129897a44e0d1c2855c3d7dccc4 ' ' ¿Administrador? 1? 1? 1? 1? 1 ' -OMySQL4.1/MySQL5
Contraseña para ver MySQL:
mysql
mysql > Seleccionar Contraseña from mysql.user; +-------------------------------------------+ | Contraseña | +-------------------------------------------+ | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +-------------------------------------------+ 4 filas en set (0.00 sec)Luego comience a usar el descifrado del diccionario:
bash
hashcat -a 0 -m 300 - -force ' 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B ' hashpass.txt -OLinux/etc/shadow sha512crypt $6$, SHA512 (Unix)
Ver archivo de contraseña /etc/shadow :
bash
root@kali-linux: ~ # cat /etc/shadowroot:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1:18201:0:99999:7::: daemon:*:18024:0:99999:7::: bin:*:18024:0:99999:7::: sys:*:18024:0:99999:7::: Sincronización:*:18024:0:99999:7::: Juegos:*:18024:0:99999:7::: Hombre:*:18024:0:99999:7::: lp:*:18024:0:99999:7::: Correo:*:18024:0:99999:7::: Noticias:*:18024:0:99999:7::: uucp:*:18024:0:99999:7::: proxy:*:18024:0:99999:7::: WWW-Datos:*:18024:0:99999:7::: Copia de seguridad: *: 18024:0:99999:7::: Lista:*:18024:0:99999:7::: irc:*:18024:0:99999:7::: gnats:*:18024:0:99999:7::: Nadie: *: 18024:0:99999:7::: _apt:*:18024:0:99999:7::: systemd-timesync:*:18024:0:99999:7::: systemd-network:*:18024:0:99999:7::: systemd-resolve:*:18024:0:99999:7::: mysql:!: 18024:0:99999:7::: ntp:*:18024:0:99999:7::: MensajeBus:*:18024:0:99999:7::: arpwatch:!: 18024:0:99999:7::: Debian-exim:!: 18024:0:99999:7::: uuidd:*:18024:0:99999:7::: Calcetines rojos:!: 18024:0:99999:7::: tss:*:18024:0:99999:7::: rwhod:*:18024:0:99999:7::: Yodo:*:18024:0:99999:7::: miredo:*:18024:0:99999:7::: dnsmasq:*:18024:0:99999:7::: postgres:*:18024:0:99999:7::: usbmux:*:18024:0:99999:7::: rtkit:*:18024:0:99999:7::: Impresionante 4:!: 18024:0:99999:7::: sshd:*:18024:0:99999:7::: Debian-snmp:!: 18024:0:99999:7::: sslh:!: 18024:0:99999:7::: Pulso:*:18024:0:99999:7::: Despachador de discursos:!: 18024:0:99999:7::: avahi:*:18024:0:99999:7::: saned:*:18024:0:99999:7::: inetsim:*:18024:0:99999:7::: Color:*:18024:0:99999:7::: geoclue:*:18024:0:99999:7::: Rey-Phisher:*:18024:0:99999:7::: Debian-gdm:*:18024:0:99999:7::: dradis:*:18024:0:99999:7::: Carne de res-XSS:*:18024:0:99999:7::: systemd-coredump:!!: 18082:::::::Puede ver que root tiene una contraseña. El método de cifrado anterior de $6 superficial hash es: sha512crypt $6$, SHA512 (Unix).
bash
# Contraseña raíz de descifrado de máscara No registra el hash descifrado exitoso en el archivo potfile Especifique el dispositivo 2 (pantalla central) para ejecutar la contraseña y activar la optimización hashcat -a 3 -m 1800 - -force ' $6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1 ' '? ¿Yo? ¿Yo? ¿Yo? l ' -O -d 2 - -potfile-disable# Contraseña raíz de descifrado de máscara Ignora el nombre de usuario No registra el descifrado exitoso en potfile hash Especifique el dispositivo 2 (visualización central) para ejecutar la contraseña y activar la optimización hashcat -a 3 -m 1800 - -force ' root:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1 ' '? ¿Yo? ¿Yo? ¿Yo? l ' -O -d 2 - -username - -potfile-disableLa CPU y el gráfico independiente que vienen con macOS no se pueden descifrar, aquí el propio Guoguang cambió manualmente -d 2 y usó la pantalla central para correr con éxito:
![]()
Diccionario descifrado Windows LM Hash
bash
hashcat -a 0 -m 3000 - -force ' 921988ba001dc8e14a3b108f3fa6cb6d ' password.txtDiccionario hack Windows NTLM Hash
bash
hashcat -a 0 -m 1000 - -force ' e19ccf75ee54e06b06a5907af13cef42 ' password.txtDistribución Crack
| Parámetros | Tipo | Descripción | Comprensión de Guoguang | Ejemplo |
|---|---|---|---|---|
| – servidor cerebral | | Habilitar servidor cerebral | Habilitar servidor principal | |
| -z, – brain-client | | Enable brain client, activa-s | Enable Distributed client | |
| – brain-client-features | Num | Defina las características de brain client, ver más abajo | Definición de funcionalidades del cliente | – brain-client-features =3 |
| – brain-host | Str | host del servidor cerebral (IP o dominio) | IP o dominio del servidor principal | – brain-host =127.0.0.1 |
| – brain-port | port | Puerto del servidor cerebral | Puerto del servidor principal | – brain-port =13743 |
| – brain-password | Str | Contraseña de autenticación del servidor cerebral | Contraseña de autenticación del servidor principal | – brain-password = e8acfc7280c48009 |
| – brain-session | Hex | anula la sesión cerebral calculada automáticamente | Sobrescribe automáticamente la sesión principal ya calculada | – brain-session =0x2ae611db |
| – brain-session-whitelist | Hex | Permitir solo sesiones determinadas, separadas con comas | Permitir solo conversaciones determinadas, separadas por comas | – brain-session-whitelist =0x2ae611db |
bash
- [ cerebro cliente características ] - # | características ===+======== 1 | Enviar hashed Contraseñas # Enviar contraseña descifrada 2 | ENVIAR ATACK POSICIONES # ENVIAR POSICIONES HACKED 3 | Enviar hashed Contraseñas y Ataque Posiciones # Enviar Contraseña descifrada y ubicación descifrada