Collection de mots de passe hachés ?

Le problème exposé dans ce sujet a été résolu.

Bonjour, ces derniers temps je m’intéresse pas mal à la sécurité informatique et plus particulièrement aux mots de passe. J'ai testé plusieurs modes de John sur des mots de passe fictifs et j'ai trouvé quelques ressources expliquant comment faire tomber des mots de passes plus ou moins faibles en utilisant des wordslist et des rules pour les casser, notamment ce document : https://www.owasp.org/images/a/af/2011-Supercharged-Slides-Redman-OWASP-Feb.pdf

Je voudrais savoir si il existait des listes de mots de passe hachés qui me permettrait de m'exercer. J'ai trouvé de nombreuse liste de mot de passe mais elles contiennent des mots de passe assez faibles, je voudrais quelque chose de vraiment réaliste, avec des doublons et des mots de passes complexes (quasi pas cassable) pour pouvoir aussi réalisé des statistiques. Le mieux serait de pioché dans une réel fuite de base de donnée, mais je ne sais pas si c'est légal de télécharger ça sur son ordinateur.

Merci d'avance pour votre aide.

+0 -0

Bonjour,

Je n'assure pas m'y connaître en terme de légalité, mais il me paraît assez sûr de dire que télécharger une liste de mots de passe hachés sans l'intention de les utiliser pour porter préjudice aux utilisateurs est tout à fait légal. Je ne serais pas étonné si on me disait que ça a déjà été fait (par exemple, j'imagine bien un chercheur vouloir tester un nouvel algorithme / une nouvelle méthode sur des données réelles).

Quant à la question de trouver de telles listes, une recherche google avec "leaked hashes" donne un site web contenant des listes de hashs (je ne mets volontairement pas l'url du site ici, dans le doute). Notamment, on y trouve une archive contenant ceux de LinkedIn, dont la mise sur internet avait été médiatisée.

Une réelle liste de mot de passe hachés ne contiendrait en général pas de doublon grâce au sel ajouté.

Je veux dire pas là que salé un mot de passe est une pratique courante.

+0 -0

Une réelle liste de mot de passe hachés ne contiendrait en général pas de doublon grâce au sel ajouté.

ache

mais le sel est toujours le même non ? Enfin chaque site à un sel mais pour tous les utilisateurs du site, le sel sera le même ducoup si je m'inscris et j'ai "jesuisunmdp" comme mdp. un autre à le même mdp, avec le sel et le hash, ça donne la même chose non ?

Pour tes données @chokocraft: https://xato.net/today-i-am-releasing-ten-million-passwords-b6278bbe7495#.yzudyrmcx

+0 -0

Enfin chaque site à un sel mais pour tous les utilisateurs du site

Non, le sel n'est pas toujours le même. En fait, il est même conseillé d'avoir un sel différent pour chaque utilisateur, et de le choisir aléatoirement (en fait, plusieurs sels utilisés en itérant sur les hashes). Le sel existe pour réduire les chances d'attaquer les mots de passe en même temps, un sel différent équivaut à une fonction de hachage différente pour l'attaquant munit de sa rainbow table par exemple.

Je pense que votre idée vient de la mauvaise pratique de certains devs qui hardcodent le sel dans leur code (ex : pour leur site web).

Je vous épargne mes explications approximatives, voici deux petits liens qui expliquent plus en détails (en anglais) : https://security.stackexchange.com/questions/211/how-to-securely-hash-passwords

http://security.blogoverflow.com/2013/09/about-secure-password-hashing/

+2 -0

Je suis perdu, je m'y connais pas trop et je comprends pas cela: normalement on prends le mdp que l'utilisateur a entré, on le hash et on compare dans la bdd. Mais si chaque mdp est hashé avec un sel aléatoire comment on fait pour comparer ?
on peut pas ajouter le sel au bon mdp, ou alors on connait la connection sel<->mdp ?

En lisant ton lien il y a ceci:

A salt is a non-secret, unique value in the database which is appended (depending on the used algorithm) to the password before it gets hashed.

mais ca contredit ça ou bien ? Je ne suis pas sur de comprendre "plusieurs sels utilisés en itérant sur les hashes"

Non, le sel n'est pas toujours le même. En fait, il est même conseillé d'avoir un sel différent pour chaque utilisateur, et de le choisir aléatoirement (en fait, plusieurs sels utilisés en itérant sur les hashes)

Si c'est juste pour éviter que le gars puisse utiliser des tables de correspondances hash <-> mdp En clair il n'y pas besoins de différents sel non ?

ps: pas besoins de me vouvoyez ;-)

