|
Décryptez votre HASH MD5
par Sébastien FONTAINE (_SebF)
1 - Fonction de décryptage MD5
2 - Composition de la base
2.1 - Liste des caractères
utilisés
2.2 - Définitions des
différentes méthodes
2.3 - Applications des méthodes
3 - Suivi du développement
3.1
- Problème restant
3.2 -
RoadMap
3.3
- Suivi du projet
Le HASH MD5 est une fonction
irréversible, ce qui signifie qu'il n'existe pas d'algorithme ou de fonction
permettant de retrouver la chaîne d'origine à partir de son HASH.
La seule méthode pour déchiffrer un HASH
est de crypter un ensemble de chaînes de caractères. Ainsi, chaque chaîne cryptée
sera comparée au HASH recherché jusqu'à trouver la correspondance. Il existe
principalement 3 méthodes qui sont la comparaison par :
- Brut force, qui
consiste à générer toutes les combinaisons possible d'une chaîne pour une
longueur donnée. Cette méthode est très longue.
- Dictionnaire, qui consiste à utiliser les mots d'un
dictionnaire. C'est beaucoup plus pertinent, mais ça demande beaucoup d'espace
et de temps.
- Rainbow table, qui consiste à la recherche d'empruntes.
c'est un bon compris entre le temps et l'espace, mais cela reste tout de même
très long.
L'idée de l'outil en ligne proposé est
de vous permettre de déchiffrer un HASH MD5 instantanément (inférieur à 3
secondes). Pour cela, nous avons générés 500 Millions de HASH stockés dans la base
de AuthSecu.com. Ainsi, vous pourrez disposer d'une méthode qui outrepasse le
problème de mémoire et de temps.
L'intérêt de cet outil est qu'il requête
dans une base
composée principalement de dictionnaire français où chaque mot à subit des
variation brut force. Augmentant ainsi au maximum la
pertinence et les chances de trouver votre HASH.
Posez vos questions,
remarques, demande d'évolution et retour d'expérience sur le
Forum dédié
La base est actuellement composée de
plus de 500 Millions de HASH pour une totalité de 12 Go. Pour ce faire nous
avons associé la méthode de brut force et de dictionnaire. Vous trouverez
ci-dessous le détail du contenu de la base.
Les 26 lettres minuscules :
abcdefghijklmnopqrstuvwxyz
Les 26 lettres majuscules :
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Les 10 chiffres :
0123456789
Les 10 caractères spéciaux :
!/.,;*$@_-
Brut 4 :
Génère un brut force de 4
caractères incluant les 26 lettres minuscules, les 26 lettres
majuscules, les 10 chiffres et les 10 caractères spéciaux.
Brut 5 Minuscules :
Génère un brut force de 5 caractères incluant les 26 lettres minuscules.
Brut 5 Majuscules :
Génère un brut force de 5 caractères incluant les 26 lettres majuscules.
Brut 7 Chiffres :
Génère un brut force de 7 caractères incluant les 10 chiffres.
Brut 7 Spéciaux :
Génère un brut force de 7 caractères incluant les 10 caractères spéciaux.
Var Minuscule/Majuscule :
Variation Minuscule/Majuscule de toutes les combinaisons incluses dans le
dictionnaire.
Var 1 avant :
Ajoute 1 caractère avant chaque mot du dictionnaire. Ce caractère peut être
composé des 10 chiffres et des 10 caractères spéciaux.
Var 1 avant + 1st Maj :
Change la première lettre en majuscule de chaque mot du dictionnaire et ajoute 1
caractère avant. Ce caractère peut être composé des 10 chiffres et des 10
caractères spéciaux.
Var 2 après :
Ajoute 2 caractères après chaque mot du dictionnaire. Ces caractères peuvent
être composés des 10 chiffres et des 10 caractères spéciaux.
Var 2 après + 1st Maj :
Change la première lettre en majuscule de chaque mot du dictionnaire et ajoute 2
caractères après. Ces caractères peuvent être composés des 10 chiffres et des 10
caractères spéciaux.
Var 1 avant + 1 après :
Ajoute 1 caractère avant et 1 après chaque mot du dictionnaire. Ces caractères
peuvent être composés des 10 chiffres et des 10 caractères spéciaux.
Var 1 avant + 1 après + 1st Maj :
Change la première lettre en majuscule de chaque mot du dictionnaire et ajoute 1
caractère avant et 1 après. Ces caractères peuvent être composés des 10 chiffres
et des 10 caractères spéciaux.
Brut force :
|
Nombre de HASH |
Taille disque en Mo |
Méthode |
|
|
|
|
|
19 266 654 |
367 |
Brut 4 |
|
12 356 630 |
246 |
Brut 5 Minuscules |
|
12 356 630 |
246 |
Brut 5 Majuscules |
|
11 111 110 |
242 |
Brut 7 Chiffres |
|
11 111 110 |
242 |
Brut 7 Spéciaux |
Dictionnaire des prénoms
- 12 436 entrées :
|
Nombre de HASH |
Taille disque en Mo |
Méthode |
|
|
|
|
|
1 381 276 |
31 |
Var
Minuscule/Majuscule |
|
248 060 |
7 |
Var 1 avant |
|
248 060 |
7 |
Var 1 avant + 1st Maj |
|
5 209 260 |
130 |
Var 2 après |
|
5 209 260 |
130 |
Var 2 après + 1st Maj |
|
5 209 260 |
130 |
Var 1 avant + 1 après |
|
5 209 260 |
130 |
Var 1 avant + 1 après
+ 1st Maj |
Dictionnaire de mot
français - 46 821 entrées :
|
Nombre de HASH |
Taille disque en Mo |
Méthode |
|
|
|
|
|
12 261 120 |
291 |
Var
Minuscule/Majuscule |
|
791 120 |
21 |
Var 1 avant |
|
791 120 |
21 |
Var 1 avant + 1st Maj |
|
12 667 797 |
338 |
Var 2 après |
|
12 667 797 |
338 |
Var 2 après + 1st Maj |
|
12 846 720 |
341 |
Var 1 avant + 1 après |
|
12 846 720 |
341 |
Var 1 avant + 1 après
+ 1st Maj |
Dictionnaire de mot
anglais - 26 166 entrées :
|
Nombre de HASH |
Taille disque en Mo |
Méthode |
|
|
|
|
|
6 218 420 |
147 |
Var
Minuscule/Majuscule |
|
460 580 |
12 |
Var 1 avant |
|
460 580 |
12 |
Var 1 avant + 1st Maj |
|
9 672 180 |
254 |
Var 2 après |
|
9 672 180 |
254 |
Var 2 après + 1st Maj |
|
9 672 180 |
253 |
Var 1 avant + 1 après |
|
9 672 180 |
253 |
Var 1 avant + 1 après
+ 1st Maj |
Dictionnaire des pays
- 162 entrées :
|
Nombre de HASH |
Taille disque en Mo |
Méthode |
|
|
|
|
|
31 288 |
1 |
Var
Minuscule/Majuscule |
|
2 940 |
0 |
Var 1 avant |
|
2 940 |
0 |
Var 1 avant + 1st Maj |
|
1 237 740 |
35 |
Var 2 après |
|
1 237 740 |
35 |
Var 2 après + 1st Maj |
|
1 237 740 |
35 |
Var 1 avant + 1 après |
|
1 237 740 |
35 |
Var 1 avant + 1 après
+ 1st Maj |
Dictionnaire des
villes - 23 427 entrées :
|
Nombre de HASH |
Taille disque en Mo |
Méthode |
|
|
|
|
|
5 850 290 |
138 |
Var
Minuscule/Majuscule |
|
416 680 |
11 |
Var 1 avant |
|
416 680 |
11 |
Var 1 avant + 1st Maj |
|
5 488 365 |
145 |
Var 2 après |
|
5 487 525 |
145 |
Var 2 après + 1st Maj |
|
5 636 280 |
149 |
Var 1 avant + 1 après |
|
5 635 440 |
149 |
Var 1 avant + 1 après
+ 1st Maj |
Dictionnaire des mot
de passe par défaut - 442 entrées :
|
Nombre de HASH |
Taille disque en Mo |
Méthode |
|
|
|
|
|
61 866 |
1 |
Var
Minuscule/Majuscule |
|
8 440 |
0 |
Var 1 avant |
|
7 700 |
0 |
Var 1 avant + 1st Maj |
|
71 073 240 |
2 100 |
Var 2 après |
|
64 841 700 |
2 100 |
Var 2 après + 1st Maj |
|
71 073 240 |
2 080 |
Var 1 avant + 1 après |
|
64 841 700 |
2 080 |
Var 1 avant + 1 après
+ 1st Maj |
- Valider tous les espaces disques
- Rajouter le caractère spécial % -> A
faire
- Faire varier les caractères S en $, 0
en O, a en @ et etc. Exemple : p@5$w0rd -> A faire (idée de MathieuG)
- Supprimer les doublons -> Problème de performance
- Chercher si deux HASH identiques existes -> Problème de performance
|
2006.10.28 |
- Publication des
méthodes et des statistiques |
|
2006.10.27 |
- Publication WEB de
l'outil PHP de décryptage MD5 |
|
2003.10.26 |
- Ecriture des
scripts PHP requêtant la base |
|
2003.10.25 |
- Génération de 11
Go de HASH |
|
2003.10.21 |
- Ajout de la
possibilité de variation du dictionnaire |
|
2006.10.08 |
- Passage à une
gestion de 4096 fichiers |
|
2006.09.19 |
- Création de
l'exécutable générant les HASH |
|