Cassage de Hash MD5 ???

Vous avez un problème pour cracker ou vous souhaitez parler de reversing en général...

Cassage de Hash MD5 ???

Messagepar Bango » 23 Juillet 2011, 15:45

Bonjour tout le monde :)

Vous connaissez peut-être un soft qui s'appelle Téléchargeur de Cartes Google (en anglais :p )
J'y avais regardé un peu et grossomodo, le soft récupère 6 caractères du serial entré et les concatène de la manière suivante:
z123456rh où 123456 sont les 6 caractères récupérés.
Un hash MD5 est réalisé sur cette string, ce qui donne : 4BA36EB8FCF3D9D6524B3A609C6993DE

Les 8 premiers bytes du hash sont récupérés et placés en inversion de paires, on se retrouve avec D6D9F3FCB86EA34B

Enfin, cette valeur est comparée à une constante : D15FADB3A3B1019C qui correspond donc, en remettant ça dans l'ordre, au début du hash de quelque chose, un hash qui serait égal à 9C01B1A3B3AD5FD1XXXXXXXXXXXXXXXX

Du coup, la solution qui me paraissait la plus simple, et à mon sens la seule possible :? ... était de patcher la constante et de faire un keygen qui donnerait des serials correspondants à la constante patchée. Logique.
Seulement, j'ai fouiné par curiosité, et j'ai trouvé un keygen de lz0 qui ne fait aucun patch :shock: :?:

Vous avez sans doute deviné la question : Comment qu' c'est-y qu'y zont fait pour savoir que C'est la valeur "zWANGZHrh" qui donnait le hash souhaité :refl1:
Il faut bien casser le MD5 pour retrouver cette valeur, non?? Ca veut dire qu'on peut raisonnablement penser pouvoir le faire en moins de 385 126 ans?? Ou bien il y a une subtilité qui m'échappe?

Merci de m'aider à mieux dormir :lol: ;)
\ô/
Avatar de l’utilisateur
Bango
Modérateur
Modérateur
 
Messages: 1537
Inscription: 23 Juillet 2007, 15:33
Localisation: Gotham city

Re: Cassage de Hash MD5 ???

Messagepar Todd » 23 Juillet 2011, 18:18

Salut PaPa Bango,

La solution me semble évidente :roll:... mais n'ayant pas de "rainbow tables MD5" sous la main, je ne peux pas le vérifier. :?
Et je n'ai pas trouvé de sites internet proposant des conditions de recherche. :(
Mais une simple recherche dans une table de quelques gigaoctets avec les conditions que tu as imposé, donnera rapidement un résultat. :wink:

-Filtre sur les 16 premiers caractères du HASH MD5 devant être égal à "9C01B1A3B3AD5FD1"
-Filtre sur la chaine des résultats avec "z" en premier caractère et "rh" en derniers.

Je ne pense pas qu'il y en ait pour plus d'une heure ! 8)

Repose en paix ! :lol:

Todd
Avatar de l’utilisateur
Todd
Modérateur
Modérateur
 
Messages: 1795
Inscription: 19 Avril 2009, 12:11

Re: Cassage de Hash MD5 ???

Messagepar Bango » 23 Juillet 2011, 18:23

Todd a écrit:Je ne pense pas qu'il y en ait pour plus d'une heure ! 8)
Todd


Seulement :shock: ?! Oh je suis deçu, je m'imaginais un truc infaisable de plusieurs jours avec une machine du futur :D

Je vais faire le test alors, avec un icore 7, je verrais bien le temps nécessaire :roll:



------Edit:
Todd a écrit:Et je n'ai pas trouvé de sites internet proposant des conditions de recherche.

Ben moi non plus :( , ni de soft d'ailleurs, mais j'ai peut être mal cherché :roll:
En tout cas, si quelqu'un connait... ça m'intéresse! :D Quoique ça doit pas être bien long à coder un petit brute force sur 6 caractères qui hasherait toutes les combinaisons possibles des 6 caratères pour le confondre avec LE hash, mais j'ai la flemme de le faire, rien que pour voir si c'est long ;) vacances approchantes...
Du coup je te crois sur parole Todd pour l'heure :refl2: mais je suis un peu sceptique quand même :roll:
\ô/
Avatar de l’utilisateur
Bango
Modérateur
Modérateur
 
Messages: 1537
Inscription: 23 Juillet 2007, 15:33
Localisation: Gotham city

Re: Cassage de Hash MD5 ???

Messagepar Todd » 25 Juillet 2011, 02:10

PaPa Bango a écrit:Du coup je te crois sur parole Todd pour l'heure :refl2: mais je suis un peu sceptique quand même :roll:
Devant cet affront :wink:, je vais te dévoiler le résultat de ma petite soirée très intéressante, à l'étude de ce cas ! :)

Alors premièrement, je tiens à préciser (en toute modestie :D ) que j'avais raison. 8)
Et je suis même allé un peu plus loin que ma proposition, car je n'ai toujours pas de table MD5 :( ... alors j'ai voulu (comme toi) voir ce que donnerait une attaque par force brute sur ces quelques 300 millions de possibilités ! :roll:
A noter que c'est plutôt faible pour les matériels d'aujourd'hui et que j'obtiens ce chiffre simplement car les six caractères du serial ne sont composés que de lettres majuscules de l'alphabet. Soit 26^6 = 308 915 776.

Avec une petite moulinette loin d'être optimisée pour ce genre de tâche, qui d'ailleurs n'utilisait qu'un seul de mes Quad-Cores et a dû se passer de la puissance de mon GPU, j'ai constaté que le temps nécessaire au parcours de l'ensemble des combinaisons n'a été que de 35 minutes ! :shock:
PaPa Bango a écrit:Seulement :shock:?! Oh je suis deçu
Comme tu le dis... :?

Comme le .Net est à la mode en ce moment :D , voici en extra, le KeyGen plutôt basique ! :roll:
Code: Tout sélectionner
byte[] Key = Encoding.Default.GetBytes("WANGZH"); //La constante propre à GMD v6.79
byte[] Serial = new byte[25];

Random Rnd1 = new Random();
//On génère une chaine de 25 caractères aléatoirement incluant que des majuscules
for (i = 0; i <= 24; i++) {
   Serial[i] = Rnd1.Next(68, 91); //On génère une valeur compris entre 65 et 90 inclus, soit de A à Z.
}

//On insère les caractères de Key dans le serial à des endroits stratégiques
int PtrKey = 1;
int PtrSerial = 0;
for (i = 0; i <= Key.Length - 1; i++) {
   //On calcul la valeur du pointeur où sera copiée le prochain caractère de Key
   int Reste = 0;
   Reste = Serial[PtrSerial] % 3;
   //On récupère le reste de la division pour définir le prochain pointeur de Key
   Serial[PtrKey + Reste] = Key[i];
   PtrKey += 4;
   PtrSerial += 4;
}

//On remets en forme le serial (xxxxx-xxxxx-xxxxx-xxxxx-xxxxx)
string KeyGen = "";
for (i = 0; i <= 24; i++) {
   KeyGen += Strings.Chr(Serial[i]);
   if (i == 4 | i == 9 | i == 14 | i == 19) {
      KeyGen += "-";
   }
}
Allez pas de jaloux... la version VB.Net :D :
Code: Tout sélectionner
Dim Key() As Byte = Encoding.Default.GetBytes("WANGZH") 'La constante propre à GMD v6.79
Dim Serial(24) As Byte

Dim Rnd1 As New Random()
'On génère une chaine de 25 caractères aléatoirement incluant que des majuscules
For i = 0 To 24
   Serial(i) = Rnd1.Next(68, 91) 'On génère une valeur compris entre 65 et 90 inclus, soit de A à Z.
Next

'On insère les caractères de Key dans le serial à des endroits stratégiques
Dim PtrKey As Integer = 1
Dim PtrSerial As Integer = 0
For i = 0 To Key.Length - 1
   'On calcul la valeur du pointeur où sera copié le prochain caractère de Key
   Dim Reste As Integer
   Reste = Serial(PtrSerial) Mod 3
   'On récupère le reste de la division pour définir le prochain pointeur de Key
   Serial(PtrKey + Reste) = Key(i)
   PtrKey += 4
   PtrSerial += 4
Next

'On remets en forme le serial (xxxxx-xxxxx-xxxxx-xxxxx-xxxxx)
Dim KeyGen As String = ""
For i = 0 To 24
   KeyGen += Chr(Serial(i))
   If i = 4 Or i = 9 Or i = 14 Or i = 19 Then
      KeyGen += "-"
   End If
Next
Pour les autres applications du même éditeur, la technique est exactement la même :roll: ... seuls les six caractères changent ! :o

A ton service. :wink:

Todd

P.S: Mais je reste convaincu que les moteurs de recherche sur le net sont bien plus performants et nous auraient donné une réponse en quelques secondes, puisqu'une simple requête aboutit en une fraction de seconde ! :wink:
Dernière édition par Todd le 26 Juillet 2011, 11:12, édité 1 fois.
Avatar de l’utilisateur
Todd
Modérateur
Modérateur
 