+0 -0

A salt is a non-secret, unique value in the database

Il faut comprendre, le « salt » est unique dans la base de données, deux utilisateurs ne peuvent pas avoir le même « salt » . Chaque utilisateur doit avoir son « salt » propre. Kanaal et le lien ne se contredise pas.

Généralement, dans la table utilisateurs de la base de donnée, est stocké pour chaque utilisateur, le mot de passe hashé et son « salt ».

il n'y pas besoins de différents sel non ?

Il y'a besoin d'avoir un sel par utilisateur pour une sécurité maximale.

Si tu avais qu'un sel pour toute la base de donnée, l'attaquant aurais besoin que d'une seule table de correspondance.

Si un sel par utilisateur, l'attaquant aurais besoin d'autant de table de correspondance que d'utilisateur.

Je veux dire pas là que salé un mot de passe est une pratique courante.

« Pratique courante » , :p . J’espère aussi, mais de mon vécu, j'ai pas toujours eu cette impression.

+1 -0

Merci beaucoup pour vos réponses rapides, je vais étudier la liste de 10M de login et je me renseignerai pour trouver des leaks de hash.

Pour le sel je n'avais pas précisé que je cherchais des hash non salés, le but premier est d'apprendre à correctement optimiser john the ripper, et à développer mes propres wordlists et règles, donc des hash salés sont plus un frein pour ce que je souhaite réaliser.

Encore merci.

normalement on prends le mdp que l'utilisateur a entré, on le hash et on compare dans la bdd. Mais si chaque mdp est hashé avec un sel aléatoire comment on fait pour comparer ? on peut pas ajouter le sel au bon mdp, ou alors on connait la connection sel<->mdp ?

Le sel est généré aléatoirement lors de la création du compte utilisateur. Le sel est connu en clair dans la BDD, le mot de passe + sel est hashé.

L'utilisateur pour se connecter entre un mot de passe. Le site ajoute au mot de passe entré le sel et hashe l'ensemble comme il l'a fait lors de la création du compte. Comme le sel est identique et la fonction de hashage également, si l'utilisateur a entré le bon mot de passe cela collera avec la BDD. Sinon non.

Fondamentalement le sel ne change pas la méthode, c'est juste une étape de concaténation en plus.

+0 -0

S'il n'est pas trop long, généralement 2-4 octects. Par brute force ça devrait être très rapide.

+0 -0

C'est curieux d'avoir le motde passe en claire, le mot de passe hashé mais pas le sel …

Généralement le mot de passe hashé et le sel vont de paire. Et puis le sel ne sert à rien si on a le mot de passe.

M'enfin bref. Il faut connaitre l'algorithme utilisé pour hasher le mot de passe. Ensuite, tu essayes tous les sel possibles.

Par un script Python, C, C++ ou n'importe quel langage. Je suis à peu près que ça doit par être trop dur à faire même en Bash ou Perl.
Même si dans l'immédiat je choisirais Python, Go, C ou C++ car ils ont chacun de bonnes implémentations des différents algorithmes de chiffrement/hash.

+0 -0

Voici explicitement, l'équation à résoudre. J'ai deux hash md5 (sans doute salés). L'un est le hash d'un identifiant. L'autre, du mot de passe. Lors de la connexion auto, la connexion ne se fait plus, car l'identifiant a été changé et donc le hash que j'ai n'est plus valable dans la base du site. Question : lorsque tout de même, je tente l'auto-connect, est-il possible quelque part, de faire apparaître en clair, le mdp hashé ?

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte