Zum Inhalt springen
uencoder

Rainbow Table

Eine Rainbow Table ist eine vorberechnete Tabelle, die Martin Hellmans Ansatz zum Invertieren von Hashfunktionen verbessert und im Zeit-Raum-Kompromiss Speicher gegen Zeit tauscht, um Passwort-Hashes zu knacken.

Zweck

Reduziert den Speicherbedarf massiv über vorberechnete Hashketten und knackt ungesalzene Passwort-Hashes effizient im Zeit-Raum-Kompromiss.

Mechanismus

Vorab werden Hashketten berechnet: wiederholt hashen-und-reduzieren von einem Start- zu einem Endpunkt, wobei nur Endpunkte gespeichert werden. Zum Nachschlagen wird vom Ziel-Hash aus wiederholt reduzieren-und-hashen bis zum Endpunkt-Treffer, dann wird die Kette vom Startpunkt neu aufgebaut, um das Präimage zu finden. Salt erzwingt eine eigene Tabelle pro Nutzer und macht Vorberechnung unpraktikabel.

Anwendungsfälle

  • Knacken ungesalzener LM/NTLM-Hashes
  • Schulung zur Passwort-Hash-Sicherheit
  • Ophcrack-Werkzeug
  • Sicherheitsaudits

Beispiele

  • Eingabe
    MD5 without salt
    Output
    8-character alphabetic password cracked in seconds

    Salt defeats rainbow tables

Häufige Fehler

Storing password hashes without salt
Unique per-user salt + slow hash

Verwandte Begriffe

Verwandte Tools

References