Messages: 1795
Inscription: 19 Avril 2009, 12:11

Re: Cassage de Hash MD5 ???

Messagepar roxtar » 25 Juillet 2011, 10:05

J'apprends ...
(en ecoutant 8 BIT FM )
roxtar
Elève
Elève
 
Messages: 40
Inscription: 23 Juin 2011, 15:48

Re: Cassage de Hash MD5 ???

Messagepar Bango » 26 Juillet 2011, 08:39

Todd a écrit:A noter que c'est plutôt faible pour les matériels d'aujourd'hui et que j'obtiens ce chiffre simplement car les six caractères du serial ne sont composés que de lettres majuscules de l'alphabet. Soit 26^6 = 308 915 776


Oui, mais alors, si on rajoute les 26 lettres minuscules et les 10 chiffres, on aurait alors 56 800 235 584 de possibilités. Ça mettrait combien de temps là? super longtemps pour le coup, non?
Comme le .Net est à la mode en ce moment :D , voici en extra, le KeyGen plutôt basique ! :roll:

Ce n'est pas à moi que ce sera utile, le .Net c'est Beeeuuuurrrkkkk! :P
Allez pas de jaloux... la version VB.Net :D :

Et ça aussi !!! :aie: :aie: :aie:
Pour les autres applications du même éditeur, la technique est exactement la même :roll: ... seuls les six caractères changent ! :o

Quelle loquacité ce Todd :P, on parle d'un logiciel, il les regarde tous :roll:
Bon... j'avais fait pareil ;) ...par curiosité
P.S: Mais je reste convaincu que les moteurs de recherche sur le net sont bien plus performants et nous auraient donné une réponse en quelques secondes, puisqu'une simple requête aboutit en une fraction de seconde ! :wink:

T'en connais des moteurs sur le net? J'aurais bien testé 2,3 trucs pour voir les temps de recherche.
Je l'aimais bien pourtant ce principe de protection :cry:, je pensais qu'il serait efficace contre le brute force... :roll:
Vous pensez que ça commence à être compliqué à partir de combien de caractères à BF? sur une table de combien de caratères?
\ô/
Avatar de l’utilisateur
Bango
Modérateur
Modérateur
 
Messages: 1537
Inscription: 23 Juillet 2007, 15:33
Localisation: Gotham city

Re: Cassage de Hash MD5 ???

Messagepar Todd » 26 Juillet 2011, 11:05

PaPa Bango a écrit:Oui, mais alors, si on rajoute les 26 lettres minuscules et les 10 chiffres, on aurait alors 56 800 235 584 de possibilités. Ça mettrait combien de temps là? super longtemps pour le coup, non?
J'ai évalué le temps, sur la plage Ascii de 32 à 127, à 68 jours ! :shock:
Mais avec ma moulinette archaïque :D et de toute façon le contrôle du serial inclut notamment 'UpperCase' :roll:... et tous les autres caractères sont exclus alors... 26^6 ! :wink:

Sinon j'aurai juré pouvoir trouver d'autres combinaisons, vu que la recherche du hash est partielle, mais j'ai parcouru également les minuscules sans résultat ! :( Par contre il est presque évident qu'il y a d'autres possibilités sur tous les caractères imprimables (Minuscules, Majuscules, Chiffres, et Spéciaux). Mais il faut utiliser d'autres méthodes :

-Soit, comme initialement suggéré, la recherche dans une table avec conditions. Sans conteste la plus rapide :wink: d'autant que la table ne doit contenir que des chaines de 9 caractères dont 3 fixes ! :) Mais il n'y a pas de solution existante ! :?
Cependant des projets comme rainbowcrack permettent de générer ses propres tables, il faudrait ensuite épurer les résultats, car il n'est pas open-source et n'intégre pas d'autres conditions que le type de caractère... pas très simple ! :?

-Soit, j'aurai bien tenté de modifier la source de BarsWF (récemment Open-Source) qui semble être le plus rapide ! Avec lui il ne faut pas avoir envie de bouger la sourie pendant le traitement ! :shock: :lol:

PaPa Bango a écrit:Ce n'est pas à moi que ce sera utile, le .Net c'est Beeeuuuurrrkkkk! :P
Tu avais le choix des armes :roll:, il fallait imposer tes conditions avant ! :lol:

PaPa Bango a écrit:T'en connais des moteurs sur le net?
Il y en a plein ici

