Hashcat es conocido como la herramienta de descifrado de contraseñas más rápida del mundo. El artículo de hoy extraerá varios parámetros comunes y los combinará con comandos de descifrado de contraseñas para analizar cómo usar Hashcat para descifrado contraseñas.
Sabemos que hashcat puede descifrar una gran cantidad de tipos de contraseñas, puede descifrar alrededor de 210 contraseñas, la gran mayoría de las cuales son hash. Si desea descifrar contraseñas a través de hashcat, primero debe comprender la forma de la contraseña y luego indexar el número de la contraseña en hashcat según la forma de la contraseña.
Tomemos la contraseña: digapis y el valor de sal asdf como ejemplos para mostrar la forma de algunos valores hash.
| Número | Nombre | Tipo | Ejemplo |
|---|---|---|---|
| 0 | MD5 | Hash, longitud 32 | 8713d75511bea7e0df78c6063dc778b0 |
| 1400 | SHA256 | hash | aa106625c7de812d6118992a191ea4627e2457fa80bf6ec06f9c60cbf8e5260f |
| 1700 | SHA512 | hash | 23afac4524f62ea4d941ca4933249b2b78d19069773266abc36d6fd17a6fbe2f4ccc834acc868358ba32ddca553611218a2865f975339fe45d38cc1999f84b5e |
| 10 | MD5 ($pass.$salt) | Después de agregar sal a la contraseña, realice MD5 una vez, la contraseña está primero | 48985c61e2581c3f9ee5f1cfb775afbc: asdf |
| 20 | MD5 ($salt.$pass) | sal primero | 4fa1dd606353e055fed67d9812bddf35: asdf |
| 2600 | MD5 (MD5 ($pass)) | Realice la contraseña dos veces MD5 | 98177c3f36af4a3f77f5b87594e6cf6a |
| 3710 | MD5 ($salt.MD5 ($pass)) | Realice la contraseña una transformación MD5, agregue sal en el frente y realice MD5 nuevamente | 88a535877ec21b8786775a7074e4de4c: asdf |
| 4400 | MD5 (SHA1 ($pass)) | La contraseña realiza una transformación SHA1 y luego MD5 | ec7bf3099984001a2b0f37ba5d1d68fa |
| 4500 | SHA1 (SHA1 ($pass)) | omitido | 005a41cfe16c9a5556c7a5cdd5f1958991f2e031 |
| 1460 | HMAC-SHA256 (key = $salt) | omitido | d684ab7c38ddc262f215328334c4d0273cef10d6c5e61988f5cc87fcab8a7a60: asdf |
| 11500 | CRC32 | Omitido | 4C244A19:00000000 |
-un comando puede especificar el modo de ataque. Para descifrar contraseñas con hashcat, no basta con conocer solo el número de contraseña. También debe seleccionar el modo de ataque para descifrar contraseñas con hashcat.
Hashcat4.0.1 tiene 5 modos de ataque, cada uno con sus propias características.
| Número | Modo de ataque | Significado |
|---|---|---|
| 0 | Recta | Modo de ataque directo |
| 1 | Combinación | Modo de ataque combinado |
| 3 | Fuerza bruta | Modo de descifrado explosivo |
| 6 | Máscara de lista de palabras híbrida | Combinación de máscara de diccionario |
| 7 | Máscara Hybird + lista de palabras | Combinación de máscara + diccionario |
En estos 5 modos de ataque, podemos usar el diccionario para descifrar contraseñas. Utilice el descifrado por fuerza bruta para recorrer todas las contraseñas posibles, y también puede combinar diccionarios y máscaras para descifrar contraseñas. En diferentes modos de ataque, los parámetros utilizados por el comando hashcat son diferentes. Tomemos el modo de ataque straight como ejemplo para aprender cómo hashcat utiliza archivos de diccionario para descifrar contraseñas. Los colegas también intercalarán el uso de otros parámetros.
El modo de ataque directo consiste en utilizar directamente el diccionario para la explosión de contraseñas. Puede utilizar un único archivo de diccionario o múltiples archivos de diccionario para descifrar. También puede hacer que la explosión de contraseñas sea más eficiente combinando diccionarios con archivos de reglas.
hashcat-a 0 – m 0 mima.txt – o outfile dic.txt
-a especifica que el modo de ataque es un ataque directo, -m especifica que el tipo de hash es MD5, -o escribirá la contraseña descifrada en el archivo de salida.
El ataque de diccionario doble también es una situación en modo de ataque directo. Cuando se utilizan archivos de diccionario para explotar contraseñas, se cargarán dos archivos de diccionario. Esto amplía el espacio del archivo del diccionario.
El ataque de diccionario múltiple utiliza la carga de múltiples archivos de diccionario al mismo tiempo. El siguiente comando utiliza tres diccionarios para realizar un ataque de diccionario, cargue tres diccionarios en secuencia para explotar. dic.txt en el comando es el archivo de diccionario utilizado en la explosión.
El uso de ataques de directorio de diccionario utilizará múltiples archivos de diccionario en el directorio de diccionario para ataques directos. Se cargarán varios archivos de diccionario en el directorio de diccionario en secuencia durante el proceso de ataque directo. El dic en el siguiente comando es la carpeta donde se encuentran varios archivos de diccionario.
El comando-r/ - -rule-file aplicará múltiples reglas en el archivo de reglas a cada palabra en el diccionario. Los archivos de reglas se pueden generar usted mismo o utilizar los archivos de reglas que vienen con hashcat. Los archivos de reglas que vienen con hashcat generalmente se encuentran en la carpeta Reglas. Los archivos de reglas en la carpeta de reglas son los siguientes:
En el ataque de reglas de diccionario, se puede usar un solo diccionario, múltiples diccionarios o directorios de diccionario combinados con archivos de reglas para realizar explosión de contraseñas. De hecho, es una forma de ataque directo combinado con archivos de reglas.
Las llamadas reglas son similares a los lenguajes de programación que generan contraseñas candidatas. Pueden modificar, cortar, expandir palabras o omitir algunas operaciones basadas en operadores condicionales. De esta manera, los ataques se pueden llevar a cabo de manera más flexible y eficiente.
Los ataques de reglas se pueden usar en combinación con diccionarios dobles, diccionarios múltiples e incluso directorios de diccionarios. El método de uso es similar al ataque de regla + diccionario único.
Detrás del parámetro-o está el archivo de salida. Ingrese la contraseña descifrada en el archivo especificado a través del comando-o. El formato de almacenamiento predeterminado es hash:plain. Hay ejemplos anteriores sobre el uso de este comando, puedes ver la imagen anterior por ti mismo.
Este comando puede especificar el formato de salida del archivo outfile. El archivo Outfile tiene un total de 15 modos de salida.
Outfile-format =1 genera solo el hash de texto cifrado descifrado;
Outfile-format =2, solo genera el texto claro de la contraseña descifrada.
Además de utilizar el parámetro-o para generar, también podemos utilizar el parámetro remove para filtrar las contraseñas descifradas en el archivo de texto cifrado, dejando solo las contraseñas que no se pueden descifrar. De esta manera, se puede reducir la duplicación de esfuerzo durante la posterior descifración de contraseñas.
Cuando la cantidad de contraseñas descifradas es relativamente grande o el archivo del diccionario es muy grande, aparecerá la siguiente opción. Ingrese S en el teclado para imprimir el siguiente estado en la pantalla. A través de este estado, puede ver el progreso actual de la descifración de contraseñas.
Será más problemático ingresar S cada vez que quieras comprobar el progreso actual de la descifración de la contraseña. Esto permite que la pantalla actualice automáticamente la pantalla de estado utilizando el parámetro de estado. Reducir las operaciones que necesita realizar también puede reducir los toques accidentales.
Además de utilizar el parámetro de estado hashcat para actualizar automáticamente el estado de la pantalla, también puede utilizar el parámetro- -status-timer para configurar el intervalo de actualización de la pantalla de estado.
El uso del modo de ataque directo en Hashcat es aproximadamente lo anterior. Si estás interesado en hashcat, también puedes visitar directamente el sitio web de hashcat, que contiene una introducción detallada a los parámetros de comando de hashcat y cada modo de ataque.
El artículo se reimprime del Laboratorio de Seguridad Cibernética Dingniu