Función Hash

Función Hash

Tutorial Linux Seguridad

MD5

Para utilizar la función MD5 tenemos el siguiente comando.

md5sum [opciones] fichero

Opciones del comando:

-c Comprueba que la huella generada por el comando coincide con la que me han pasado del fichero.

-b Indico al comando que el fichero que voy a abrir es binario, es decir, todos los códigos ASCII desde el 0 al 255.

-t Indico al comando que el fichero es texto, es decir, solo caracteres imprimibles.


Creación del Hash

En este ejemplo vamos a pasar el manual del comando md5sum a un fichero txt al que llamaremos md5sum.txt, el hash lo pasaremos a un fichero que llamaremos md5sum.md5

man md5sum > md5sum.txt
md5sum -t md5sum.txt > md5sum.md5

 

Comprobación del Hash

Para comprobar si el hash anterior es correcto, utilizaremos el siguiente comando

md5sum -c md5sum.md5

 

Calcular la huella de varios ficheros

Le pasamos una carpeta, en nuestro caso /bin

md5sum -b /bin > bin.md5
md5sum -c bin.md5

Como podemos ver, nos comprueba todos los archivos ubicados en la carpeta /bin.

 

Casos Prácticos

El fichero se ha modificado

Supongamos que el fichero se ha modificado

nano md5sum.txt
md5sum -c md5sum.md5

Como podemos ver, nos ha generado un error indicando que el hash no corresponde al archivo.

WARNING: 1 computed checksum did NOT match

 

La huella ha sido modificada

Modificamos la huella del fichero de ejemplo

nano md5sum.md5
md5sum -c md5sum.md5

Como podemos ver, nos ha generado un error indicando que el hash no corresponde al archivo.

WARNING: 1 computed checksum did NOT match

 

El fichero no existe

Eliminamos el fichero de ejemplo

rm md5sum.txt
md5sum -c md5sum.md5

Como podemos ver, nos ha generado un error indicando que no se ha encontrado el archivo.

WARNING: 1 listen file could not be read

 

El fichero está en otra ubicación

Movemos a otra ubicación el fichero y comprobamos el hash

mv md5sum.txt md5sum.txt.bak
md5sum -c md5sum.md5

Como podemos ver, nos ha generado un error indicando que no se ha encontrado el archivo.

WARNING: 1 listen file could not be read

 

 

SHA

Para utilizar la función SHA tenemos el siguiente comando.

shasum [opciones] fichero

Opciones del comando:

-a Algoritmo: 1, 224, 256, 384, 512

-c Comprueba que la huella generada por el comando coincide con la que me han pasado del fichero.

-b Indico al comando que el fichero que voy a abrir es binario, es decir, todos los códigos ASCII desde el 0 al 255.

-t Indico al comando que el fichero es texto, es decir, solo caracteres imprimibles.

 

Creación del hash

En este ejemplo vamos a pasar el manual del comando shasum a un fichero txt al que llamaremos shasum.txt, el hash lo pasaremos a un fichero que llamaremos shasum.sha256

man shasum > shasum.txt
shasum -a 256 -b shasum.txt > shasum.sha256

 

Comprobación del hash

Para comprobar si el hash anterior es correcto, utilizaremos el siguiente comando

shasum -c shasum.sha256

 

Calcular la huella de varios ficheros

Le pasamos una carpeta, en nuestro caso /bin

shasum -b /bin > bin.sha256
shasum -c bin.sha256

Como podemos ver, nos comprueba todos los archivos ubicados en la carpeta /bin.

 

Casos Prácticos

 

El fichero se ha modificado

Modificamos el fichero de ejemplo y añadimos, por ejemplo, un espacio al principio del fichero

nano shasum.txt
shasum -c shasum.sha256

Como podemos ver, nos ha generado un error indicando que el hash no corresponde al archivo.

WARNING: 1 computed checksum did NOT match

 

La huella ha sido modificada

Modificamos la huella del fichero de ejemplo

nano shasum.sha256
shasum -c shasum.sha256

Como podemos ver, nos ha generado un error indicando que el hash no corresponde al archivo.

WARNING: 1 computed checksum did NOT match

 
El fichero no existe

Eliminamos el fichero de ejemplo

rm shasum.txt
shasum -c shasum.sha256

Como podemos ver, nos ha generado un error indicando que no se ha encontrado el archivo.

WARNING: 1 listen file could not be read

 

El fichero está en otra ubicación

Movemos a otra ubicación el fichero y comprobamos el hash

mv shasum.txt shasum.txt.bak
shasum -c shasum.sha256

Como podemos ver, nos ha generado un error indicando que no se ha encontrado el archivo.

WARNING: 1 listen file could not be read