Um gute Erfolge mit Rainbow-Tabellen zu erzielen, braucht man nicht unbedingt gigantische Datenbanken. Die nachfolgende Tabelle gibt einen Überblick über die notwendige Datenbankgröße bei Vollenumeration und bei der Verwendung von „perfekten Rainbow-Tabellen“, die keine Kollisionen beinhalten. Ferner wird in der Tabelle der Sonderfall betrachtet, wenn das Password nicht case-sensitive ist. Dadurch verringert sich die Datenbankgröße erheblich. Das ist etwa bei der LM-Authentifizierung unter Windows der Fall, die Rückwärtskompatibilität zum Microsoft-LAN-Manager sicherstellt.
Moderne Windows-Version nutzen die bessere NTLM- oder NTLMv2-Authentifizierung und speichern keine LM-Hashwerte. Die Hashwerte bei NTLM und NTLMv2 sind identisch.
Größe von vollenumerierten Datenbanken und Rainbow-Tabellen im Vergleich |
||||
Passwortlänge | Datenbankgröße Vollenumeration (MD5, NTLM) | Datenbankgröße Vollenumeration (LM) | Rainbow-Tabellen Kettenlänge 10.000 (MD5, NTLM) | Rainbow-Tabellen Kettenlänge 10.000 (LM) |
---|---|---|---|---|
6 Zeichen | 2,35 TByte | 148,68 GByte | 134,64 MByte | 8,30 MByte |
7 Zeichen | 172,27 TByte | 6,68 TByte | 10,74 GByte | 426,28 MByte |
8 Zeichen | 12,29 PByte | 306,64 TByte | 859,02 GByte | 20,93 GByte |
9 Zeichen | 896,03 PByte | 13,73 PByte | 66,06 TByte | 1,01 TByte |
10 Zeichen | 63,70 EByte | 628,06 PByte | 5,02 PByte | 49,47 TByte |
In der Praxis gibt es keine perfekten Rainbow-Tabellen. Sie enthalten Kollisionen und Merges. Daher sind sie meist größer. Außerdem lässt sich nicht jedes Passwort knacken. Tabellen, die man im Internet herunterladen kann, besitzen eine Erfolgswahrscheinlichkeit zwischen 50 und 90 Prozent.
Ferner decken die meisten Tabellen nicht alle Passwörter ab. ZDNet macht einen Test mit Tabellen, die Passwörter mit maximal sieben Zeichen knacken können. Erlaubte Zeichen sind Kleinbuchstaben, Zahlen und Sonderzeichen. Passwörter, die Großbuchstaben enthalten können mit diesen Tabellen nicht entschlüsselt werden. Die Tabellengröße beträgt 11,43 GByte.
Das erste Passwort führt relativ schnell zum Erfolg. Nach einer Minute und 42 Sekunden steht das richtige Passwort in Klartext auf dem Bildschirm. 81 Sekunden werden alleine für das Einlesen der Tabellen benötigt. Ein zweites Passwort wird mit den Tabellen nicht gefunden. Nach über neun Minuten meldet das Knackprogramm, dass es aufgibt.
Mit einer 11 GByte großen Rainbow-Tabelle lassen sich Passwörter bis zu sieben Zeichen innerhalb weniger Minuten mit hoher Wahrscheinlichkeit knacken. Restriktion bei der verwendeten Tabelle ist jedoch, dass keine Großbuchstaben vorkommen dürfen.
Als Hardware wurde ein Lenovo-T60-Notebook mit Core-2-Duo-CPU und 2,33 GHz Taktfrequenz verwendet. Der Test wurde auf nur einem Core durchgeführt. Bei Nutzung von zwei Threads verringert sich die Zeit für das Knacken des ersten Passworts um neun Sekunden. Will man nur einen Hashwert knacken, spielt die CPU-Zeit eine untergeordnete Rolle, hat man hingegen eine ganze Liste von Hashwerten, etwa aus einer Active-Directory-Datenbank, bringt ein schneller Rechner mit vielen Cores Vorteile.
Die Erstellung von Rainbow-Tabellen ist eine aufwändige Angelegenheit. Sie werden meist mittels Distributed-Computing-Projekten mit tausenden von Rechnern in jahrelanger Arbeit ermittelt. Durch ständige Verbesserung steigt die Erfolgswahrscheinlichkeit stark an.
Man findet beispielsweise „Hobbyisten-Projekte“ im Internet. Die von ZDNet genutzten Tabellen stammen aus so einem Projekt. Es ist davon auszugehen, dass Regierungen und Geheimdienste über wesentlich bessere und umfangreichere Tabellen verfügen. Ferner findet man „kommerzielle“ Dienste im Internet, die gegen Bezahlung einen Hashwert in ein Klartextpasswort umwandeln.
Neueste Kommentare
9 Kommentare zu Rainbow Tables: Windows-Passwörter nicht mehr sicher
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
Sehe ich auch so.
Zunächst einmal ist der Artikel recht informativ. Doch den Vorschlag einen Satz statt eines ordentlichen Passworts zu verwenden halte ich schon fast für kriminell!
Es mag sein das man hier mit rainbow-Tables nicht weit kommt. Aber hier helfen dann wieder Wörterbuch-Attacken weiter indem man einfach verschiedene Wörter innerhalb der Liste zusammensetzt. Auch hier gibt es Tools die das problemlos hinkriegen.
Die Aussage nur ein Sonderzeichen zu verwenden ist auch an fahrlässigkeit kaum zu überbieten, genau wie die Zeichenfolge 123 hinten dran zu hängen oder 001 oder was weiß ich.
Fast genauso schlimm ist die Aussage man sollte O´s nicht durch 0en ersetzen da man diese ja vergessen könnte… Leute, das ist nicht euer Ernst?!
Außerdem ist jeder User selber schuld der Passwörter unter einer Länge von 12 Zeichen verwendet.
Wie muss man sich das Durchprobieren der Passwörter denn vorstellen?
Da ich absoluter Laie auf diesem Gebiet bin, die Thematik aber hochinteressant finde, eine kurze Frage:
Wenn ein Angreifer nun eine Liste von Passwörtern zur Verfügung hat, die er durchprobieren möchte, wie geht er denn dann vor. Ich lese immer wieder von Programmen, die eine Anmeldung bei den zu knackenden Systemen vornehmen. Warum wird ein Angreifer denn nicht gezwungen, die Anmeldedaten ganz normal in die Eingabemaske einzugeben. Allein die Verzögerung, die bei der Anmeldung dann entsteht, sollte doch ein wirtschaftliches Durchprobieren der Passwörter unmöglich machen.
Verstehe ich das also richtig, dass es neben der normalen Anmeldung auch einen Weg „hintenherum“ gibt, auf dem sich ein Angreifer bei einem System einloggen kann? Trifft das auch auf Webserver zu?
AW: Wie muss man sich das Durchprobieren der Passwörter denn vorstellen?
An normalen Home-PCs und Laptops, also Geräte zu denen man physikalischen, tatsächlichen Zugriff hat, kann die Boot-Reihenfolge geändert werden. Dann wird eben von CD oder USB-Stick ein anderes Betriebssystem geladen und das greift auf den Hash-Speicher der Windowsinstallation zu.
Sie können ja mal den Versuch bei sich machen. Bei Sourceforge.net gibt es ein quelloffenes Programm, das hier o** … genannt wurde. Ich war erstaunt, wie fix das mit kurzen Passwörtern ging.
„Trügerische Sicherheit“ könnte man den Windows Passwortschutz nennen. Sicher, 5 min braucht das schon und somit ist man evtl. vor neugierigen Arbeitskollegen geschützt.
Genauso gefählich: Von öffentlichen Rechnern auf E-Mailkonten, Facebook, MySpace, … zuzugreifen. Danach sollte man gleich zu Hause das Passwort wechseln.
Naja
1) 6 zeichen lange passwoerter sind ohnehin ein Witz
2) Man kann Windows auch so einstellen dass nach einer Reihe erfolgloser Anmeldeversuche (etwa 3) der Zugriff fuer eine Zeit (zum Beispiel 30 Minuten) gesperrt ist. (Windows Policy). Damit waere man gegen so einen Angriff ziemlich sicher …
AW: Naja
Die Verzögerung nach drei Falscheingaben greift hier nicht. Man holt sich einfach mit einem Tool wie **dump oder o**crack die Hashwerte aus der SAM. Das klappt immer beim ersten Versuch. Danach verwendet man die Rainbow-Tabellen, um aus den Hashes das Passwort zu berechnen.
AW: AW: Naja
Danke fuer die Info. Das war mir nicht bekannt.
Wie ist die Moeglichkeit das ein 14 Zeichen langes Password mit Gross/Kleinschreibung plus Sonderzeichen und Zahlen mit rainbow tables ausgelesen wird?
AW: AW: AW: Naja
Na denn werde ich wohl mal den japanischen Zeichensatz installieren
Interessanter Artikel
Auch wenn ich nur 80% davon verstehe – interessanter, gut zu lesender Artikel – ich kannte die Methodik nicht und muss mir wohl jetz ein neues Passwort überlegen. :-)