Menu Audit
Autres services Audit

crackNfast
Rainbows Tables probabilistes

De nos jours il est possible de trouver sur le net des Rainbow Tables, fruits de longs travaux collaboratifs, qui pèsent plusieurs centaines de Go et décrivent des espaces pouvant aller jusqu'à toutes les combinaisons possibles de caractères ASCII de longueur 1 à 8. Ces tables "classiques" ont pour principal inconvénient que les espaces de mots de passe parcourus grandissent de façon exponentielle avec la longueur des mots de passe recherchés et qu'atteindre les 9 caractères est, à l'heure d'aujourd'hui, hautement improbable.Ainsi les tables basées sur des dictionnaires et celles dites "hybrides" sont apparues dès 2007 et 2008. Ces deux approches visent à réduire la taille de l'espace de mots de passe candidats tout en conservant un taux de succès élevé. Jusqu'à présent ces variations étaient les seules implémentations publiques tentant d'améliorer la pertinence des espaces couverts par des Rainbow Tables.
 
LEXSI, pour ses propres besoins lors des tests d’intrusions, a développé le logiciel crackNfast. crackNfast est une solution basée sur un axe statistique déjà connu hors du contexte des Rainbow Tables qui offre des résultats bien supérieurs aux Rainbow Tables classiques tout en nécessitant moins d'espace et de temps.
 
Tout comme pour des rainbows ‘classiques’, les rainbows probabilistes développées par LEXSI sont applicables à tous les algorithmes non salés ou avec un sel prédictible. Dans sa version actuelle, crackNfast est compatible avec les algorithmes NTLM et MSCACHEv1.
 
Des tests ont été réalisés sur la base des mots de passe RockYou, disponible sur internet, qui ont été chiffrés au format NTLM.
Le matériel de référence est un PC à base Intel 2500 + 2 cartes Nvidia GTX580.
Taille de l’espace
Temps de génération (1)
Taille de la table (2)
Longueur des chaînes
Taux de succès RockYou
Temps de déchiffrement pour 1 pwd (3)
Temps de déchiffrement pour 1000 pwd (3)
2^39
15h
4x10Go
2100
75%
13 s
22 mn
2^41
4 jours
4x13Go
8100
81%
25s
4h40
2^47
230 jours
4x300Go
18100
90%
7mn
22h40

(1) Génération sur GPU
(2) Tables rainbows au format RT non optimisé.
(3) Déchiffrement sur CPU


crackNfast se compose de deux programmes crackNfast_gen et crackNfast_search. crackNfast_gen permet de générer les Rainbow Tables probabilistes tandis que crackNfast_search permet d’utiliser les tables générées par crackNfast_gen pour déchiffrer les hashs.
 
A l’heure actuelle crackNfast_gen est optimisé pour GPU supportant CUDA tandis que crackNfast_search n’utilise que le CPU. Une version GPU de crackNfast_search est en cours de tests.
 
LEXSI publie crackNfast sous License Creative Commons BY-NC-SA.

Téléchargez la présentation de crackNfast au SSTIC

pdf Rainbow Tables Probabilistes