¿Podemos saber la contraseña de los demás usuarios si tenemos acceso root?

¿Podemos saber la contraseña de los demás usuarios si tenemos acceso root?

Si una persona tiene acceso root a una máquina RHEL en particular, ¿podrá recuperar la contraseña de los demás usuarios?

Respuesta1

TL;DR: No, las contraseñas se almacenan como hashes que (en general) no se pueden recuperar.

Linux no almacena contraseñas de texto plano en ningún ladopor defecto. Están codificados mediante hash o de otro modo mediante una variedad de algoritmos. Entonces, en general, no, esto no es posible con los datos almacenados.

Si tiene contraseñas almacenadas en algún lugar que no sea la /etc/passwdbase de datos, es posible que se almacenen de una manera que lo permita. htpasswdLos archivos pueden contener contraseñas ligeramente cifradas y otras aplicaciones pueden almacenar hashes más débiles o contraseñas de texto sin formato por varias razones (normalmente malas).

Además, los archivos de configuración del usuario pueden contener contraseñas no cifradas o contraseñas débilmente protegidas por varias razones: fetchmail captura contenido de otro servicio, .netrco cosas automatizadas simples pueden incluir la contraseña.

Si las contraseñas están codificadas o cifradas con un algoritmo antiguo y débil (3DES, MD5), sería posible determinar de manera razonablemente eficiente y económica cuál era la contraseña, aunque atacando los datos en lugar de simplemente revertir la transformación. (por ejemplo: cosas comohttp://proyecto-rainbowcrack.com/ohttp://www.openwall.com/john/)

Dado que usted es root, también es posible atacar la contraseña del usuario en otro nivel: reemplace el binario de inicio de sesión, o sudo, o parte de PAM, etc., con algo que capture la contraseña cuando se ingrese.

Entonces, en específico, no, pero en general tener acceso root hace que sea más fácil acceder a los detalles de los usuarios a través de varios canales laterales.

Respuesta2

A diferencia de algunas otras respuestas aquí, diría que la respuesta simple a esta y muchas otras preguntas que terminan con "si tienes root" es SÍ.

Básicamente, root puede hacer cualquier cosa en la máquina que el propio sistema puede hacer. El sistema puede aceptar su contraseña, por lo que root puede aceptar su contraseña, o la suya propia en lugar de la suya, con suficiente esfuerzo. Más importante aún, él puede simplemente cambiar su contraseña o CONVERTIRSE en usted.

En concreto, las contraseñas suelen estar cifradas. Suele ser una especie de algoritmo llamado "unidireccional", que genera un número (un hash) que puede usarse para verificar la contraseña, pero generalmente no para revertir el número y recuperar la contraseña nuevamente. Por lo tanto, no se trata simplemente de leer un archivo para obtener la contraseña de alguien.

Dicho esto, PUEDES leer su historial de shell y el historial de inicio de sesión, donde lo más probable es que hayan escrito su contraseña en lugar de su nombre de usuario en algún momento, o la hayan escrito en un shell en lugar de cuando se les solicite la contraseña. En ese caso, SERÍA texto sin formato. Esto es inquietantemente común en terminales basados ​​en texto y, que yo sepa, no hay buenas soluciones.

Sin embargo, incluso dejando de lado esa cuestión, el cifrado "unidireccional" no es realmente unidireccional. Hay muchas herramientas que analizan muchas combinaciones de frases de contraseña, cifrándolas con el mismo proceso unidireccional, hasta que encuentras una que coincida. Luego conocen la contraseña que obtendrá acceso (aunque, como root, YA tienen acceso en ESA máquina).

Peor aún, existen tablas de arcoíris, que son respuestas precalculadas al proceso anterior: las personas ya han generado la contraseña original que proviene de la contraseña cifrada proporcionada. Al usarlos, es una búsqueda sencilla: no se requieren intentos de descifrado que consumen mucho tiempo.

Una vez más, el acceso a nivel de raíz es LO que hay que proteger. Con eso comprometido, toda la máquina y todo lo que contiene está comprometido. Es hora de empezar de nuevo, incluso de informar a todos sus usuarios que ya no se puede confiar en su empresa para proteger su privacidad. Y sí, eso podría significar la quiebra.

Respuesta3

Si es así root, puede ejecutar un descifrador de contraseñas /etc/shadow(asumiendo contraseñas locales y no LDAP o Kerberos, etc.). Es posible que esto no sea efectivo si eligen buenas contraseñas y el sistema está configurado para utilizar hash de contraseñas seguras. Pero las contraseñas del sistema no se almacenan en texto plano; Las contraseñas no están disponibles directamente ni siquiera para root.

Respuesta4

Todas las contraseñas se almacenan en /etc/shadowun archivo. Puede abrir este archivo usando el acceso raíz y ver hash valueestas contraseñas para cada usuario (incluso el usuario raíz).

A menos que tenga algún tipo de software de descifrado de contraseñas, no puede convertir estos valores hash a texto normal.

Pero aún así, si tiene acceso al usuario root, puede cambiar la contraseña de cualquier usuario normal usando el siguiente comando y acceder a su cuenta.

root@localhost$ passwd pradeep

Esto le pedirá la nueva contraseña que desea configurar para el usuario pradeep. De esta manera puedes cambiar la contraseña por pradeep.

Ahora puedes acceder desde su cuenta mediante:

root@localhost$ su pradeep

Esto resultará en cambiar al usuario pradeep y obtendrá una terminal como esta:

pradeep@localhost$

información relacionada