Cómo usar hashcat para descifrar hashes en Linux

Descifrar contraseñas es una habilidad importante que debe aprender si le gustan las pruebas de penetración. Así es como puede descifrar hashes en Linux usando hashcat.

¿Eres un principiante en el dominio de la ciberseguridad? ¿Quieres estar en su lado ofensivo? Como miembro del equipo rojo, aprende muchas técnicas y tácticas que lo ayudan a realizar las actividades de la cadena de eliminación cibernética. Una de esas tareas es la escalada de privilegios, donde obtiene hash de contraseñas.

Hashcat es una herramienta poderosa y versátil que aplica fuerza bruta a las credenciales almacenadas utilizando hashes conocidos mediante la realización de varios modos de ataques. El artículo cubre esta utilidad de descifrado de contraseñas utilizada por probadores de penetración, administradores de sistemas, espías o piratas informáticos para encontrar contraseñas.

¿Qué son los hashes?

Hashing es una función matemática unidireccional o un identificador único que devuelve una salida de longitud fija independientemente del tamaño/longitud de entrada. Por lo tanto, es un proceso irreversible que no requiere una clave como en el cifrado para descifrar el valor hash.

El propósito más común del hashing es garantizar la integridad de los datos contra la manipulación durante la transmisión de datos. Las propiedades del hashing son las siguientes:

  • Ofrece computación rápida
  • Los buenos algoritmos evitan la misma salida para diferentes entradas
  • Tienen un carácter determinista.
  • Pequeños cambios en la entrada influyen significativamente en el valor hash de salida

¿Por qué usar hashcat?

hashcat es una utilidad de subprocesos múltiples que le permite configurar la cantidad de subprocesos y limitar la ejecución según la prioridad. Admite más de 300 algoritmos hash como MD4, MD5, SHA1, SHA512, bcrypt, HMAC-SHA512, NTLM, MySQL, WHIRLPOOL, entre muchos otros. Está disponible para todo tipo de sistemas operativos, incluidos Windows, Linux, Unix y BSD.

Formas de descifrar hashes de contraseña usando hashcat

Hashcat ofrece una variedad de modos de ataque (ataques combinados, basados ​​en reglas, adivinanzas de fuerza bruta, híbridos y de diccionario) para proporcionar una mejor cobertura. Aquí hay una explicación de algunos ataques que usa hashcat para descifrar contraseñas cifradas:

  • Ataque de fuerza bruta : un ataque de fuerza bruta utiliza todas las combinaciones de caracteres posibles para determinar la contraseña exacta. Sin embargo, tiene una limitación de longitud máxima de contraseña y número de caracteres. Además, un nivel avanzado de ataque de fuerza bruta también puede optimizar el tiempo al hacer suposiciones de complejidad. Por ejemplo, una técnica avanzada de fuerza bruta puede suponer que es más probable que el primer carácter esté en mayúsculas y que los dígitos aparezcan al final de una contraseña, etc.
  • Ataque de diccionario : un ataque de diccionario utiliza una lista precalculada de contraseñas según la información recopilada sobre el objetivo o un patrón observado entre los usuarios. Por lo tanto, toma algunas de las contraseñas más utilizadas y les agrega algunas permutaciones para aumentar el alcance.
  • Ataque híbrido : Hybrid es una combinación de los ataques mencionados anteriormente, ya que comprueba si la contraseña es "descifrable" a través de un ataque de diccionario y pasa a la técnica de fuerza bruta, si no es posible.

Cómo instalar hashcat en Linux

hashcat está disponible por defecto en Kali Linux. Para instalarlo en Ubuntu y Debian:

sudo apt-get update

sudo apt-get install hashcat

En Fedora, CentOS y otras distribuciones basadas en RHEL:

sudo dnf update

sudo dnf install hashcat

Para instalar hashcat en Arch Linux:

sudo pacman -Syu

sudo pacman -S hashcat

Después de la instalación, use el comando de ayuda para enumerar todas las opciones disponibles:

hashcat --help

  • -metro El tipo de hash con un valor predeterminado de 0, es decir, hash MD5
  • -a Tipo de ataque, 0 para ataque directo, 2 para combinación y 3 para ataque de fuerza bruta
  • -o Almacena la contraseña descifrada en un archivo de salida
  • lista de palabras Requiere una ruta a la lista de palabras de contraseñas para hacer coincidir y descifrar los hash

Descifrar hashes del archivo /etc/shadow en Linux

El archivo /etc/shadow almacena los valores distorsionados o hash de todas las contraseñas de los usuarios en Linux. Es un archivo crítico con permisos de acceso estrictos; es y solo debe ser accesible por la cuenta raíz.

Por lo tanto, si encuentra un archivo /etc/shadow legible a través de cualquier cuenta de usuario normal, puede obtener el valor hash de la cuenta raíz y descifrar el hash de la contraseña utilizando la utilidad hashcat.

Para fines de demostración, cambie a la cuenta raíz y cree una nueva cuenta de usuario alice para comprender cómo funciona hashcat:

sudo su

sudo useradd -c "Alice" alice

Cree una contraseña usando el comando passwd: passwd alice

Verifique el valor de la contraseña cifrada dentro del archivo /etc/shadow de la siguiente manera:

cut -d: -f1 /etc/shadow | grep alice

Producción: alice:$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD:19023:0:99999:7::

El hash en la salida anterior comienza desde " alice: " en adelante; guárdelo dentro de un nuevo archivo hash.txt .

Puede ir al sitio web de hashcat para identificar el tipo de función hash y el valor de referencia asociado. El modo hash SHA512 generalmente se identifica con el término $6$ y tiene un valor de referencia de 1800.

También puede buscar el método de cifrado dentro del archivo login.defs: grep ENCRYPT_METHOD /etc/login.defs

Hash de contraseña de Alice y tipo de hash

Luego, verifique el valor asociado de la función hash usando el comando hashcat de la siguiente manera:

hashcat -h | grep sha512

Hashcat Sha512

Ahora use la utilidad hashcat para descifrar el hash con el indicador -a para el modo de ataque, el indicador -m para el valor de referencia del hash (ya que no admite el nombre de la función hash), la ruta del archivo hash.txt y una ruta a la lista de palabras rockyou. texto _

hashcat -m 1800 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

Producción: $y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD:12345

Nota : en Kali Linux, el archivo rockyou.txt está disponible de forma predeterminada dentro del directorio /usr/share/wordlists . También puede usar otras listas de palabras ejecutando el siguiente comando en la terminal:

locate wordlists | less

Localizar listas de palabras en Kali Linux

Sin embargo, para otras distribuciones de Linux, deberá descargar el archivo rockyou.txt del repositorio de GitHub de la siguiente manera:

wget https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-20.txt

Sin usted, esta web no existiria. Gracias por visitarme, espero que le haya gustado y vuelva. Gracias ☺️

Articulos tematica linux

Fecha actualizacion el 2022-02-09. Fecha publicacion el 2022-02-09. Categoria: linux Autor: Oscar olg Mapa del sitio Fuente: makeuseof