Knacktechnik
Aus PC-WELT-Wiki
Neue Tools knacken auch komplizierte Passwörter innerhalb von Sekunden. Das Windows-Kennwort hebeln sie problemlos aus. Wir demonstrieren die neue Technik und sagen Ihnen, was Sie wissen müssen und welche Passwörter noch Schutz bieten.
Jeder hat Daten, die nicht für fremde Augen bestimmt sind - das Online-Bankkonto, der Inhalt einer ZIP-Datei ... und vermutlich wäre es Ihnen auch nicht recht, wenn jeder Zugriff auf die Daten Ihres Rechners bekommt. Aber Sie haben vorgesorgt und Passwörter vergeben. Weil Sie die bekannten Regeln eingehalten und nicht einfach „Liebling“ oder „Passwort“ gewählt haben, fühlen Sie sich sicher. Bislang mit Recht. Bis vor kurzem brauchte das Kennwort nur lang und kompliziert genug zu sein. Dann brauchte ein Angreifer Monate, um es zu entschlüsseln. Doch jetzt gibt es neue Tools, die das oft schon in Sekunden schaffen. Möglich ist das durch faszinierende mathematische Verfahren. Beim Windows-Passwort wird das Knacken durch das schwache Sicherheitskonzept noch erleichtert. Das neue Verfahren arbeitet mit so genannten Rainbow Tables. In diesen Tabellen sind in komprimierter Form fast alle möglichen Passwortkombinationen gespeichert. Die Knack-Software und die Tables finden sich kostenlos im Internet. Wir erklären die technischen Hintergründe und zeigen am Beispiel des Windows-Passworts, wie man die Knack-Software einsetzt.
Hash: So wird ein Passwort gespeichert
Sie haben ein Passwort vergeben und gehen davon aus, dass es sich nun nicht einfach auslesen lässt - sprich: dass es nicht einfach im Klartext gespeichert wird. Üblicherweise werden Passwörter über einen Hash geschützt. Dabei handelt es sich um eine codierte Form des Passworts, die mit einer mathematischen Funktion erstellt wird. Der Clou: Die Funktion arbeitet nur in eine Richtung. Ein Beispiel: Aus dem Passwort „Sommer1968“ wird der eindeutige Hash-Wert „b2a024a4c6b13672e3517200d4b26a68“. Es gibt aber keine Möglichkeit, aus dem Hash-Wert wieder das Passwort zu errrechnen. Windows speichert den Hash-Wert für die Benutzerkonten in der Datei SAM im Verzeichnis %windir%\system32\config. Gibt der Benutzer nun sein Passwort ein, wird davon der Hash errechnet und mit dem gespeicherten Wert verglichen. Gibt es keine Übereinstimmung, wird das Zugang verweigert.
Die alte Methode: Passwort knacken mit roher Gewalt
Bisher arbeitete Knack-Software nach dem Prinzip Versuch und Irrtum. Der Passwortknacker probiert dabei alle erdenklichen Passwortkombinationen durch. Er nimmt sich beispielsweise zuerst alle einstelligen Passwörter vor. Er versucht es zuerst mit dem Buchstaben „A“. Dafür muss er von „A“ den Hash-Wert errechnen. Dieser wird dann mit dem gespeicherten Hash-Wert verglichen. Gibt es keine Übereinstimmung, kommt das „B“ an die Reihe, dann „C“ und so weiter. Hat keines funktioniert, kommen die zweistelligen Passwörter dran: „AA“, „AB“ … . Diese wenig elegante Methode wird als Brute-Force-Attacke bezeichnet (deutsch: rohe Gewalt). Aufwendige Sache: Die Knackprogramme errechnen jeden einzelnen Hash und vergleichen das Resultat mit dem erwünschten Ergebnis, weil ein Account üblicherweise nach mehreren Fehlversuchen gesperrt wird. Langwierige Rechnerei: Wie lange es dauert, per Brute Force ein Passwort zu entschlüsseln, hängt von mehreren Faktoren ab, etwa der Rechen-Power des Computers sowie davon, wie lange es dauert, den Hash-Wert zu errechnen und auf Übereinstimmung mit dem gespeicherten Wert zu prüfen. Entscheidend ist ebenfalls der verwendete Zeichensatz. Wenn das Passwort auch Zahlen und Sonderzeichen enthält, müssen wesentlich mehr Kombinationen ausprobiert werden. Schließlich kommt es noch auf die Passwortlänge an. Der Programmierer George Shaffer gibt auf seiner lesenswerten Web-Seite an, wie viel Zeit man für das Knacken von Passwörtern maximal benötigt. Demnach kann es schon mal 145 Jahre dauern, um ein 8stelliges Passwort aus einem Satz mit 68 möglichen Zeichen zu knacken (über http://www.pcwelt.de/895). Wörterbuch-Angriff: Shaffer gibt zu, dass er seiner Berechnung einen langsamen PC zugrunde gelegt hat. Mit einer aktuellen Maschine kann es weniger als anderthalb Jahre dauern, alle Kombinationen durchzutesten - das ist allerdings immer noch sehr sicher. Deshalb bieten Knack-Tools meist auch Dictionary-Attacken an. Dabei werden nicht beliebige Zeichenkombinationen ausprobiert, sondern Wörter aus einem Wörterbuch (englisch: Dictionary). Das verkürzt die nötige Zeit meist auf Tage bis Monate. Voraussetzung: Das Passwort ist keine Kombination aus Buchstaben, Zahlen und Sonderzeichen.
Neues Konzept: Das große Telefonbuch für Passwörter
Der Kryptografie-Experte Martin Hellman hatte sich schon 1980 Gedanken über eine schnellere Methode zur Passwort-Entschlüsselung gemacht und das „Time-Memory Trade-off“-Konzept entwickelt. Die Idee: Statt jedes Mal alle Varianten erneut auszuprobieren, sollte man einmal die Hash-Werte zu allen möglichen Passwörtern berechnen und speichern. Dann muss man nur noch den Hash-Wert des tatsächlichen Passworts aus dem System auslesen und mit dem gespeicherten vergleichen. Damit ließe sich ein Passwort fast so einfach und schnell knacken wie sich eine Nummer im Telefonbuch finden lässt. Die Sache hat allerdings einen Haken: Wenn man ein solches Nachschlagewerk auch für längere Passwörter anlegt, wird die Datei mehrere Terabyte groß. Das sprengt nicht nur die Festplattenkapazität eines PCs, es verlangsamt auch den Suchprozess gewaltig.
Rainbow Tables: Trickreich berechnete Tabellen
Das „Time-Memory Trade-off“-Konzept lieferte erste Ansätze dafür, wie sich die Größe dieser Passwort-Telefonbücher verringern lässt. Es geht dabei darum, einen Kompromiss (Trade-off) zu finden aus der Zeit (Time), die fürs Entschlüsseln nötig ist, und dem Speicherbedarf (Memory) für die Dateien. Das funktioniert über eine trickreiche Formel, die die Hash-Werte und die dazugehörigen Passwörter zu einer kleinen Tabelle eindampft. Rund 20 Jahre nach Hellman (-> Punkt 3) hat Philippe Oechslin dieses Prinzip optimiert. Die neue Tabellenart nennt er Rainbow Table. Die mathematische Grundlagen, auf denen diese Lösung basiert, lassen sich hier nicht erläutern, wohl aber das zugrunde liegende Prinzip. Für technisch Interessierte: Man nimmt ein Passwort und erstellt daraus den Hash-Wert. Dieser wird über eine Formel reduziert. Der reduzierte Wert stellt ein neues Passwort dar, aus dem sich wieder ein Hash errechnen lässt. Dieser wird wieder reduziert und so weiter. Daraus ergibt sich eine lange Kette von mehreren tausend Reduktionen. Immer kleiner: Von jeder Kette wirft man bis auf den ersten und den letzten Wert alles weg. Diese beiden speichert man in einer Tabelle. Das Ergebnis fällt wesentlich kleiner aus als ein komplettes Hash-Telefonbuch. Sucht man das Passwort zu einem Hash-Wert, dann behandelt man diesen Wert mit der Reduktionsformel. Jedes Teilergebnis vergleicht man mit den Werten in der Rainbow Table. Stimmen sie überein, könnte das gesuchte Passwort sich innerhalb dieser Kette befinden. Suche innerhalb der Kette: Aus einem Hash lässt sich das Passwort nicht zurückberechnen. Entsprechend kann man auch nicht in der Reduktions-Kette zurückgehen. Aber man kann in der Tabelle an den Anfang der Kette springen und die darin ursprünglich enthaltenen Passwörter neu ausrechnen. Die Rainbow Tables erlauben es, Passwörter mit wesentlich geringerem Aufwand zu knacken. Passende Tools dafür gibt es seit einiger Zeit im Internet.
Ophcrack zeigt, wie unsicher das Windows-Passwort ist
Die englischsprachige Freeware Ophcrack knackt das Windows-Passwort in Sekunden (-> Punkt 5). Philippe Oechslin hat das Tool entwickelt, um die Leistungsfähigkeit seiner Rainbow Tables zu demonstrieren. Das Passwort der Windows-Anmeldung eignet sich dafür besonders gut, da es mehrere Schwachstellen aufweist (siehe Punkt 10). Installation: Ophcrack bietet während der Installation an, die nötigen Rainbow Tables herunterzuladen. Für Rechner mit weniger als 512 MB Arbeitsspeicher gibt’s die Table SSTIC04-10k (auf DVD, 388 MB), für PCs mit 512 MB oder mehr RAM nehmen die SSTIC04-5k. Sollte der Download über das Tool nicht klappen, lassen sich die Tables auch manuell herunterladen. Wenn Sie die PC-WELT mit Heft-DVD 5/2006 haben, finden Sie die Tables dort. Entpacken Sie die passende Table in einen eigenen Ordner im Programmverzeichnis von Ophcrack - standardmäßig ist das „C:\Programme\Ophcrack\Win32“. Test: Passwort knacken. Starten Sie Ophcrack, und prüfen Sie, ob das Tool die Ordner mit der Table kennt. Dafür wählen Sie mit „Tables, Tables directory“ und „Add“ den Ordner aus, in dem Ihre Table liegt. Anschließend lesen Sie über „Load“ den Passwort-Hash ein. Hier gehen wir davon aus, dass Sie zu Testzwecken Ihr Windows-Benutzerkennwort knacken wollen. Dafür wählen Sie „Load, From local SAM“. In dem Menü gibt’s auch die Möglichkeit, den Hash aus einer SAM-Datei (-> Punkt 1) einzulesen, die man etwa von einem anderen PC bekommen hat. Über „Launch“ starten Sie den Entschlüsselungsvorgang. Sonderzeichen: Mit Ophcrack lassen sich alphanumerische Windows-Passwörter entschlüsseln - also solche, die nur aus Ziffern und Buchstaben, nicht aber aus Sonderzeichen bestehen. Kennwörter mit Sonderzeichen knackt dagegen Rainbow Crack (-> Punkt 7). Die nächste Version von Ophcrack soll ebenfalls Sonderzeichen bis zum Ascii-Zeichen 128 unterstützen. Sie ist für April angekündigt. Achtung: Das Tool sollten Sie nicht auf Windows-XP-Rechnern mit Prozessoren ausprobieren, die die Datenausführungsverhinderung (Data Execution Prevention, DEP) unterstützen. Das gilt etwa für die 64-Bit-CPUs von AMD. DEP ist eine Sicherheitsfunktion, die verhindert, dass bestimmte Daten, etwa der Hash-Wert, aus dem RAM ausgelesen werden. Der Rechner würde zu einem Neustart gezwungen und dabei eventuell die Systemdatei Lsass.EXE beschädigt. Zur Sicherheit sollten Sie vor dem Test einen Wiederherstellungspunkt erstellen („Alle Programme, Zubehör, Systemprogramme, Systemwiederherstellung“). Sie sollten aber nicht davon ausgehen, dass Ihr System komplett geschützt ist, wenn Sie einen solchen PC haben: Es gibt Tools, die den Wert auch auf Systemen mit DEP auslesen – etwa die englischsprachige Shareware Saminside.
Ein anderer Weg: Passwort über Website entschlüsseln
Das Tool Ophcrack gibt’s auch im Internet als Online-Version. Über http://www.pcwelt.de/4ea können Sie den Hash-Wert des Windows-Kennworts eingeben und erhalten dann das dazugehörige Passwort. An den Hash kommen Sie in diesem Fall mit dem Befehlszeilen-Tool Pwdump 2. Es liest alle Hash-Werte der Windows-Kennwörter aus der Datei %windir%\system32\config\SAM aus und listet sie auf. Mit dem Pipeline-Befehl leiten Sie die Ausgabe in eine Datei um. Öffnen Sie dafür die Eingabeaufforderung mit „Ausführen, CMD“, und wechseln Sie in das Verzeichnis von Pwdump 2. Hier geben Sie diesen Befehl ein:
pwdump2 > sam.txt
Das Tool gibt nun den Hash in die Datei Sam.TXT aus - und zwar in dieser Form: <Benutzername>:<PID>:<LM-Hash>:<NTLM-Hash>:::. Die PID ist die Process Identification Number. Ein Beispiel: „Gast:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::“. Um das zugehörige Passwort zu knacken, geben Sie auf der oben genannten Web-Seite nur <LM-Hash>:<NTLM-Hash> ein. Achtung: Pwdump 2 sollten Sie nicht auf Rechnern mit Windows XP und DEP-fähigen CPUs ausführen (à Punkt 5).
Rainbow Tables selbst mit Freeware erstellen
Wenn Sie das Konzept der Rainbow Tables technisch interessiert, wollen Sie vielleicht selbst Tabellen erstellen. Dazu brauchen Sie nur zwei Freeware-Programme, einen schnellen Rechner und viel Zeit. Die erste Freeware heißt Rainbow Crack (auf CD). Dabei handelt es sich um eine Sammlung von Befehlszeilen-Tools. Die Software erzeugt Tables auf der Grundlage des Ascii-Zeichensatzes bis Nummer 128 – also einschließlich gängiger Sonderzeichen, allerdings ohne Umlaute. Die englischsprachige Freeware Winrtgen liefert eine grafische Bedienerführung für den Table-Generator. Die Tables sind übrigens nicht kompatibel mit der Software Ophcrack (à Punkt 5). So geht’s: Entpacken Sie erst Rainbow Crack in ein beliebiges Verzeichnis, und extrahieren Sie anschließend Winrtgen in denselben Ordner. Dabei werden Dateien überschrieben - stimmen Sie dem zu. Starten Sie dann die Datei Winrtgen.EXE. Über „Add Table“ fügen Sie neue Tables zur Aufgabenliste hinzu. Unter „Charset“ legen Sie fest, welchen Zeichensatz die Table kennen soll. „Hash“ gibt an, nach welchem Hash-Verfahren das Passwort gespeichert sein soll. Wenn es um das Windows-Kennwort geht, ist dies „lm“ (siehe Punkt 10). Über „Chain Len“ bestimmen Sie die Länge der Passwortketten (-> Punkt 4) in der Rainbow Table. Sie sollte zwischen 2000 und 10.000 liegen. Je größer der Wert ist, desto länger dauert es, bis der Table fertig ist, zudem verlängert sich die Zeit, die fürs Passwortknacken nötig ist. Gleichzeitig steigt aber die Wahrscheinlichkeit, dass sich alle Passwörter knacken lassen. Wie hoch diese ist, zeigt das Tool unter „Success probability“. Die Knackwahrscheinlichkeit lässt sich auch erhöhen, indem Sie über „N° of tables“ mehrere Tabellen anlegen lassen. Dauer: Wie lange Ihr PC voraussichtlich brauchen wird, um die Table zu berechnen, erfahren Sie über einen Klick auf „Benchmark“. Sind Sie mit den Einstellungen zufrieden, fügt ein Kick auf „OK“ die Table zur Aufgabenliste hinzu. Die Berechnung starten Sie wiederum mit „OK“. Der Vorgang lässt sich über „Stop“ unterbrechen und später wieder aufnehmen. Weitere Erläuterungen zu den Parametern eines Tables gibt’s über http://www.pcwelt.de/d79.
Windows-Passwörter mit Rainbow Crack knacken
Haben Sie eigene Rainbow Tables erstellt, dann knacken Sie Passwörter mit dem Befehl Rcrack.EXE aus der Befehlszeilen-Tool-Sammlung Rainbow Crack (à Punkt 7). Zuvor müssen Sie den Windows-Hash mit dem Tool Pwdump 2 ausgelesen und etwa in die Datei Sam.TXT gespeichert haben (-> Punkt 6). Die Entschlüsselung starten Sie dann über diesen Befehl:
rcrack *.rt -f sam.txt
Übrigens: Die hier vorgestellten Tools Ophcrack und Pwdump 2 lesen den Hash-Wert der Windows-Benutzerkennwörter nur aus, wenn Sie mit Administratorrechten angemeldet sind. Der hier vorgestellte Weg zeigt somit nur, dass sich das Windows-Passwort schnell knacken lässt. Dennoch lassen sich die Tools auch missbrauchen. Denn für fachkundige Anwender ist es nicht schwer, auch ohne Adminrechte an den Hash-Wert zu gelangen. Das geht etwa über ein Netzwerk mit weiterentwickelten Versionen von Pwdump 2 oder über bootfähige CDs wie Knoppix.
Leicht zu knacken: Das Windows-Passwort
Unter Windows NT 4, 2000 und XP lässt sich die Anmeldung bei einem Benutzerkonto mit einem Passwort schützen. Windows erstellt mit dem NT-LAN-Manager (NTLM) einen Hash (-> Punkt 1) des Passworts, der relativ gut gemacht ist. Aus Kompatibilitätsgründen wird aber auch ein Hash-Wert mit dem veralteten LAN Manager (LM) erstellt. Dieser ist für Netzwerke nötig, zu denen auch Rechner mit Windows 95, 98 oder ME gehören.
Gravierende Schwächen Der LM-Hash hat aber mehrere Schwächen: Windows wandelt alle Kleinbuchstaben in große um. Damit verringert sich aber der Zeichensatz für Passwortkombinationen bei den Buchstaben um die Hälfte. Anschließend bringt der LAN-Manager jedes Passwort auf 14 Zeichen. Zu lange Passwörter werden abgeschnitten, zu kurze mit Nullen aufgefüllt. Dann teilt es das Passwort in zwei Hälften. Das ist schlecht, da sich zwei sieben Zeichen lange Passwörter einfacher knacken lassen als eines mit 14 Zeichen. Der schwache LM-Hash macht das Windows-Passwort angreifbar. Das gilt allerdings nur für Passwörter bis 14 Zeichen, da längere Zeichenfolgen nicht komplett im LM-Hash enthalten sind. Längere Passwörter sind zur Zeit noch sicher - aber auch der NTLM-Hash wird in absehbarer Zeit geknackt sein.
So funktioniert der Angriff Der Passwortknacker liest den LM-Hash aus und sucht diesen dann in einer Rainbow Table (-> Punkt 4). Die Table muss nur Passwörter mit bis zu sieben Zeichen kennen (-> oben). Entsprechend schnell geht die Suche. Das Ergebnis ist das Passwort in Großbuchstaben. Bei einem Passwort mit 14 Zeichen Länge in gemischter Groß- und Kleinschreibung gibt es auch nur gut 16.000 Varianten – einen Zeichensatz mit 24 Buchstaben vorausgesetzt. Diese kann das Knack-Tool schnell generieren und jeweils in den NTLM-Hash verwandeln. In diesem wird die Groß-/Kleinschreibung berücksichtigt. Ein Vergleich mit dem gespeicherten NTLM-Hash bringt das korrekte Passwort. Programme wie Ophcrack schaffen das alles in Sekunden. Passwörter mit Sonderzeichen und Umlauten sind in Kürze ebenfalls nicht mehr sicher.
Kein Salz in Windows Der LM-Hash in Windows ist mit seinen vielen Schwachstellen extrem einfach zu knacken. Doch Passwortknacker können mit Rainbow Tables auch die Passwörter von vielen anderen Anwendungen entschlüsseln. Das ist besonders ärgerlich, da es seit Jahrzehnten die Salt-Technik gibt, mit der sich das verhindern lässt (deutsch: Salz). Bei einem gesalzenem Hash-Wert wurde das Passwort vorweg um eine zufällige Zeichenkette erweitert. Die lässt sich etwa aus der aktuellen Uhrzeit oder der Benutzer-ID generieren. Gesalzene Hashes sind gegen Angriffe mit Rainbow Tables immun.
Abwehr: So schützen Sie Ihren Windows-PC
Damit Ihnen kein Angreifer Ihr Windows-Passwort stehlen kann, müssen Sie die Sicherheitslücke im Windows-Passwort-Management schließen. Das geht glücklicherweise ganz einfach: Rufen Sie in der Systemsteuerung den Punkt „Verwaltung, Lokale Sicherheitsrichtlinie“ auf (Windows XP, unter 2000 und NT verfahren Sie anolog). Gehen Sie zum Zweig „Lokale Richtlinien, Sicherheitsoptionen“. Dort setzen Sie die Richtlinie „Netzwerksicherheit: Keine LAN Manager-Hashwerte für die nächste Kennwortänderung speichern“ auf „Aktiviert“. Danach ändern Sie für Ihre Windows-Benutzer die Kennwörter. In gemischten Netzwerken kann es danach beim Anmelden bei der Domain Zugriffsprobleme geben. Doch damit sind Sie vor den in diesem Artikel beschriebenen Angriffsmethoden sicher, denn nun speichert Windows Ihr Passwort nicht mehr mit dem schwachen und veralteten LAN-Manager. Gegen Angriffe mit herkömmlichen Passwortknackern, etwa dem Proactive Password Auditor schützt diese Änderung allerdings nicht. Deshalb sollten Sie auf jeden Fall ein möglichst langes Passwort mit Sonderzeichen wählen.
Boot-CD: Knackt Windows-Rechner
Haben Sie das Passwort für Ihren Windows-Rechner vergessen - oder möchten Sie einfach ausprobieren, wie leicht sich Ihr Passwort anzeigen lässt? Den Windows-Passwortknacker Ophcrack gibt’s auch als ISO-Datei für eine Live-CD mit Linux. Diese haben wir in unsere DVD integriert. Wenn Sie die PC-WELT-Ausgabe 5/2006 mit DVD besitzen, können Sie von der Scheibe booten (eventuell müssen Sie die Bootreihenfolge im Bios entsprechend umstellen). Legen Sie dafür die DVD ins Laufwerk, und starten Sie den Rechner. Nach Bestätigung mit <Return> startet automatisch Linux und ruft das Programm Ophcrack auf. Dieses liest alle Benutzerkonten aus und entschlüsselt anschließend die dazugehörigen Passwörter.
Wie bei der Windows-Version von Ophcrack klappt das für alle alphanumerischen Passwörter mit bis zu 14 Zeichen - außer Sue haben bereits den LM-Hash deaktiviert (siehe Punkt 10).
Überblick: Passwort-Knacker
| Programm | Kategorie | Preis | Win-Betriebssysteme | Internet (Download) | Sprache |
|---|---|---|---|---|---|
| Ophcrack 2.1 | Passwortknacker | gratis | NT 4, 2000, XP | http://ophcrack.sf.net (3 MB) | englisch |
| Ophcrack 2.1 Live CD | Passwortknacker | gratis | NT 4, 2000, XP | http://ophcrack.sf.net (600 MB) | englisch |
| Proactive Password Auditor 1.6 | Passwortknacker | 299 Euro (Shareware) | NT 4, 2000, XP | http://www.pcwelt.de/97e (1,6 MB) | deutsch |
| Pwdump 2 | Hash-Tool | gratis | NT 4, 2000, XP | http://www.pcwelt.de/cfb (50 KB) | - |
| Rainbow Crack 1.2 | Passwortknacker | gratis | NT 4, 2000, XP | http://www.pcwelt.de/e3e (550 KB) | englisch |
| SSTIC04-10k | Rainbow Table | gratis | - | http://www.pcwelt.de/d89 (388 MB) | - |
| SSTIC04-5k | Rainbow Table | gratis | - | http://www.pcwelt.de/d89 (720 MB) | - |
| Winrtgen 1.8 | Bedienerführung | gratis | NT 4, 2000, XP | http://www.pcwelt.de/c66 (177 KB) | englisch |
| Saminside 2.5.4 | Passwortknacker | 40 Dollar (Shareware) | NT 4, 2000, XP | http://www.insidepro.com (466 KB) | englisch |


