RECURSOS
IMPLEMENTACIÓN DE IDENTIDAD Y ACCESO
La mayoría de los números binarios se convierten a hexadecimales al mostrarse en pantalla. Esto resulta práctico, ya que utiliza 1/4 del número de caracteres para representar el mismo valor. Esto se debe a que cuatro dígitos en binario pueden utilizarse para representar los valores decimales de 0 (cuando todos los bits son cero) a 15 (cuando todos los bits son unos). Estos son los mismos rangos de valores para un solo carácter hexadecimal (es decir, 0-9 y AF (10-15)).
Con esa información, puede contar el número de caracteres hexadecimales de un hash y luego multiplicarlo por cuatro (4) para determinar su longitud. Conociendo esta longitud, puede hacer una estimación razonable del algoritmo de hash utilizado. A continuación, se presenta una breve tabla de algoritmos de hash comunes:
Algoritmo Longitud de bits Longitud hexagonal
MD5 128 32
SHA-1 160 40
SHA-224 224 56
SHA-256 256 64
SHA-384 384 96
SHA-512 512 128
El uso del hash MD5 ha quedado obsoleto. Esto significa que ya no es el algoritmo de hash preferido ni recomendado para verificar la integridad. Suele ser mejor usar SHA-256, SHA-512 o incluso SHA-1. Sin embargo, muchos sitios y servicios aún usan MD5. Por lo tanto, debe verificar la integridad de los archivos que descarga utilizando el algoritmo de hash que utilice el sitio. El proceso en este ejercicio sería el mismo. Debe cambiar a la utilidad de hash para el algoritmo de hash específico que necesite, como sha1sum, sha256sum o sha512sum.
Los algoritmos de hash más antiguos no necesariamente presentan fallos ni vulnerabilidades, pero son más propensos a colisiones. Una colisión se produce cuando dos conjuntos de datos diferentes producen el mismo valor hash (al aplicar el mismo algoritmo). Este es un aspecto conocido del hash, ya que los algoritmos aceptan entradas casi infinitas para generar un hash de longitud fija. Generalmente, los algoritmos que generan un valor hash más corto son más propensos a colisiones que aquellos con valores hash más largos.
Ingrese grep '\$' /etc/shadow .
Los sistemas Linux modernos utilizan hashes de contraseña con sal por defecto. El esquema de hashes predeterminado más común en Linux es yescrypt. Esto se confirma en la salida mediante la " y " entre los dos primeros signos de dólar. El valor " j9T " entre el segundo y el tercer signo de dólar son parámetros utilizados durante el proceso de hashes. El valor entre el tercer y el cuarto signo de dólar es la sal utilizada para generar el hash. El valor después del cuarto signo de dólar (hasta los dos puntos) es el hash de contraseña con sal.
El conjunto de caracteres predeterminado que usa John the Ripper es la tabla estándar US-ASCII de 95 caracteres (es decir, mayúsculas, minúsculas, números y símbolos presentes en un teclado estadounidense estándar). Por lo tanto, con cuatro caracteres de sal (que podrían ser cualquiera de las opciones de 95 caracteres) y la contraseña original de cinco caracteres (es decir, pass1), que tardó 10 segundos (o menos) en descifrarse, el hash con sal de esa contraseña (con una sal de 4 caracteres) tardaría 10 segundos x 95 x 95 x 95 x 95 = 814.506.250 segundos.