GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver l'algorithme de hachage utilisé pour hacher les mots de passe ?

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 :ouicrypt
  • gy :gost-ouicrypt
  • 7 :crypter
  • sha1 :sha1crypt
  • md5 :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".


Linux
  1. Comment savoir si le disque est un SSD ou un disque dur sous Linux

  2. Comment auditer les autorisations avec la commande find

  3. Comment puis-je trouver la taille de pile maximale ?

  4. Comment diriger les résultats de 'find' vers mv sous Linux

  5. Comment trouver le gestionnaire de fichiers par défaut ?

Comment trouver le numéro de port d'un service sous Linux

Comment trouver l'adresse IP d'une machine virtuelle KVM

Comment trouver la taille totale d'un répertoire sous Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Comment trouver la liste des référentiels installés sous Linux

Comment puis-je trouver l'emplacement MySQL my.cnf