PaPa Bango a écrit:Vous pensez que ça commence à être compliqué à partir de combien de caractères à BF? sur une table de combien de caractères?
Déjà les 3 constantes "z******rh" réduisent considérablement les combinaisons ! :o Elles ont peut-être une utilité que je n'ai pas vu !? :? A la limite qu'ils ne mélangent pas les minuscules et majuscules, c'est plus simple pour les utilisateurs mais au moins ils auraient pu mettre les chiffres ! :roll: (26+10)^9 = 101 559 956 668 416 !!!!! :shock: Là faut oublier le BF ! :lol: En revanche dans ces conditions la table ne fait que 80Go... un jeu d'enfant à parcourir (en quelques milliers de secondes maximum avec rainbowcrack 8))! :roll:

Conclusion, ils ont privilégié la possibilité de générer plus de licences, que de se concentrer sur la sécurité de l'algorithme :? ... sachant qu'on aurait fait un patch au lieu d'un keygen :roll: , je ne suis pas sûr qu'il y aurait eu une grande différence au final ! :roll:

Sécurité insuffisante, copie à revoir ! :lol:

Todd
Avatar de l’utilisateur
Todd
Modérateur
Modérateur
 
Messages: 1795
Inscription: 19 Avril 2009, 12:11

Re: Cassage de Hash MD5 ???

Messagepar izenberg » 27 Août 2017, 13:05

Bonjour a tous , désolé de déterrer le sujet mais connaissez vous un bon logiciel pour décrypter des hash en tous genres hormis l'OS KALI LINUX s'il vous plait ?

désolé aussi pour l'assistanat mais j'ai bien chercher sur google en vain :roll:
izenberg
 
Messages: 4
Inscription: 20 Août 2017, 16:32

Re: Cassage de Hash MD5 ???

Messagepar baboon » 27 Août 2017, 15:42

Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3285
Inscription: 08 Juillet 2005, 17:49

Re: Cassage de Hash MD5 ???

Messagepar izenberg » 30 Août 2017, 20:19

baboon a écrit:https://hashcat.net/hashcat/


merci @baboon c'est sympa mais j'ai oublier aussi de préciser pas de hashcat car j'ai essayer sous kali et il n'as jamais rien trouver :?
de plus j'ai bien télécharger l'archive puis lancer le EXE mais rien ne se lance :o
un autre tools ?
izenberg
 
Messages: 4
Inscription: 20 Août 2017, 16:32

Re: Cassage de Hash MD5 ???

Messagepar Martinooooo » 31 Août 2017, 07:05

Hashcat est clairement le meilleur.
Trouver le mot de passe à l'origine du hash peut prendre très longtemps (ça se compte en dizaine d'années, pas en dizaines d'heures). Si tu ne le trouves pas en 5 minutes ne veut donc pas dire que c'est un problème de hashcat.

Pour aller plus vite:
- si le hash md5 n'utilise pas de salt, tu peux utiliser des bases de données de md5 en ligne comme hxxps://hashkiller.co.uk/md5-decrypter.aspx
- si le hash md5 utilise un salt: utiliser des grosses bases de données de password avec hashcat pour commencer
Acme::Don't
Acme::Bleach
Acme::Pony
Lingua::Romana::Perligata
The Lingua::Romana::Perligata makes it makes it possible to write Perl programs in Latin. (If you have to ask "Why?", then the answer probably won't make any sense to you either.)
Avatar de l’utilisateur
Martinooooo
Maître des ténèbres
Maître des ténèbres
 
Messages: 577
Inscription: 19 Août 2008, 08:20
Localisation: DR8, le + utile DRx

Re: Cassage de Hash MD5 ???

Messagepar izenberg » 09 Septembre 2017, 21:50

Martinooooo a écrit:Hashcat est clairement le meilleur.
Trouver le mot de passe à l'origine du hash peut prendre très longtemps (ça se compte en dizaine d'années, pas en dizaines d'heures). Si tu ne le trouves pas en 5 minutes ne veut donc pas dire que c'est un problème de hashcat.

Pour aller plus vite:
- si le hash md5 n'utilise pas de salt, tu peux utiliser des bases de données de md5 en ligne comme hxxps://hashkiller.co.uk/md5-decrypter.aspx
- si le hash md5 utilise un salt: utiliser des grosses bases de données de password avec hashcat pour commencer



Merci @Martinooooo pour ta reponse pertinente :D

Aller derniere question connaissez vous un bon tools pour cracker les boites mail ? merci
izenberg
 
Messages: 4
Inscription: 20 Août 2017, 16:32

Re: Cassage de Hash MD5 ???

Messagepar etherlord » 15 Septembre 2017, 13:30

izenberg a écrit:
Aller derniere question connaissez vous un bon tools pour cracker les boites mail ? merci


Merci de lire les règles du forum

etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2490
Inscription: 22 Mars 2004, 16:12


Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot] et 4 invités