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 ?
Réponse acceptée :
Ceci est documenté dans crypt(3)
La page de manuel de , que vous pouvez trouver via shadow(5)
la page de manuel de ou passwd(5)
's. Ces liens sont appropriés pour les systèmes modernes basés sur Linux; la description y est :
Si salé est une chaîne de caractères commençant par les caractères "$id $"
suivi d'une chaîne éventuellement terminée par "$", alors le résultat
a la forme :$id$salt$encrypted
identifiant identifie la méthode de cryptage utilisée à la place de DES et cela
détermine ensuite comment le reste de la chaîne de mot de passe est interprété. Les
valeurs d'id suivantes sont prises en charge :ID | Method ───────────────────────────────────────────────────────── 1 | MD5 2a | Blowfish (not in mainline glibc; added in some | Linux distributions) 5 | SHA-256 (since glibc 2.7) 6 | SHA-512 (since glibc 2.7)
Blowfish, également connu sous le nom de bcrypt
, est également identifié par les préfixes 2
, 2b
, 2x
, et 2y
(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 crypt
l'algorithme DES par défaut de (avec un hachage de 13 caractères), ou "grand" crypt
DES de BSDI (étendu pour prendre en charge les mots de passe de 128 caractères, avec des hachages jusqu'à 178 caractères), ou DES étendu BSDI (avec un _
préfixe suivi d'un hachage de 19 caractères).
Certaines distributions utilisent libxcrypt qui prend en charge et documente un certain nombre de méthodes supplémentaires :
y
:ouicryptgy
:gost-ouicrypt7
:cryptersha1
:sha1cryptmd5
:SunMD5
D'autres plates-formes prennent en charge d'autres algorithmes, alors vérifiez le crypt
page de manuel ici. Par exemple, crypt(3)
d'OpenBSD ne prend en charge que Blowfish, qu'il identifie à l'aide de l'id "2b".