Rainbow tables

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Cassage de mots de passe
Principe Précalcul empreinte ↔ clair
Contre-mesure Salage du hash
Voir aussi Hashcat · Cain&abel · Oclhashcat-plus

Les rainbow tables sont des tables précalculées associant des empreintes (hash) à leur mot de passe en clair, permettant de casser un hash par recherche plutôt que par calcul répété — beaucoup plus rapide qu'un brute force classique, au prix d'un espace de stockage important. Principale contre-mesure : le salage (salting) du hash, qui rend les tables précalculées inefficaces (il faudrait une table distincte par sel possible).

Générer ses propres tables

Outils : rtgen (Linux), winrtgen (Windows).

cd /usr/share/rainbowcrack
./rtgen md5 loweralpha-numeric 1 5 0 3800 33554432 0
./rtsort *.rt

Utiliser des tables

Accélération GPU (CUDA/OpenCL)

Le calcul et le cassage peuvent être accélérés par GPU, voir Oclhashcat-plus / Hashcat :

cudaHashcat-plus64.bin fichier_attaque -1 ?l?u?d?s ?1?1?1?1 ?1?1?1?1

(nommage historique oclHashcat-plus — outil unifié depuis dans Hashcat)

Bruteforce local : SUCrack

Sans rapport avec les rainbow tables à proprement parler mais dans la même famille d'outils : SUCrack teste un dictionnaire contre la commande su locale.

sucrack /usr/share/wordlists/rockyou.txt
sucrack -w 2 -s 6 -a /usr/share/wordlists/rockyou.txt

Voir aussi

  • Hashcat — cassage GPU, alternative au précalcul
  • Cain&abel — suite Windows utilisant rcrack
  • Oclhashcat-plus — cassage accéléré GPU
  • Wordlist — dictionnaires utilisés pour générer les tables