Je peux omettre les derniers caractères de mon mot de passe sur Ubuntu 14.04

27

Nous avons Ubuntu 14.04.3 LTS sur nos PC de laboratoire dans mon collège. J'ai remarqué un bug sérieux aujourd'hui.

Je peux ignorer les derniers caractères de mon mot de passe et continuer à me connecter sans problème. Par exemple, si mon mot de passe est a1b2c3d4e5f6g7h8, je peux taper a1b2c3d4eet toujours me connecter. Beaucoup d'autres personnes ont également remarqué ce bogue.

Notez que le mot de passe ne peut pas être entièrement ignoré - le maximum que j'ai pu ignorer est de 7 caractères. Si j'essaye de sauter plus, le message " Mot de passe invalide, veuillez réessayer " apparaît. Notez également que toute permutation aléatoire d'une sous-chaîne du mot de passe ne fonctionne pas.

Cela se produit également si je verrouille l'écran manuellement et saisis à nouveau le mot de passe. Le même bug est présent lors de l'utilisation sshet bien, googler et rechercher Stack Overflow n'a pas aidé.

Ma question est - comment puis-je corriger ce bogue, si je peux le réparer? Notre administrateur système ne sera pas disponible avant lundi, et cela me dérange vraiment.

IMPORTANT: Notez qu'aucun des comptes des étudiants ne figure dans la liste sudoers, seul sysadm a un accès root. En outre, ce qui suit apparaît lorsque je sshme connecte à mon propre compte:

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.

MISE À JOUR: Il semble que le problème important ne soit pas le nombre de caractères omis à la fin, mais le fait qu'il est possible de se connecter avec les huit premiers caractères ou plus du mot de passe.

Dimitri Markovich
la source
2
Je soupçonne que certaines authentifications externes (LDAP, Active Directory, etc.) sont en faute et ne valident pas correctement les mots de passe. Parlez à votre administrateur système.
André Borie
8
350 mises à jour de sécurité sont disponibles. L'un d'eux corrige probablement aussi le bogue Heartbleed
AnthumChris
4
Votre administrateur système ne semble pas être disponible depuis des mois ...
Michael Hampton

Réponses:

28

Si vous ne disposez pas d'un accès administrateur, vous ne pouvez pas faire grand-chose.

Cela dit, cela semble être dû à l'incompétence de l'administrateur. Cela ressemble étrangement au cryptage de mot de passe utilisant la crypt(3)fonction classique . De man 3 crypt:

crypt () est la fonction de cryptage des mots de passe. Il est basé sur les données
Algorithme de cryptage standard avec des variations prévues (entre autres
pour décourager l’utilisation des implémentations matérielles d’une recherche de clé.

clé est le mot de passe tapé d'un utilisateur.

salt est une chaîne de deux caractères choisie dans l'ensemble [a-zA-Z0-9./]. Cette
chaîne est utilisée pour perturber l'algorithme de l'une des 4096 manières différentes.

En prenant les 7 bits les plus bas de chacun des huit premiers caractères de
la clé, une clé de 56 bits est obtenue.   Cette clé de 56 bits est utilisée pour chiffrer
à plusieurs reprises une chaîne constante (généralement une chaîne composée de tous
zéros). La valeur renvoyée pointe vers le mot de passe chiffré, une série
de 13 caractères ASCII imprimables (les deux premiers caractères représentent
le sel lui-même). La valeur de retour pointe vers des données statiques dont le contenu
est écrasé par chaque appel.

Cela vous semble-t-il familier?

Aucun système Ubuntu récent ne l'utilise par défaut. Votre administrateur doit avoir configuré manuellement la configuration du mot de passe pour l'utiliser. Ou bien, ils peuvent utiliser une authentification externe (LDAP ou similaire) et ne l'ont pas configuré ou n'ont pas pu le configurer en toute sécurité.

Voir aussi: Les mots de passe sur les systèmes Unix / Linux modernes sont-ils toujours limités à 8 caractères?

muru
la source
4
Ensuite, l'administrateur utilise probablement LDAP ..... Je vais essayer de le contacter. Merci!
Dimitri Markovich
1
OP pourrait encore confirmer cela en voyant si le retournement du 8e bit de l'un des 8 premiers caractères fait une différence. Cela pourrait être difficile à faire dans un environnement UTF-8.
Jonas Schäfer
@JonasWielicki - Le fait de retourner le 8e bit de l'un des huit premiers caractères fait une différence - le mot de passe est affiché comme invalide. Je ne peux donc utiliser que les huit premiers caractères ou plus de mon mot de passe d'origine.
Dimitri Markovich
@ die-policy137 Comme mentionné, je suppose qu'il est difficile de retourner uniquement le huitième bit - avec UTF-8, cela entraînerait l'utilisation de deux octets au lieu d'un pour coder le point de code. Ce n'est donc pas un test définitif, malheureusement, à moins que l'on ne contrôle très étroitement l'encodage utilisé par le terminal et / ou les données envoyées pour l'authentification.
Jonas Schäfer
7

Il fut un temps, dans un millénaire précédent, où tous les Unixen cryptaient leurs mots de passe de cette façon. Jetez tout au-delà du huitième caractère, ajoutez du sel, passez par une fonction de hachage et c'est fait.

La grande question ici est de savoir si les mots de passe cryptés sont disponibles pour les pirates potentiels. S'ils le sont, c'est un gros problème. S'ils ne le sont pas, ce n'est vraiment pas grave. Les mots de passe à huit caractères ont beaucoup de possibilités. Si vous devez faire une tentative de connexion pour vérifier un mot de passe potentiel, l'effraction prendra beaucoup de temps. De plus, les tentatives déclencheront des alarmes.

Donc, la grande victoire ici est les mots de passe cachés. Pourtant, les gens ont commencé à penser que ce n'était pas assez bon et chaque variante Unix a implémenté sa propre façon d'étendre la longueur maximale du mot de passe. Ceux-ci n'étaient plus compatibles.

Pendant un certain temps, si vous vouliez que plusieurs machines avec différentes variantes Unix utilisent le même mot de passe, vous deviez utiliser l'ancien type de cryptage.

Il est fort possible que lors de la création de ces laboratoires informatiques, c'était encore le cas. Et ce type de configuration a une inertie. De nouveaux clients sont configurés pour correspondre au serveur. De nouveaux serveurs sont configurés pour correspondre aux clients.

Aujourd'hui, les choses vont mieux. Il y a moins de variantes Unix utilisées et elles coopèrent mieux.

Je ne suis pas assez compétent pour vous dire comment résoudre ce problème, mais il est une tâche pour l'admin, pas pour vous.

Stig Hemmer
la source
D'accord alors ... j'aurais aimé pouvoir faire quelque chose.
Dimitri Markovich
"Unixen" sur "Unicies"? Jamais entendu parler de celui-là auparavant, belle touche
chat
1
@cat C'est apparemment un portemanteau d'Unix et de boxen .
Michael Hampton
2
Comme Unix est un mot inventé, le pluriel peut aussi être inventé :)
Thorbjørn Ravn Andersen
Eight characters passwords has a lot of possibilities.Pour l' entropie des mots de passe , vous supposez que l'attaquant sait comment vous générez des mots de passe. Si vous utilisez des mots aléatoires , vous obtiendrez tout au plus 2 mots ou 22 bits d'entropie.
NonlinearFruit