Puedo omitir los últimos caracteres de mi contraseña en Ubuntu 14.04

27

Tenemos Ubuntu 14.04.3 LTS en nuestras PC de laboratorio en mi universidad. He notado un error grave hoy.

Puedo omitir los últimos caracteres de mi contraseña e iniciar sesión sin problemas. Por ejemplo, si mi contraseña es a1b2c3d4e5f6g7h8, puedo escribir a1b2c3d4ey aún iniciar sesión. Muchas otras personas también han notado este error.

Tenga en cuenta que la contraseña no se puede omitir por completo: el máximo que he podido omitir es de 7 caracteres. Si intento omitir más, aparece el mensaje " Contraseña no válida, inténtelo de nuevo ". También tenga en cuenta que cualquier permutación aleatoria de una subcadena de la contraseña no funciona.

Esto también sucede si bloqueo la pantalla manualmente y vuelvo a ingresar la contraseña. El mismo error está presente durante el uso sshy bueno, buscar y buscar en Google Stack Overflow no ayudó.

Mi pregunta es: ¿cómo puedo solucionar este error, si es que puedo solucionarlo? Nuestro sistema no estará disponible antes del lunes, y esto realmente me preocupa.

IMPORTANTE: Tenga en cuenta que ninguna de las cuentas de los estudiantes está en la lista de sudoers, solo sysadm tiene acceso de root. Además, lo siguiente aparece cuando ingreso ssha mi propia cuenta:

Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-65-generic i686)

* Documentation:  https://help.ubuntu.com/

543 packages can be updated.
350 updates are security updates.

New release '16.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

ACTUALIZACIÓN: Parece que el problema importante no es la cantidad de caracteres omitidos al final, sino el hecho de que es posible iniciar sesión con los primeros ocho o más caracteres de la contraseña.

Dimitri Markovich
fuente
2
Sospecharía que alguna autenticación externa (LDAP, Active Directory, etc.) tiene la culpa y no valida las contraseñas correctamente. Hable con el administrador de su sistema.
André Borie
8
350 actualizaciones de seguridad están disponibles. Uno de ellos probablemente también corrige el error Heartbleed
AnthumChris
44
Su administrador de sistemas no parece haber estado disponible durante meses ...
Michael Hampton

Respuestas:

28

Si no tiene acceso de administrador, no hay mucho que pueda hacer.

Dicho esto, esto parece ser debido a la incompetencia del administrador. Esto suena sospechosamente similar al cifrado de contraseña con la crypt(3)función clásica . De man 3 crypt:

crypt () es la función de cifrado de contraseña. Se basa en los datos
Algoritmo estándar de cifrado con variaciones previstas (entre otros
cosas) para desalentar el uso de implementaciones de hardware de una búsqueda clave.

La clave es la contraseña escrita por el usuario.

salt es una cadena de dos caracteres elegida del conjunto [a-zA-Z0-9./]. Esta
string se usa para perturbar el algoritmo en una de 4096 formas diferentes.

Al tomar los 7 bits más bajos de cada uno de los primeros ocho caracteres de
la clave, se obtiene una clave de 56 bits.   Esta clave de 56 bits se usa para cifrar
repetidamente una cadena constante (generalmente una cadena que consiste en todos
ceros). El valor devuelto apunta a la contraseña cifrada, una serie
de 13 caracteres ASCII imprimibles (los dos primeros caracteres representan
la sal misma). El valor de retorno apunta a datos estáticos cuyo contenido
se sobrescribe con cada llamada.

¿Te suena familiar?

Ningún sistema Ubuntu reciente usa esto por defecto. Su administrador debe haber configurado manualmente la configuración de contraseña para usar esto. O bien, podrían estar utilizando autenticación externa (LDAP o similar) y no pudieron o no pudieron configurarlo de manera segura.

Ver también: ¿Las contraseñas en los sistemas Unix / Linux modernos todavía están limitadas a 8 caracteres?

muru
fuente
44
Entonces el administrador probablemente esté usando LDAP ... Trataré de contactarlo. ¡Gracias!
Dimitri Markovich
1
OP podría confirmar aún más esto al ver si cambiar el octavo bit de cualquiera de los primeros 8 caracteres hace la diferencia. Sin embargo, podría ser difícil de hacer en un entorno UTF-8.
Jonas Schäfer
@JonasWielicki: cambiar la octava parte de cualquiera de los primeros ocho caracteres SÍ hace la diferencia: la contraseña se muestra como no válida. Por lo tanto, solo puedo usar los primeros ocho o más caracteres de mi contraseña original.
Dimitri Markovich
@ die-policy137 Como se mencionó, supongo que es complicado voltear solo el octavo bit; con UTF-8, esto resultaría en el uso de dos bytes en lugar de uno para codificar el punto de código. Por lo tanto, esta no es una prueba definitiva, desafortunadamente, a menos que uno tenga un control muy estricto sobre la codificación utilizada por el terminal y / o los datos enviados para la autenticación.
Jonas Schäfer
7

Hubo un tiempo, en un milenio anterior, cuando todos los Unixen cifraron sus contraseñas de esta manera. Descarte todo más allá del octavo carácter, agregue sal, pase por una función hash y listo.

La gran pregunta aquí es si las contraseñas cifradas están disponibles para posibles piratas informáticos. Si lo son, este es un gran problema. Si no lo son, realmente no es gran cosa. Las contraseñas de ocho caracteres tienen muchas posibilidades. Si tiene que hacer un intento de inicio de sesión real para verificar una contraseña potencial, la intrusión llevará mucho tiempo. Además, los intentos activarán alarmas.

Entonces, la gran victoria aquí son las contraseñas ocultas. Aún así, la gente comenzó a pensar que esto no era lo suficientemente bueno y que cada variante de Unix implementaba su propia forma de extender la longitud máxima de la contraseña. Estos ya no eran compatibles.

Durante un tiempo, si quería que varias máquinas con diferentes variantes de Unix usaran la misma contraseña, tenía que usar el tipo de cifrado anterior.

Es muy posible que cuando se instalaron estos laboratorios de computación, ese fuera el caso. Y este tipo de configuración tiene inercia. Se configuran nuevos clientes para que coincidan con el servidor. Se configuran nuevos servidores para que coincidan con los clientes.

Hoy las cosas están mejor. Hay menos variantes de Unix en uso, y cooperan mejor.

No soy lo suficientemente competente para decirte cómo solucionar esto, pero es una tarea para el administrador, no para ti.

Stig Hemmer
fuente
Ok, entonces ... ojalá pudiera haber hecho algo.
Dimitri Markovich
"Unixen" sobre "Unicies"? Nunca escuché eso antes, buen toque
gato
1
@cat Aparentemente es un acrónimo de Unix y Boxen .
Michael Hampton
2
Como Unix es una palabra inventada, el plural también se puede inventar :)
Thorbjørn Ravn Andersen
Eight characters passwords has a lot of possibilities.Para la entropía de contraseñas , asume que el atacante sabe cómo generar contraseñas. Si usa palabras aleatorias , como máximo obtendrá 2 palabras o 22 bits de entropía.
NonlinearFruit