Bonjour à tous.
M´interessant en ce moment à la cryptographie, j´ai appris qu´un logiciel comme John The Ripper est capable de retrouver un mot de pass hashé en MD5.
N´arrivant pas à maitriser ce logiciel, j´ai cherché sur Google.J´ai été étonné de voir qu´il était cité à la fois sur ces sites de hack, pour le décryptage, et sur des sites comme celui du CNRS (!) pour vérifier la "résistance" de ses mot de pass.En tout cas, je n´ai trouvé aucun tutorial digne de ce nom : seulement un rapide tuto pour decrypter une fenetre de login (enfin quelque chose de ce genre...).
Je voudrais donc savoir si ce logiciel permet en effet de "dé-hashé" facilement, et si vous avez un bon tutorial.
Aussi, je voudrais savoir si les cookies contiennent des informations cryptés en MD5, ou dans un autre langage.Cela dépend-il du choix du webmaster ou est-il toujours crypté de la même manière ?
Derniere question (ouf^^), y a-t-il un logiciel qui permettrait de passer rapidement (et automatiquement bien sur) d´un mot de pass (quelconque) à divers formats, comme le binaire (si le mdp s´y prete), l´hexadecimal, le MD5 etc... ?
Comme vous l´avez surement remarqué, je suis loin de m´y connaitre, donc il se peut que j´ai commis certaines erreurs et/ou mal-entendus.
Merci d´avance ![]()
Le MD5 a été cassé ? Première nouvelle... Ceci dit, MD5 comme tout hachage est en O(1) normallement. Donc pour être rapide, oui c´est rapide. Pour retrouver un hash MD5, la seule solution est la force brute, et ça peut prendre très longtemps...
Sûr que pour des passwords comme "Boulet" ou "Pokemon" il trouvera de façon instantannée, mais pour d´autres du genre "czkghrusqnvi<UgJJ44", il n´a pas finit de tourner... Et comme les infos sensibles sont protégées par de vrais mots de passes, voir d´autres sécurités supplémentaires, tout ce que tu "hackera" sera des comptes de kikoos...
Un force brute sur un hash MD5 via un dico ? On peut coder ça en 10 lignes de Perl, voir moins :D
En gros : non, on ne sait pas renverser MD5 pour l´instant. Mais il sautera bien un jour ou l´autre.
Je rajouterai que en php, plusieurs façons existes pour crypter et on peut les accumuluer donc meem si le md5() serait decryptable (avec des conditions avantageues), on peut tuijours gien se proteger.
Hitman, tu fais une enrome erreur.
On ne saura JAMAIS déhashé un hash.
Tout simplement parceque c´est IMPOSSIBLE.
le principe meme d´un algorithme de hashage est de transformer une suite de bit d´une longueur variable en une suite de bit de longueur fixe (souvent indistnguable d´une suite uniformément aléatoire).
Donc a un MD5 donné, il y a une infinité de mdp qui peuvent correspondre.
"plusieurs façons existes pour crypter et on peut les accumuluer donc meem si le md5() serait decryptable"
Théoriquement, c´est la difficulté du plus résistant qui compte. Faire plusieurs chiffrement ne sert fondamentalement a rien.
Pour finir, cela fait longtemps que l´on sait que MD5 n´est pas sur. Il renvoie un hash sur 56 bit (de mémoire) on peut alors estimer en moyenne qu´apres 2^56 essais on trouvera une chaine de bit qui a le MD5 voulu.
Notons que SHA-0 n´est pas completement sur non plus. Une collisions a été calculé en 2000 par des chercheur de l´inria rocquencourt, de l´université de versailles et de l´université de jussieu.
Je crois qu´ils ont meme calculé une collisions sur SHA-1 d´ailleurs...
Bon tout ca pour dire qu´une securité basé sur MD5 est ridicule si on access au MD5. C´est pour ca que l´on a inventé shadow password qui empeche l´access au utilisateur non root d´avoir un access sur les mdp utilisateurs
Je ne fais que du php, donc je prend des exemples conernant mon domaine.
Si comme tu l´as dis, l´acces vers le md5 d´unmdp est possible, et rend dopnt le md5 ridicule, prk s´amuser un crypté des mots de passes (utilsées dans une base de données par exemple) ?
Je pense que le md5 est deja une solution pour securisé qq chose
godrik
Je n´ai jamais parlé de déhashage, mais bien de casser MD5 : pour qu´il soit cassé, il suffirait de trouver un algo qui génère un une chaîne qui permette de générer un hash passé en paramètres. Ou bien de trouver des cycles ou de réduire le domaine et des symétries, etc.
Pour SHA, par contre, je pense qu´il est effectivement vivement déconseillé de l´utiliser maintenant.
D´accord merci bien.Donc John the ripper utilise la méthode brute force jusqu´à créer une collision.
Et concernant les cookies ?
La tendance actuelle est à préférer les SSID véhiculés dans les URL aux cookies, à juste raison. C´est beaucoup mieux d´ailleurs. Le sites sérieux évitent d´ailleurs de stocker des infos critiques dans les cookies. Ou alors en clair, pour éviter que le usr ne révèle de façon involontaire ces dernières. Erreur commise sur ce site il n´y a pas longtemps...
hitman, meaculpa, j´ai confondu avec le message de deepblue.
MD5 et SHA-0 sont deconseillé aujourd´hui.
Bien sur MD5 c´est mieux que de laisser passer les données en clair.
Mais ce n´est clairement pas une bonne solution.
Ce sont des systèmes de protection OBSOLETE aujourd´hui.
Personne de censé et compétant ne basera sa politique de sécurité sur MD5.
Si on empeche les access au mdp dans /etc/passwd en les transferant dans /etc/shadow ce n´est pas pour rien, c´est bien pour empecher du piratage. Si MD5 etait sur, on pourrait meme publier le MD5 sur le web.
MD5 c´est bien pour calculer le has d´un fichier et verifier qu´il n´y a pas eu d´erreur dans le transfert, mais en terme de sécurité, ca ne vaut pas un clou...
Alors quelle serait la solution de cryptage ?
MD5 c´est pas du cryptage, c´est du hashage. Pour du hashage a but de securite SHA-1 serait meilleur mais encore leger peut etre.
http://linuxfr.org/2005/02/16/18319.html donne quelques reference de plus.
Au niveau du login/password envoyer une passphrase qui sera hashé sur le serveur est une bien mauvaise solution. Elle est sensible aux attaque de type man in the middle, c´est a dire si quelqu´un ecoute la connexion.
Il faut alors assurer que le canal est sur en le chiffrant et en s´assurant que le serveur est bien qui il prétend etre (RSA par exemple)
Finalement donner le mot de pass au serveur est une mauvaise idée meme si le canal est securisé, cela veut dire que l´administrateur du serveur connait le MDP se qui en soit est une mauvaise chose parceque la plupart des gens choisissent toujours les memes mot de pass (moi le premier).
Donc, une premiere solution presque sur serait de passer pas une connexion shttp pour crypter les info qui transitent.
Enfin bon, je ne comprend pas bien ce qu´est le hashage, je vais me renseigner.
Merci godrik pour toutes ces infos ![]()
Desolé pour le double topic, mais je viens d´avoir une idée.
Si on utilse md5() afin de hasher une info, et que coupe le resultat (en enelevant des caractères), l´info hashé ne serait pas les vrai mdp, mais seulement un bout.
Exemple :
http://simmstein.be/wall-Q8RvVxZA-php.htm
oui
et c´est probablement encore pire en terme de securité.
diviser par deux la taille de l´espace des hashé fait que l´algorithme brute force prendra la racine carrée de ce qu´il était avant.
Je crois qu´il faudrait un peu relativiser et se demander si ce que vous voulez protéger par mot de passe crypté est important au point que quelqu´un qui a les connaissances et le matériel suffisant pour le faire se donne la peine de le faire.
A part pour un site de commerce, je ne vois pas ce qui vaudrait le coups, et pour ça, il y´a des méthodes qui ont fait leurs preuves !
godrik
D´ailleurs, je pense que je vais me coder un petit programme Perl (J´ai récupéré un splendide dictionnaire) pour me générer un annuaire inversé des hachages MD5 sur ce Dernier, comme ça, si j´obtiens un MD5, j´aurais une complexité en O(1) lors de l´attaque s´il fait partie du dictionnaire ![]()
Encore mieux, un robot qui parcourt le Net pour se constituer un dictionnaire avec en clé le MD5 :D
DarthBane, c´est la que tu fais une enorme erreur.
En ne protegeant pas tes donnée, ton site web et cie ut donne potentiellement la main sur des ressources de calcul a un ´mechant´.
Ce ´mechant´ peut ensuite utiliser ces (ses du coup) ressources de calcul pour faire une attaque plus grosse ailleurs.
C´est pourquoi je penses qu´il est CAPITAL que TOUS les site web soit protégé.
De plus beaucoup de systèmes ont leur sécurité basé sur la confiance.
Imagines ce qui se passerait si un ´mechant´ arrivait a poster un paquet foireux dans debian.
De plus, certes les données ne sont pas très importantes.
Mais ca ne coute pas cher de les protégés.
A l´heure d´aujourd´hui, la plupart des sites webs ne sont pas protégés parceque les gens qui les écrivent font ca a l´arrache. C´est dommage, ca ne coute pas beaucoup plus cher de faire quelquechose de sur, mais ils ne savent pas, on ne leur dit pas...
hitman: Ca peut etre marrant a faire... pas tres utile, mais marrant... ![]()
Et il y a autre chose Darth-Bane : personne ne peut se souvenir de 200 mots de passe. Donc forcément, il faut partager les mots de passe entre plusieurs sites.
Imagine maintenant que tu utilise le même mot de passe pour ta banque dont le site est ultra bien protégé, et pour pomme-de-terre-land (élever votre pomme de terre vous même...) dont le site ets pourri.
Le pirate a apris que tu v sur ce site. Il récupère sans grosse difficulté ton mot de passe, et ensuite, il essaye (au hasard) ce même mot de passe sur ta banque. Et paf ! tu a un découvert de dix mille euro.
Bon, bien sûr, il faut essayer d´utiliser des mots de passe différent pour les sites sensible, mais c´est pour donner une idée de pourquoi il faudrait que toute sécurité soit toujours de bon niveau, ou alors que le site précise ! attention sécurité pourri.
P.S. ça c´est dans le cas "gentil", mais il est aussi possibnle que le créateur de "pomme de terre land" récupère pour son propre compte tout les login et tout les mdp des gens qui s´inscrivent sur son site, pour les essayer ailleurs (pourquoi pas sur le compte mail de l´adresse que tu as utilisé pour t´inscrire sur son site, en espérant trouvé ce mail que tu as conservé qui récapitulait les mots de passe que tu utilise sur le site de ta banque ? (au passage ça montre qu´il ne faut pas garder ce genre d´information par mail))...
godrik
J´aime bien écrire des robots et les rgarder se balader (D´ailleurs, j´en ai un ou deux qui sont déjà passés ici et là, sur ces forums ![]()
C´est surtout l´aspect ludique qui effectivement me motive :D
godrik
C´est pour cette raison de confiance que je change systélatiquement de password selon le site. Avec la technique de la phrase et de la sélection de lettres (Plus un chiffre ou deux pour augmenter le domaine, on arrive à créer des mots de passe longs et difficiles à casser. Et puisqu´ils sont différents, ils ne peuvent être réexploités ailleurs :p