SSTIC 2013 - Rainbow tables probabilistes et améliorations

Par ?

Les rainbow-tables, c’est bien pratique pour péter des hash Windows rapidement. On utilise un ensemble de hash pré-calculés que l’on stocke dans des tableaux. Comparativement au bruteforce pur, les rainbow-tables sont plus rapides, mais extrêmement plus volumineuses. Or la taille des tables va venir limiter les performances à cause des performances des accès disques et du swap des données des grosses tables.

Afin de réduire la taille des rainbow-tables tout en optimisant l’usage du CPU lors de la phase de cassage (qui est très peu sollicité puisque c’est principalement des lookups dans des tables).

Les patterns sont des ensemble de caractères spécifiques dont on connait la probabilité de rencontre. probabilité calculée avec un apprentissage basé sur les leaks de rockyou, yahoo, myspace.  Le choix de ces patterns et de leur enchaînement dans la phase de cassage viens réduire la taille des tables au détriment d’une moins bonne résolution des hash. On calcule donc un peu plus, mais avec beaucoup moins de volume ce qui évite la limitation liée à la vitesse d’accès au disque puisqu’on peut charger toutes les tables en mémoire.

Les chaines de Markov servent aussi dans le cassage de mots de passes. L’orateur nous explique le fonctionnement de sa fonction de réduction à grand coup de tableaux.

L’orateur à mis au point une optimisation de cet algorithme.