Re: Password vide

Top Page

Reply to this message
Author: Olivier Allard-Jacquin
Date:  
CC: Guilde Mailing list
Subject: Re: Password vide


Jérôme KIEFFER wrote:
> SI tu trouves des docs avancées sur shadow ...


    J'ai écumé le net à grand coup de Google, et je n'ai rien trouvé de 
réellement intéressant sur cette histoire du "!!" dans le /etc/shadow. 
Le salut est sans doute dans la lecture des codes sources ! :=)


    Par contre, on m'a répond en privé que effectivement, si un mot de 
passe dans le /etc/shadow était "!!", il serait toujours impossible de 
se connecter en temps que cet utilisateur. A 2 exceptions cependant :
- Si c'est le root qui fait un "su". C'est justement le but que je recherche
- Si il y a un bug de la commande "login", ou des librairies qui sont 
utilisées (libpam*, /lib/security/pam* et quelques autres d'après ce que 
me dit "strace"). Mais dans ce cas là, mis à part une mise à jour du 
système, on ne peut pas faire grand chose...


    Je pense que la raison en est tout simple : L'algo qui compare le mot 
de passe saisit par l'utilisateur, à la hash-key stocké dans le 
/etc/shadow, ne doit jamais pouvoir donner une chaîne aussi courte que 
un "!!". Dans ce cas, aucun mot de passe ne doit pouvoir correspondre à 
ce "!!".


Exemple : Sous root, utilisation de la commande "passwd" pour donner à
"toto" le mot de passe "a". /etc/shadow renvoi :
toto:$1$6bcBlIc.$qqLZbl8W7nC0XwDNkpnW..:12393:0:99999:7:::

    Maintenant, on utilise le mot de passe "qsdfghjklmwxcvbn". /etc/shadow 
donne :
toto:$1$rfZqHnXe$d4dk4VV3RDUlVxj4RlqOo0:12393:0:99999:7:::


    Bien les 2 mots de passe sont de taille très différentes, les hash-key 
sont très longues et de taille identiques. Je suppute que la commande 
"pasword" utilise une technique de "bourrage" associé à un nombre 
aléatoire afin de créer la "hash-key".



> je suis aussi preneur mais
> plutot pour faire des comptes SANS mot de passe.
> oui une machine desktop avec 3 comptes :
> root, administrateur et utilisateur.
>
> administrateur a le droit de se logguer par le net, pas user.


    Cette solution ne me satisfait pas. Pour ce dont j'ai besoin, le fait 
de se connecter en local ou à distance est aussi problématique. En 
effet; il est toujours possible qu'un intrus utilise un exploit à 
distance sur un service ouvert sur le net (j'en ai très peu, mais on ne 
sait jamais), et dans ce cas là il fera son changement d'identité en 
local. Il n'y a qu'à voir la récente attaque sur le serveur Gentoo, qui 
a utilisé un exploit local (do_brk) mais qui auparavant avait utilisé un 
exploit sur rsync... Et je ne parle pas des attaques sur les serveurs 
Debian et Savannah qui ont utilisés le même exploit local, mais qui 
auparavant s'étaient loggés avec un shell ordinaire.


                        Olivier


-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  olivieraj.free.fr
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!