Décrypter un .htpasswd (MD5) - Sécurité - Windows & Software
Marsh Posté le 13-03-2005 à 14:53:27
Il ne peut décrypter le mot de passe que s'il est dans un dictinnaire +/- quelques variantes. Il ne pourra jamais cracké un mot de passe bien choisi.
Pourquoi veux tu décrypter le mot de passe ???
Marsh Posté le 13-03-2005 à 15:18:40
cpdump, quand tu dis "il" tu parles de quel soft?
Je suis en train de construire un site et j'aimerais protéger certains dossiers avec des .htaccess... Seulement, un peu partout sur le net, il est dit que ce type de protections est assez facilement cassables. C'est pour ça que je me renseigne...
Marsh Posté le 13-03-2005 à 15:29:11
initial a écrit : cpdump, quand tu dis "il" tu parles de quel soft? |
Ceux qui t'ont dit ca sont des gros lamers
Pour cracker un pass d'htpasswd il faut avoir ce htpasswd sous la main (impossible puisque hors de l'arborescence du site ou bien dans une zone protégée), ou tester toutes les combinaisons sur le htaccess: ca c'est pas possible, t'es limité par la connexion et par les paramètres de sécurité d'apache.
Marsh Posté le 13-03-2005 à 15:33:27
Je parlais de John, je n'ai pas regardé l'autre mais il doit utiliser le même principe (dictionnaire). Une attaque force brute (test de toutes les combinaisons) nécessite des moyens informatiques considérables même avec les failles trouvées dans l'algorithme.
Ton fichier .htaccess doit se situer dans un répertoire non accessible depuis Internet, regarde la gestion les droits des répertoires de ton serveur web.
EDIT: grillé
Marsh Posté le 13-03-2005 à 15:55:57
aspegic500 mg, partant du principe qu'on peut arriver à avoir accès au .htpasswd (par diverses failles ou autres, je ne m'y connais pas bien...), il devient possible de retrouver le mot de passe non?
L0pht Crack fait les htpasswd???
Marsh Posté le 13-03-2005 à 16:11:03
si tu utilises des mots de passe genre "caniche22" ou "mauricette", tu as 99% de chances de voir ton pass cracké rapidement.
si tu utilise par contre des vrais pass genre "Ad4xDp6w" ou encore mieux "S4@d-11Q" (ou "#Er$s=A7" ), voire plus longs, c'est quasiment impossible (impossible en ligne, et il y en aura pour TRES longtemps avec une force brute vu qu'il faut essayer toutes les combinaisons possibles.)
donc quelles que soient tes motivations, oublie le crack de .htpassword, c'est safe comme systeme, tant que tu place ce .htpassord dans un repertoire hors zone publique ou dans un rep protegé par un deny all...
Marsh Posté le 13-03-2005 à 16:15:02
gorn nova a écrit : si tu utilises des mots de passe genre "caniche22" ou "mauricette", tu as 99% de chances de voir ton pass cracké rapidement. |
t'facon le brut force en ligne
Maintenant les systèmes protégés après plusieurs essais, on ne peut plus réésayer pendant x minutes, ou l'ip qui attaque en brute force est bloqué, et on dois se reconnecter. Donc
Marsh Posté le 13-03-2005 à 17:06:06
initial a écrit : Pour décrypter un .htpasswd crypté en MD5, on peut utiliser John the ripper (http://www.openwall.com/john/). Seulement, à ce propos, il paraît que, parfois, John n'arrive pas à venir à bout du password... ça ne marcherait qu'une fois sur deux... (est-ce bien vrai?) D'autre part, quelle est la commande exacte à passer à John pour décrypter le htpasswd en local (copié dans C:\pass.txt)? Et dans "pass.txt", on doit mettre tout le contenu du htpasswd ou juste ce qui correspond au password? |
Si je ne m'abuse, le MD5 est une fonction de hachage, pas de chiffrement ; il est impossible de déchiffrer un hash md5
Marsh Posté le 13-03-2005 à 17:22:56
en effet, c'est du hachage donc ça n'est pas réversible.
Mais certaines méthodes de brute force devraient en venir à bout...
par ailleurs, je l'ai dit et je le répète : dans ce topic, je pars du principe que le .htpasswd est accessible (je sais qu'ont peut le protéger mais ça n'est pas ma question).
L0pht Crack ne casse pas les htpasswd à ce que j'ai vu via Google... qqu'un pourrait confirmer?
Marsh Posté le 13-03-2005 à 17:40:08
initial a écrit : en effet, c'est du hachage donc ça n'est pas réversible. |
Les algos type john, mdcrack pour cracker les signatures md5 utilisent des attaques de type dictionnaire ; l'attaque force brute demande des moyens très important genre un supercalculateur sur une longue durée. Donc SI tes mots de passe sont bien choisis tu peux être tranquille.
Oui, il est possible théoriquement de trouver un mot de passe ayant la même signature md5, mais c'est pratiquement très long et très couteux.
Marsh Posté le 13-03-2005 à 17:45:02
autre question :
est-ce qu'à partir de la longueur du hash MD5 (présent dans le htpasswd), on peut déterminer la longueur du password en clair?
Marsh Posté le 13-03-2005 à 18:23:36
MD5 est vulnérable aux collisions...
(ouaip, je dis juste ça pour faire mon malin )
Marsh Posté le 13-03-2005 à 18:43:07
OK... bon...
Faisons un concours : si je génère un htpasswd en MD5, qui serait capable de le cracker?
Marsh Posté le 13-03-2005 à 18:56:15
le MD5, ca marche comme ca :
Citation : Notations |
le MD5 (Message Digest version 5) est un algorithme d'identification qui permet d'obtenir pour chaque message une empreinte numérique (en l'occurrence une séquence de 128 bits) avec une probabilité forte que, pour deux messages différents, leurs empreintes soient différentes.
Deux messages très similaires (par exemple : un caractère différent) auront avec une très forte probabilité des empreintes totalement différentes. C'est un algorithme à sens unique car l'empreinte ne permet pas de retrouver facilement le message.
MD5 est un algorithme rapide et simple à implémenter. Toutefois, il ne faut pas oublier que des failles ont été trouvées et qu'il n'est plus recommandé de l'utiliser.
Quand les mots de passe sont cryptés en MD5 (sur un forum par exemple), le système de décrypte pas le pass dans la base de données pour le comparer à celui qu'on entre, c'est l'inverse : on entre notre password, il est crypté en MD5 et comparé à celui qui est stocké dans la base.
Faisons un concours, j'ai piqué un pass sur le site de quelqu'un que j'aime pas, qui sera capable de le cracker pour moi ?
Marsh Posté le 13-03-2005 à 19:00:39
Meuh non, c'est pas de ça qu'il s'agit!
Par contre, merci pour la doc, très complète.
J'ai rien piqué à personne... Si vous voulez, je génère un mot de passe en rapport avec un thème que vous me donnez (comme ça vous savez pas quel est le mot de passe exactement, mais vous pouvez vérifier que c'est pas un truc piqué ailleurs...). pas bête hein? lol
alors?
Marsh Posté le 13-03-2005 à 19:13:52
initial a écrit : Meuh non, c'est pas de ça qu'il s'agit! |
J'ai vu un article d'une equipe qui a reussi à retrouver un des password qui auraient pu être utilisés pour générer un hash md5 donné, aprés 2 ans de supercalculateur
Marsh Posté le 13-03-2005 à 19:22:07
ah oui quand même... c'est récent ou c'était y a dix ans?
Marsh Posté le 13-03-2005 à 20:22:35
initial a écrit : OK... bon... |
Tout le monde n'a pas un Cray chez soi
Marsh Posté le 13-03-2005 à 20:30:17
cpdump a écrit : Tout le monde n'a pas un Cray chez soi |
ah bon ?
bande de pauvres
Marsh Posté le 13-03-2005 à 20:32:48
de t'facon, un bon brute force, et c'est réglé.
Sinon, pour sécuriser plus ton pass avec le fichier .htaccess, utilise la méthode 'AuthType Digest' . Elle est plus secure, et normalisée.
Marsh Posté le 13-03-2005 à 20:33:07
Et puis d'un autre côté, dans la conf de ton apache, tu as :
# |
Donc, l'attaquant potentiel ne peut PAS télécharger le .htaccess...
Marsh Posté le 13-03-2005 à 20:43:45
trictrac a écrit : de t'facon, un bon brute force, et c'est réglé. |
Marche pas le brute force sur un md5
Une infinité de mots peuvent donner le meme hash md5, donc même en y allant à la bourrin, si tu trouve, tu trouve seulement une des possibilités parmis une infinité, donc bonne chance
Et brute force sur le web c'est pas possible
Marsh Posté le 13-03-2005 à 20:58:38
pour le brute force web, je suis d'accord. D'autant plus, qu'avec le brute force web, tu t'en fou de la méthode derriere, que ce soit du MD5 ou du SHA-1 ou autre, c'est pareil, tu essaie un mot de passe, puis un autre etc jusqu'a ce que ca passe.
La on considère qu'on a le hash MD5.
Par contre, et c'est justement la l'interet des collisions, t'es pas obligé de trouver le bon mot de passe, tu cherches juste un mot de passe qui fourni le meme hash. Donc ça réduit le temps de recherche théorique.
Recemment, le simple fait pour une equipe de cryptanalystes de prouver que SHA-1 avait des collisions a amené les scientifiques a considérer l'algo comme "cassé".
Faisant suite au 'cassage' de MD5 et SHA-0 l'an dernier, ils se posent meme la question de savoir s'il existe des methodes de hachage incassables.
Marsh Posté le 13-03-2005 à 21:17:59
trictrac a écrit : pour le brute force web, je suis d'accord. D'autant plus, qu'avec le brute force web, tu t'en fou de la méthode derriere, que ce soit du MD5 ou du SHA-1 ou autre, c'est pareil, tu essaie un mot de passe, puis un autre etc jusqu'a ce que ca passe. |
Je crois que l'idéal, ca serait de hasher un password avec 2 hashages différents, et de vérifier les deux pour valider un password, ca réduirait les collissions de manières gigantesque
Marsh Posté le 13-03-2005 à 21:23:29
bah certains hash (MD5 le fait il me semble, la flemme de verifier) le font deja dans leur algo.
Mais simplement, la transitivité empeche ton raisonnement:
premiere fonction de hachage : f1
deuxieme: f2
h = ton hash
m le message initial
-> h = f1(f2(m)) --> h = f3(m)
f3 etant en fait la nouvelle fonction de hashage que tu as créée, et qui pose de nouveau le meme probleme : tu n'a rien réduit du tout en fait
Marsh Posté le 13-03-2005 à 21:57:21
Citation : Technique du grain de sel |
evidement, c'est plus dur pour les htaccess, mais ca peut etre utile dans le cas d'applications simples, comme les passwords d'un site ou d'un forum...
(source : http://matthieu.developpez.com/authentification/)
Marsh Posté le 13-03-2005 à 22:04:06
mais comme ils disent, le grain de sel est connu .. donc la problèmatique des collisions reste la meme.
Dans une methode de hashage, rien n'est censé etre secret, ni l'algorithme, ni le grain de sel, ni le hash (c'est pour ca qu'il doit etre non reversible)
Une methode de hashage est dite cassée si, avec tous ces éléments, on peut trouver de manière deterministe un message générant le bon hash sans avoir a parcourir toutes les possibilités
Mais bon, dans l'absolu, pour un site 'perso', le .htpasswd non accessible depuis l'extérieur, associé a un .htaccess utilisant auth-typ=digest, et tes potes lamerz pourront se lever tot pour casser la protection (exluant bien sur le mot de passe ecrit sur un post-it ou du type 'toto' )
Marsh Posté le 14-03-2005 à 07:53:03
Ah! Vous voyez... à mon avis, le problème des collisions rend tout à fait possible de casser un htpasswd...
Revenons-en à la question de départ : je me mets à la place d'un attaquant potentiel. est-ce qu'il existe de softs en libre circulation sur Internet pour réaliser une attaque par brute force sur du MD5? Si oui, lesquels?
Marsh Posté le 14-03-2005 à 10:26:46
initial a écrit : Ah! Vous voyez... à mon avis, le problème des collisions rend tout à fait possible de casser un htpasswd... |
Tu fais un programme toi-même c'est hyper simple
Marsh Posté le 14-03-2005 à 12:08:21
initial a écrit : Ah! Vous voyez... à mon avis, le problème des collisions rend tout à fait possible de casser un htpasswd... |
Du fait que la taille des mots de passe est faible et souvent inférieur à la taille des signatures MD5, je ne suis pas certain que la probabilité de collision soit très élevé ni si même elle existe. Il faudrait un expert sur les algo de hashage pour répondre, et je ne suis même pas certain que cela soit démontrable formellement.
Qu'est ce que tu va faire avec ton programme ? Tu seras mort et enterré avant que ton programme ait trouvé la moindre collision
Marsh Posté le 14-03-2005 à 13:25:32
cpdump: la collision a été démontrée formellement
edit: mais effectivement, son idee c'est dla daube ...
Marsh Posté le 14-03-2005 à 13:43:10
Même en travaillant sur un sous-ensemble de chaines dont la longueur est inférieur à la signature (128bits) ? c'est une démonstration formelle ou une collision a été trouvée ?
Marsh Posté le 14-03-2005 à 13:56:18
cpdump a écrit : Même en travaillant sur un sous-ensemble de chaines dont la longueur est inférieur à la signature (128bits) ? c'est une démonstration formelle ou une collision a été trouvée ? |
Une collission a été trouvée par une équipe de chercheur .... aprés 2 ans d'éssais sur un supercalculateur
Il y'a une infinité de mots qui peuvent donner le même md5, et une infinité de mots qui ne donne pas, donc tu peux tester 200 milliards de chaines de caractères sans tomber sur le même hash md5, ou en tester 2 complètement différents et tomber sur le même
2^128 ca fait combien de combinaison possibles?
2^100 ca fait 81 129 638 414 606 681 695 789 005 144 064, 80 millions de trillards de trillards
Tu multiplie ca par 2^28
Donc si tu teste ce nombre de chaines différentes, tu es sûr de trouver une collission (je me trompe?)
Bonne chance
Marsh Posté le 14-03-2005 à 14:01:45
c'est clair, on perdrait moins de temps a aller peter les deux genoux du webmaster pour recuperer les acces
Marsh Posté le 13-03-2005 à 14:46:10
Pour décrypter un .htpasswd crypté en MD5, on peut utiliser John the ripper (http://www.openwall.com/john/). Seulement, à ce propos, il paraît que, parfois, John n'arrive pas à venir à bout du password... ça ne marcherait qu'une fois sur deux... (est-ce bien vrai?) D'autre part, quelle est la commande exacte à passer à John pour décrypter le htpasswd en local (copié dans C:\pass.txt)? Et dans "pass.txt", on doit mettre tout le contenu du htpasswd ou juste ce qui correspond au password?
J'ai également entendu parlé de MDcrack mais je ne parviens pas à le faire marcher...
Existent-ils d'autres softs pour réaliser cette épineuse opération?