web-dev-qa-db-fra.com

Est-il possible de casser n'importe quel mot de passe haché SHA1

J'essaie de comprendre à quel point il est facile de déchiffrer un mot de passe haché SHA1. J'ai une base de données de formation donnant des centaines de mots de passe hachés.

J'ai essayé d'utiliser des outils en ligne pour les cracker et je me suis rendu compte que je ne peux cracker que des mots de passe relativement simples avec eux.

Pour ce que je sais, pour casser un hachage, vous utilisez généralement des tables Rainbow. En ce sens, pour moi, vous ne pouvez que casser des mots de passe simples. Mais certaines personnes en ligne semblent dire que des outils comme John the Ripper ou Hashcat peuvent tout casser.

Je me demandais donc, est-il toujours possible de casser un mot de passe SHA1 (même très complexe)?

Merci d'avance pour votre aide

2
KB303

Non, il n'est pas possible de casser n'importe quel hachage SHA-1. Actuellement, l'utilisation de la fonction de hachage à des fins de sécurité pose deux problèmes principaux (pas spécifiquement le hachage de mot de passe):

  1. C'est un hachage très rapide , ce qui signifie qu'une attaque par force brute se déroulera beaucoup plus rapidement qu'elle ne le serait si vous utilisiez correctement un lent KDF . Le fait que SHA-1 soit rapide ne vous permet pas de casser un mot de passe, mais cela signifie que vous pouvez essayer plus de suppositions par seconde.

  2. Il est vulnérable aux attaques par collision , comme Google l'a montré . Une attaque par collision permet à quelqu'un de créer deux entrées avec le même hachage. Cependant, cela ne leur permet pas d'inverser un hachage ou de modifier une entrée sans affecter le hachage résultant. Ce serait un type d'attaque différent appelé attaque de pré-image, et SHA-1 n'est pas vulnérable à cette attaque.

Donc non, vous ne pouvez pas casser n'importe quel mot de passe qui a été haché avec SHA-1, sauf si le mot de passe est court ou faible. Cela ne signifie toutefois pas que vous devez l'utiliser pour le hachage de mot de passe, car il est si rapide et est efficacement mis en œuvre sur un GPU.

4
forest

SHA1 est peut-être le pire scénario pour sécuriser les mots de passe - à l'exception du stockage en texte clair ou des schémas sans sel. Les outils de craquage de mot de passe testent non seulement les listes de mots de passe, mais remplacent également les lettres individuelles, telles que S par $, les lettres doubles, des exemples de combinaisons de lettres majuscules et minuscules pour tous les mots de passe de la liste, combinent des mots, etc.

En réalité, la grande majorité des mots de passe peuvent être brisés, même la plupart des mots de passe complexes.

Surtout, la différence est le temps qu'il faut pour craquer avec du matériel spécifique, que cela prenne plusieurs mois ou quelques secondes. Avec de bons schémas de hachage de mot de passe comme Argon2 ou Scrypt, le craquage prend le plus de temps, avec SHA1 ou MD5 le plus court.

1
BeloumiX

Je me demandais donc, est-il toujours possible de casser un mot de passe SHA1 (même très complexe)?

Oui. C'est juste une question de temps et d'efforts. La question intéressante est "est-il possible de casser n'importe quel mot de passe SHA1" auquel la réponse est actuellement: Non.

La réalité est que vous pouvez casser n'importe quel hachage. Cela prend juste assez de temps dans le pire des cas.

0
mroman