MD5 en Linux, como usarlo? Y para que nos sirve?

El algoritmo MD5 es una función hash muy utilizada en Linux (aunque está siendo progresivamente sustituido por SHA), que tiene dos aplicaciones principales:

  • login en Linux: en Linux se utiliza(ba) el algoritmo MD5 para encriptar las claves de los usuarios y es el valor hash el que se almacena. En el login se aplica MD5 al password y si el valor hash obtenido coincide con el almacenado el usuario es autentificado.
  • descargas de archivos de Internet: el algoritmo MD5 se utiliza ampliamente en las descargas de archivos de Internet para asegurarse de que el archivo no se ha alterado, ya sea de manera intencionada (virus o troyanos introducidos en el software por un usuario malicioso) o por una descarga incompleta o corrupta.

Cómo se usa MD5

En Linux disponemos del comando md5sum (paquete coreutils), el cual aplicado a un documento devuelve la suma MD5.

Comprobar la suma MD5 de un archivo: En muchos sitios de descarga, y para que puedas comprobar que el fichero que te has bajado no está corrupto, suelen poner el MD5 del fichero. Por ejemplo, supongamos que nos hemos descargado una ISO de ubuntu server. Sacamos el MD5 de la ISO y lo comprobamos con lo que nos dice en su web.

Parece que nuestro resultado y el que pone en la web es el mismo, por lo que podemos estar seguro que el fichero descargado está en perfectas condiciones.

root@javi:/home/jsanjose# md5sum ubuntu-10.04.3-server-amd64.iso
84b43b7bbee85d0af8e11b778c8d1290  ubuntu-10.04.3-server-amd64.iso
root@javi:/home/jsanjose#

 

 

También se puede saber el MD5 de una palabra, es decir, encriptar nuestra clave, por ejemplo.

Para esto podemos ejecutar:

root@javi:/home/jsanjose# echo "jsanjose" | md5sum
652836b25a542bb4e219e212aabdc750  -
root@javi:/home/jsanjose#

Arriba, donde decía que se utiliza(ba) MD5 para encriptar las claves de los usuarios, ponía entre parentesis (ba). Es decir, desde la versión 6 -Squeeze- ya no utiliza MD5 sino SHA-512, por lo que podemos preveer que es una encriptación más fuerte.

El proceso de desencriptación de MD5 no es sencillo. Pero podemos jugar a los informáticos y utilizar John the ripper con el que mediante fuerza bruta o diccionarios se puede desencriptar.

A modo de curiosidad, os comento algo sobre el fichero /etc/shadow, que es donde se guardan las contraseñas.

Cada línea de este archivo está formada por columnas, separadas por ‘:’, con información sobre la contraseña de un único usuario. Y para comprender fácilmente la información que contiene cada una de las columnas:

pakito:$6$3R33LPL7$w8f9u0w41qSbwDWVlSh5BSF0Wnm6pnhDfKWmkJ4mdxJEEFFGxpw/trqOWgd0x1gqEEFonWlPSfZ3CgxbuOUUr/:15253:0:99999:7:::

pakito -> Nombre del usuario (login)

$6$3R33LPL7$w8f9u0w41….. -> Contraseña encriptada. Formada entre 13 y 24 caracteres (a-z, A-Z, 0-9, \, /). Si empieza por $, indica que se ha encriptado con un algoritmo distinto a DES. Si comienza por $1$, el algoritmo de cifrado está basado en MD5.

15253 -> Dias que han pasado desde la última vez que se la contraseña fue cambiada, contados desde el 1 de enero de 1970.

0 -> Días que deben pasar como mínimo para que el usuario pueda cambiar la contraseña.

99999 -> Días durante los que la contraseña es válida. Al terminar, se tiene que cambiar la contraseña.

La semana que viene mas. Ala, a jugar a pala.

Anuncios

2 comentarios en “MD5 en Linux, como usarlo? Y para que nos sirve?

    • si lo que quieres es comprobar que “funciona”, añade, con mucho cuidado, un nuevo usuario en /etc/passwd, la suma md5 en /etc/shadow (no olvides poner el $1$), e intenta entrar al sistema con ese usuario y contraseña.

      Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s