¿Qué clave utiliza Linux al almacenar las contraseñas de los usuarios?

7

Linux generalmente almacena los nombres de usuario y los hashes de contraseña en / etc / passwd o / etc / shadow.

Ahora digamos que tengo una antigua distribución de CentOS y quiero intentar recuperar la contraseña de un usuario (está en un contexto de aprendizaje legal en la escuela) cifrada con DES, pensé que necesitaría un texto simple y un cifrado cifrado usando la la misma clave que mi contraseña desconocida, descifrar dicha clave, luego descifrar el cifrado almacenado para dicho usuario (¿verdad?).

Ahora, mi pregunta es, ¿cómo / cuándo Linux genera claves al crear usuarios? ¿Podría asumir que la clave solía ser la misma si yo creaba un nuevo usuario? Si es así, ¿la clave utilizada por el sistema es simplemente recuperable?

    
pregunta pwny 14.10.2012 - 20:46
fuente

3 respuestas

7

En el esquema basado en DES, la contraseña con sal es una clave, y el texto sin formato es todos ceros, por lo tanto no es cifrado, ya que las funciones de clave y mensaje se intercambian.

Puede comenzar con las páginas de manual de Wiki o crypt () para leer más sobre la función crypt ():

enlace

enlace

    
respondido por el lubas 14.10.2012 - 21:26
fuente
9

Las contraseñas no están cifradas, son hashed . Es matemáticamente imposible derivar la contraseña original del hash. La verificación se realiza mediante el hashing de la contraseña que ingresa el usuario y la compara con la de la bóveda. Si coinciden, el usuario se autentica y puede iniciar sesión.

    
respondido por el Polynomial 14.10.2012 - 20:54
fuente
2

Por defecto, Linux usa SHA512 (contraseña con hash que comienza con $ 6 $) para la contraseña de usuario con hash.

crypt () admite los siguientes algoritmos hash:

          ID  | Method
          ─────────────────────────────────────────────────────────
          1   | MD5
          2a  | Blowfish (not in mainline glibc; added in some
              | Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

Para cambiar el algoritmo hash de Linux por defecto, debe editar la variable ENCRYPT_METHOD en el archivo /etc/login.defs o puede usar el programa authconfig.

Bruteforce es la única forma de descifrar el hash de contraseña. Si está buscando herramientas de craqueo, consulte JohnTheRipper o oclhashcat .

    
respondido por el insider 15.10.2012 - 00:04
fuente

Lea otras preguntas en las etiquetas