A veces, nos encontraremos con este problema. Por ejemplo, si la contraseña está en el modo abcdabcd y no hay abcdabcd en nuestro diccionario, si lo generamos, ocupará un gran espacio. ¿Hay alguna manera de generar abcdabcd a través de abcd? En hashcat, por supuesto, es posible, y en esta sección hablaremos primero de este patrón, el patrón de ataque de combinación de diccionario (el parámetro está representado como-a 1).
Primero, describimos el significado de-a 1 a través de un ejemplo simple y luego lo llevaremos paso a paso a la aplicación compleja de este patrón.
hashcat – a 1 – m 0 mima.txt – o outfile dic.txt dic.txt
El significado de este comando es usar dic.txt Este diccionario se combina para descifrar mima.txt. Si dic.txt está compuesto por el diccionario
que se muestra en la siguiente figura, entonces el nuevo par de mima.txt se forma después de la combinación. El diccionario para descifrar es:
Es decir, cada línea en dic.txt se combina consigo misma para formar un nuevo diccionario.
Lo que se introdujo anteriormente es la combinación del mismo diccionario. Si son diccionarios diferentes, hashcat también lo admite. El comando de uso es el siguiente
significa que todas las líneas en dic1.txt se combinan con todas las líneas en dic2.txt, y el diccionario formado resuelve mima.txt.
¿En qué circunstancias se utiliza el modo combinado? En el modo combinado, generalmente, cuando la contraseña del usuario está claramente dividida en dos etapas, como: abcd1234, asdfasdf, aaa19770101,..., etc., la contraseña aparece claramente en el párrafo anterior y el párrafo posterior.
(1) En modo combinado, hashcat actualmente solo puede admitir dos diccionarios (o el mismo diccionario dos veces) para combinar, y no puede admitir múltiples diccionarios (más de 3 diccionarios) o ataques combinados del mismo diccionario más de 3 veces.
Es decir, el siguiente comando es incorrecto:
hashcat – a 1 – m 0 mima.txt – ooutfile dic.txt dic.txt
hashcat – a 1 – m 0 mima.txt – ooutfile dic1.txt dic2.txt dic3.txt
(2) En el modo combinado, los directorios tampoco son admitidos (en el artículo anterior, en el modo-a 0, se admite todo el directorio), lo que significa que las dos siguientes situaciones tampoco son admitidas.
hashcat – a 1 – m 0 mima.txt – ooutfile/dic/
hashcat – a 1 – m 0 mima.txt – ooutfile/dic/*.txt
(3) Problemas de puntualidad
Al utilizar el modo combinado, si el diccionario es grande, digamos que dos diccionarios son 10.000.000, entonces el espacio combinado es 100.000.000.000.000, lo que equivale a 10.000.000 de diccionarios (cada diccionario tiene 10.000.000 de entradas), entonces el espacio es demasiado grande y puede haber una gran cantidad de repeticiones. Aunque la cobertura aumenta, la puntualidad no es alta.
El descifrado por fuerza bruta, como su nombre lo indica, consiste en agotar violentamente el espacio de texto claro especificado. Es un método inútil (porque no hay forma de reducir el espacio agotado).
Antes de hablar formalmente sobre el hackeo por fuerza bruta, hablemos primero de agotar el espacio. Tomando como ejemplo las letras minúsculas + números comunes, si la longitud de la contraseña es 4, su espacio es 36**4=1679616, que no parece grande y saldrá en un rato; Si la longitud de la contraseña es 8, su espacio es 36**8=2821109907456. Si el tiempo de resolución es 1000.000.000 (mil millones de veces/s), el tiempo de resolución es de aproximadamente 2820 segundos, aproximadamente 47 minutos, lo que parece ser soportable; Si la longitud de la contraseña es 10, su espacio es 36**10= 3656158440062976. Si el tiempo de resolución es 1000.000.000 (mil millones de veces/s), entonces el tiempo de resolución supera las 1000 horas, entonces no hay forma de aceptarlo.
Hay muchos tipos diferentes de modos de descifrado por fuerza bruta (los parámetros se expresan como-a 3) en hashcat. A continuación, los describiremos uno por uno.
En hashcat, hay 8 conjuntos de caracteres predeterminados integrados, a saber, l (26 letras minúsculas), u (26 letras mayúsculas), d (10 números), H (minúsculas hexadecimal caracteres), H (mayúsculas hexadecimal caracteres), s (caracteres especiales 31), A (colección de 95 caracteres completos de l, u, d, s) y b (binario
Ejemplo
(1) Si se agota el espacio de 6 bits de letras minúsculas, el comando es el siguiente:
(2) Si se agota el espacio de 8 bits de caracteres completos, el comando es el siguiente:
(3) Si se agota todo el espacio numérico con un rango de 4-6 bits, el comando es el siguiente:
Aquí, se agrega un parámetro- -inrcement- -increment-min 4- -inrcement- -increment-max 6 representa los valores mínimo y máximo de la longitud de agotamiento.
El modo de combinación aquí es el modo de organización en el modo exhaustivo, no el modo de (-a 1).
Dé un ejemplo directo para ilustrar:
(1) Una contraseña exhausta el rango. Se supone que la longitud de la contraseña es 6. El primer dígito es el conjunto de caracteres completo, el segundo dígito es minúscula. letras y el tercer dígito es mayúscula. Las letras, el cuarto, quinto y sexto dígito son el conjunto de caracteres completo, entonces el comando puede usar el siguiente modo:
(2) Varios modos de combinación se dan a continuación,
Uno: Si el rango de una contraseña es mayúscula + número y la longitud es 6, el comando es el siguiente:
¿Usar-1 aquí? ¿Yo? ¿Usted? d significa letras mayúsculas y minúsculas + números.
2: Si el rango exhaustivo es de 6 dígitos, el primer y cuarto dígitos son mayúsculas + números, el segundo dígito es mayúsculas, el tercer y quinto dígitos son mayúsculas + números y el sexto dígito es un dígito, entonces el comando es el siguiente:
Por supuesto, también puede especificar la longitud mínima y la longitud máxima, como se muestra en la siguiente figura
Anteriormente, presentamos que hashcat tiene 8 tipos de conjuntos de caracteres integrados, pero ¿qué pasa si el conjunto de caracteres que el usuario necesita no está dentro de estos 8 tipos? ¿Qué hacer? No importa, hashcat también ha preparado un rico modo de ataque de violencia bruta personalizado para todos.
Al utilizar el comando hashcat – h, puede ver que se define el siguiente modo de uso
A continuación, lo explicamos a través de ejemplos:
(1) Si la longitud de la contraseña es de 8 bits y cada bit consta de "0123456789aqwcfhj,. < > = -_ +", se puede utilizar el siguiente comando.
También puedes escribir estos caracteres en un archivo, como char.txt, usando el siguiente comando.
(2) Si la longitud de la contraseña es de 8 bits, el primer, tercer y sexto bits están en "43545yt", el segundo y cuarto bits están en "345dfv- = _ +", y el quinto y siete bits están en "9vjnbbf-brg" y el octavo bits están en "345fkfggh", entonces se puede usar el siguiente comando.
Por supuesto, también puedes escribir estos caracteres en diferentes archivos, como char1.txt, … … …, utilizando el siguiente comando.
Nota: Algunos símbolos tendrán significados especiales en la línea de comandos, por lo que cuando hay símbolos especiales en el conjunto de caracteres, es mejor escribir estos símbolos en forma de archivo.
(3) Sobre la base de (2), agregue la longitud mínima y la longitud máxima, como 4-8 bits. Entonces puede usar el siguiente comando.
En el artículo anterior, presentamos el uso de algunos parámetros. Hoy, seguiremos presentando algunos parámetros comúnmente utilizados. Hoy me centraremos en los parámetros de visualización de pantalla
El artículo anterior presentó los comandos relacionados con la salida de archivos (-o/ - -outfile-format). A través de estos comandos, los resultados de la descifración de la contraseña hashcat se pueden generar en un determinado formato. al archivo. Pero mientras hashcat se ejecuta, no podemos ver qué contraseñas ha descifrado hashcat. Si trabajamos en hashcat, podemos imprimir directamente la contraseña descifrada por hashcat en la pantalla, lo que será más intuitivo y conveniente. Hay exactamente varios parámetros en hashcat que pueden generar los resultados de ejecución de hashcat a la pantalla.
El comando show generará el hash descifrado y la contraseña almacenados en caché en el archivo pot a la ventana de pantalla.
El comando left generará el valor hash que hashcat no ha descifrado a la pantalla
El comando stdout no descifra contraseñas, pero imprime el contenido del diccionario utilizado para descifrar contraseñas.
Hashcat tiene muchos comandos y los diferentes parámetros son muy diferentes. Si desea aprovechar al máximo las funciones y funciones de Hashcat, se recomienda que todos utilicen más Pruebe diferentes comandos para familiarizarse con la combinación de diferentes comandos de Hashcat. Para la función de los parámetros hashcat, puede aprender de la ayuda en línea de hashcat (-h).