Introduction
Rainbowcrack est un outil pour cracker les hash de mots
de passe. Il utilise les tabes arc en ciel qui se base sur la technique de
compromis temps-mémoire. Cette technique, différente de l’attaque par force
brute, réduit considérablement le temps nécessaire pour casser un mot de passe.
Qu’est ce qu’une table arc en ciel ?
La technique par force brute génère tous les textes
clairs possibles et calcul le hash correspondant, puis elle compare les valeurs
de hash résultantes avec le hash à craquer. Par contre, dans la technique de
compromis temps-mémoire, la tâche de calcul de hachage est
effectué à l'avance et les résultats sont stockés dans les « Rainbow
Table ». Après cela, les hash peuvent être consultés à partir des tables arcs en
ciel lors du crack du mot de passe. Le processus de calcul de la force brutal
est donc évité. Une fois le temps du pré calcul terminé, la performance
consultation de table peut être des centaines ou des milliers de fois plus vite
que la force brutale.
Cette technique fonctionne très bien avec les hachages
non salés. Si on possède la bonne table, un mot de passe complexe peut être
craqué en quelques minutes plutôt que quelques semaines ou quelques mois avec
l’attaque force brute.
Comment craquer des mots de passe avec Rainbowcrack ?
Rainbowcrack peut être utilisé sur BackTrack
4 et sur Windows. Il peut être utilisé en lignes de commandes ou en
interface graphique :
1-
En mode console (sur BackTrack):
Les trois outils Rainbowcrack
utilisés dans BackTrack pour retrouver un mot de passe sont :
rtgen : cet outil est utilisé
pour générer les tables arc en ciel, cette étape est parfois nommée stade de
pré calcul. Cette étape peut être très lente.
Mais une fois ce calcul effectué, l’outil de hack sera beaucoup plus rapide. Il
supporte plusieurs algorithmes dont : NTLM, MD2, MD4, MD5, SHA1, et
RIPEMD160.
rtsort : est utilisé pour et
trier les tables arc en ciel générée par rtgen.
rcrack : est utilisé pour
rechercher dans les tables arc en ciel le hash du mot de passe.
Etape 1 : générer les tables arc en ciel :
Pour démarrer le rtgen ligne de commande, exécutez
la commande suivante:
# cd /pentest/passwords/rcrack
Ensuite, pour générer une
table arc en ciel, tapez la commande suivante :
# ./rtgen hash algorithm charset
plaintext_len_min
plaintext_len_max rainbow_table_index
rainbow_ chain_length rainbow_chain_count file_title_suffix
hash algorithme: md5, MD2, MD4, SHA1, ….
loweralpha: le type de caractères
plaintext_len_min : le nombre minimum de
caractères que le texte clair peut
contenir
plaintext_len_max : le nombre maximum de
caractères que le texte clair peut
contenir
rainbow_table_index :
le numéro de la
table
rainbow_chain_length: la longueur de chaque
chaine arc en ciel dans la table
rainbow_chain_count: le nombre de chaines dans
la table arc en ciel
file_title_suffix: le titre du fichier de la
table
Par exemple, nous allons
créer une table arc en ciel avec les caractéristiques suivantes :
./rtgen md5 loweralpha 3
7 0 2000 80000 test
La table arc en ciel sera
sauvegardée dans le fichier : md5_loweralpha # 3-7_0_2000x80000_test.rt
Vous pouvez générer
autant de tables arc en ciel que vous le voulez et en mettant les paramètres
qui vous conviennent, mais cela risque de prendre énormément de temps et d’espace
sur le disque.
Les tables peuvent aussi
être téléchargées depuis certains sites, comme : http://www.freerainbowtables.com/en/tables/ ou http://rainbowtables.shmoo.com/. Cela fait gagner du
temps et l’espace.
Etape 2 : enregistrer les tables arc en ciel :
Pour démarrer le rtsort,
tapez la commande :
# cd / pentest / mots de passe / rcrack
Ensuite, avec notre exemple, nous trions le fichier de la
table arc en ciel avec la commande suivante :
#.
/ rtsort md5_loweralpha # 3-7_0_2000x80000_test.rt
Il ne faut pas interrompre le programme rtsort, autrement, la table
arc en ciel traitée sera endommagée.
Etape 3 : craquer les mots de passe :
Pour lancer la ligne de commande rcrack, tapez la
commande suivante :
# cd / pentest / mots de passe / rcrack
Pour retrouver le mot de passe d’un hash dans les tables
arc en ciel, tapez la commande suivante :
#. / rcrack *. rt-h hash_du_mot_de_passe
Dans notre exemple, on tape la commande suivante :
#. / rcrack *. rt-h ab56b4d92b40713acc5af89985d4b786
On obtient le
résultat suivant :
statistics
-------------------------------------------------------
plaintext
found: 1 of 1 (100.00%)
total disk
access time: 0.03 s
total
cryptanalysis time: 0.94 s
total
chain walk step: 137026
total
false alarm: 821
total
chain walk step due to false alarm: 1336895
-------------------------------------------------------
ab56b4d92b40713acc5af89985d4b786
abcde hex:6162636465
On a donc réussi
à obtenir le mot de passe qui est : abcde
2- En mode graphique (sur Windows):
Vous pouvez utiliser le mode graphique pour trouver un mot de passe. Ce mode est
appelé Rainbowcrack GUI. Les étapes d’utilisation de Rainbowcrack GUI
sont les suivantes :
1-
Chargez le hash du mot de
passe que vous voulez récupérer :
2-
Choisissez ensuite la
table ou les tables arcs en ciel que vous voulez utiliser pour trouver le mot
de passe :
3- Lorsque les tables arc-en-sont spécifiés, la recherche pour récupérer le mot de
passe en claire va démarrer :