J'ai le mot de passe de travail et je peux voir le hachage (/ etc / passwd). Comment puis-je trouver l'algorithme de hachage utilisé pour hacher le mot de passe, sans essayer manuellement différents algorithmes jusqu'à ce que je trouve une correspondance?
11
/etc/passwd
. Je pensais que toutes les variantes Unix / Linux avaient déménagé/etc/shadow
il y a des années. (Je sais que de tels systèmes prennent toujours en charge les hachagespasswd
mais je ne connais aucun utilitaire qui les y place plus. Un système embarqué, peut-être?/etc/passwd
ici. Cela ne change cependant pas la question. C'est ça?/etc/shadow
et ils n'ont aucun fichier de ce nom.Réponses:
Ceci est documenté dans
crypt(3)
« la page de manuel de , que vous trouverez viashadow(5)
l » manpage oupasswd(5)
l » . Ces liens conviennent aux systèmes Linux modernes; la description il y a:Blowfish, également connu sous le nom
bcrypt
, est également identifié par préfixes2
,2b
,2x
et2y
(voir la documentation de PassLib ).Donc, si un mot de passe haché est stocké dans le format ci-dessus, vous pouvez trouver l'algorithme utilisé en regardant l' id ; sinon c'est l'
crypt
algorithme DES par défaut (avec un hachage de 13 caractères), oucrypt
le DES "grand" (étendu pour prendre en charge les mots de passe de 128 caractères, avec des hachages jusqu'à 178 caractères), ou le DESDI étendu BSDI (avec un_
préfixe suivi d'un hachage de 19 caractères).Certaines distributions utilisent libxcrypt qui prend en charge et documente plusieurs autres méthodes:
y
: yescryptgy
: gost-yescrypt7
: scryptsha1
: sha1cryptmd5
: SunMD5D'autres plates-formes prennent en charge d'autres algorithmes, alors consultez la
crypt
page de manuel ici. Par exemple, OpenBSDcrypt(3)
ne prend en charge que Blowfish, qu'il identifie à l'aide de l' ID «2b».la source
.
et/
. Les 2 premiers caractères sont le sel et les 11 autres sont une valeur de hachage (en quelque sorte). Et c'est le seul des algorithmes pris en chargecrypt
qui est si faible que vous ne pouvez pas le compenser en choisissant un mot de passe plus fort.