Root y mi contraseña son iguales

8

Si cat /etc/shadowpuedo obtener las contraseñas cifradas de root y mi usuario.

Estas contraseñas son las mismas (lo sé, mala seguridad) para cada cuenta, pero /etc/shadowse muestran como diferentes cadenas cifradas.

¿Por qué? ¿Se utilizan diferentes algoritmos para cada uno?

user75027
fuente
Recomendaría leer esto como un buen punto de partida. La respuesta corta es que los hash están salados, y que un hash sin sal no es ningún hash.
Boris the Spider

Respuestas:

10

Usuarios separados significa una ID de usuario separada y, por lo tanto, los algoritmos involucrarán hashes separados.

Incluso un usuario con el mismo nombre, la misma contraseña y creado al mismo tiempo (con una probabilidad casi segura) terminará con un hash diferente. Hay otros factores que ayudan a crear el cifrado.

Si desea ver un ejemplo rápido aquí , puede explicarlo mejor.

No hay tiempo
fuente
17
Solo para mencionar la palabra aquí: se llama salar el hachís.
Ulrich Schwarz
1
Usuarios separados no significa necesariamente ID de usuario separados. Las ID de usuario no tienen relación con esto. La clave primaria en /etc/passwd, /etc/shadowes el nombre de usuario, no ID de usuario (que ni siquiera se menciona en /etc/shadow).
Stéphane Chazelas
La explicación no responde a la pregunta. ¿Qué tiene que ver la ID de usuario con eso? Además, la URL realmente no arroja luz sobre la respuesta a la pregunta.
contramodo
@ StéphaneChazelas No, usuarios separados significa ID de usuario separados. Puede haber múltiples entradas en la (s) base (s) de datos de usuario con diferentes nombres de usuario para la misma ID de usuario, pero todos son el mismo usuario, comparten todos los contextos de seguridad (propiedad del archivo, señales, etc.) y difieren solo en los métodos de inicio de sesión ( por ejemplo, diferentes contraseñas y diferentes shells pero que conducen a la misma cuenta).
Gilles 'SO- deja de ser malvado'
@Gilles, no estoy de acuerdo. Puede tener diferentes usuarios con el mismo uid pero diferentes gid y gids suplementarios (vea cómo se hace referencia a los miembros en / etc / group por nombre, no uid), diferentes parámetros de inicio de sesión ... Es cada vez menos común, especialmente teniendo en cuenta que las cosas como sudo no funciona bien con eso.
Stéphane Chazelas
2

El algoritmo es el mismo. Las modernas suites shadow utilizan módulos de autenticación conectables (PAM), y PAM le permite configurar un algoritmo de hash. Se trata de "salazón", lo que significa aleatorizar la contraseña para dar el efecto que estás pidiendo.

La salazón es una contramedida a los ataques de diccionario, donde un atacante con un diccionario de contraseñas conocidas / pares de hash intenta averiguar si el valor de hash dado para una contraseña desconocida coincide con el valor de hash para una de las contraseñas conocidas.

La salazón evita que un valor de sal diferente conduzca a un valor hash diferente, por lo que no importa que la contraseña sea igual. (Sin embargo, es una mala práctica, pero por otras razones). Para que el ataque del diccionario tenga éxito, el atacante ahora debe tener diccionarios para cada valor de sal posible. Una sal verdaderamente aleatoria de tamaño suficiente hará que la probabilidad de éxito de tal ataque sea insignificante.

Lectura sugerida: ¿Cómo se almacenan las contraseñas en Linux? (Comprender el hashing con las utilidades ocultas)

contramodo
fuente
0

En el archivo de sombra verá un número entre $$ (digamos $ 1 $ o algo así). Indica qué algoritmo de hashing utiliza su máquina. Identifique el algoritmo y vea cómo funciona. Por ejemplo, $ 6 $ es SHA 512, que está diseñado de tal manera que, incluso si 2 personas tienen la misma contraseña, el resumen de hash de su contraseña será diferente.

RNJ
fuente