Knack mich, wenn du kannst

Die Tools und Techniken der Passwortknacker

Wissen | Know-how

Vor allem zwei Faktoren haben das Knacken von Passwörtern im letzten Jahr auf ein neues Niveau gehoben, dem auch richtig gute Passwörter zum Opfer fallen:riesige, öffentlich zugängliche Listen mit echten Passwörtern und neue Tricks, die sich menschliche Schwächen zunutze machen.

Beim Knacken von Passwörtern kommt es ganz entscheidend darauf an, in welchem Umfeld der Angriff auf die Zugangsdaten erfolgt. Man unterscheidet dabei zwischen Online- und Offline-Attacken. Als Online-Attacken bezeichnet man allgemein alle Angriffe, die die normale, vom Entwickler vorgesehene Infrastruktur nutzen. Sie stellen – zumindest im Idealfall – dem Angreifer eine ganze Reihe von Hürden in den Weg, die seine Erfolgsaussichten dramatisch reduzieren.

Muss er beispielsweise das Web-Frontend eines Internet-Dienstes benutzen, um Passwörter auszutesten und für jeden Versuch eine neue Verbindung zum Server aufbauen, bremst das seine Bemühungen ganz gewaltig. Statt vieler Milliarden von Passwörtern pro Sekunde kann er nur noch ein paar hundert und bestenfalls tausend Kandidaten pro Sekunde testen. Dabei dauert schon das Abarbeiten eines mittleren Wörterbuchs viele Tage – von den durch die diversen Regeln erstellten, unzähligen Variationen ganz zu schweigen.

Außerdem kann der Admin des Servers weitere Bremsen einbauen. So ist es eine durchaus löbliche Praxis, die Zahl der möglichen Login-Versuche innerhalb eines bestimmten Zeitraums pro IP-Adresse zu beschränken. Mehr als 1000 Fehlversuche innerhalb von zehn Minuten sind kaum noch auf Vertippen zurückzuführen – auch nicht bei großen Firewalls, hinter denen sich viele Rechner befinden.

Im Extremfall kann der Betreiber sogar die Zahl der erlaubten Login-Versuche für einen Zugang beschränken. Das machen etwa Banken: Wer seine PIN mehrfach falsch eingibt, dessen Online-Banking-Zugang wird komplett gesperrt und erst nach einem Anruf bei der Telefon-Hotline wieder freigeschaltet. In solchen Szenarien sind selbst sechsstellige PINs mit „nur“ einer Million möglichen Kombinationen sicher: Die Chancen, dass der Angreifer die richtigen erwischt, bevor er ausgesperrt wird, sind verschwindend gering. Aber das kostet den Betreiber natürlich Geld und wird von den Kunden auch nur im Bankenumfeld akzeptiert. Deshalb wird das kaum ein anderer Internet-Dienst machen.

Von Online-Attacken spricht man jedoch auch ganz ohne Netz – etwa wenn ein Smartphone durch Eingabe der korrekten PIN entsperrt werden muss. Das ist auch ein gutes Beispiel, dass man sich nicht auf voreilige Annahmen über deren Machbarkeit verlassen darf. So wird zwar kein Mensch die 1000 Kombinationen einer typischen, vierstelligen PIN durchprobieren – insbesondere dann nicht, wenn wie bei Android die Eingabe nach fünf Fehlversuchen jeweils für 30 Sekunden gesperrt wird.

Doch die Android-Entwickler haben dabei übersehen, dass diese Aufgabe durchaus auch eine Skript-gesteuerte, angesteckte USB-Tastatur erledigen kann. So demonstrierten clevere Hacker, dass sich jeder vierstellige Passcode eines Android-Smartphones mit einem USB Rubber Ducky für 40 US-Dollar innerhalb von etwa 16 Stunden knacken lässt. Apples iOS-Entwickler machen vor, wie man das vermeidet: Bei einem iPhone verlängert sich die Sperrfrist beim zweiten Mal auf 5 und beim dritten Mal sogar auf 30 Minuten. Leider schützt auch das nicht vor Angriffen, die bei älteren iPhones über einen Bug im Boot-ROM eine manipulierte Firmware einspielen und damit die Oberfläche komplett umgehen [1].

Von der Leine gelassen

Cracker vermeiden solche Online-Attacken möglichst; sie setzen sich viel lieber direkt mit den im System gespeicherten Rohdaten auseinander. Da können sie dann ihre bevorzugten Tools zum Einsatz bringen und ihre Highend-Hardware ungebremst knacken lassen, was das Zeug hält.

Dazu müssen sie natürlich erstmal an die verschlüsselten Passwörter kommen, die normalerweise nicht öffentlich zugänglich sind. Doch weitverbreitete Sicherheitslücken in Web-Applikationen, die etwa SQL-Injection ermöglichen und skrupellose Individuen, die sie ausnutzen, spülen einen nicht versiegenden Strom solcher Hashes in die einschlägigen Foren. Klar ist, dass diejenigen, die sich solche Daten verschaffen und sie danach in Umlauf bringen, sich nach den Gesetzen der meisten Länder strafbar machen. Wer im Internet veröffentlichte „Leaks“ herunterlädt, muss sich bewusst sein, dass es sich dabei um gestohlene Daten handelt, deren Missbrauch im Zweifelsfall beträchtlichen Schaden verursachen kann.

Für das Offline-Cracking muss das eingesetzte Tool die jeweilige Passwort-Speicherfunktion des Systems beherrschen, von dem die Daten stammen. Tools wie John the Ripper und Hashcat können von Haus aus bereits mit vielen Hash-Formaten umgehen. Neben den Standardverfahren wie MD4/5, SHA* und denen aller halbwegs verbreiteten Betriebssysteme finden sich auch Datenbanken und gängige Web-Applikationen von Joomla bis xt:Commerce in deren Funktionsumfang. Selbst moderne Passwortspeicher-Verfahren wie bcrypt und PBKDF2 werden mittlerweile unterstützt.

Und schließlich kann John the Ripper auch die Verschlüsselung einer ganzen Reihe von Dateiformaten knacken – etwa der von PDF-, ZIP-, RAR-Dateien und selbst OpenSSH Private Keys. Wenn Sie ein Passwort vergessen haben, dessen Format keiner der beiden kennt, hilft Ihnen vielleicht die kleine Liste von speziellen Knackprogrammen auf Seite 87 weiter, die wir allerdings zumeist nicht selbst getestet haben. Die Tools richten sich an Leute, die Passwörter vergessen haben, aber dringend Zugang zu den verschlüsselten Daten benötigen. Insbesondere die Firma Elcomsoft hat sich darauf spezialisiert, hochoptimierte Knackprogramme für alle möglichen Dateiformate anzubieten. Zwar gibt es für die meisten zumindest eine eingeschränkte, kostenlose Demo-Version; die wirklich nutzbare Vollversion kostet jedoch meistens Geld.

Aber man sollte sich davor hüten, aus der Existenz eines Knackprogramms gleich ein Sicherheitsproblem – oder im umgekehrten Fall Hoffnung auf eine erfolgreiche Wiederherstellung der verschlüsselten Daten abzuleiten. Gute Programme wie Truecrypt verwenden Algorithmen wie PBKDF2, sodass etwa das Tool TCHead bei einem verschlüsselten Container gerade mal ein paar Tausend Passwörter pro Minute durchprobieren kann. Damit hat man keine Chance, ein halbwegs vernünftiges Passwort zu knacken – zumindest nicht ohne zusätzliche Hinweise, die die Suche deutlich einschränken.

Unter dem Regenbogen

In einigen Spezialfällen lohnt es sich, auf sogenannte Rainbow-Tabellen zurückzugreifen. Dies ist ein sogenannter „Time-Memory Trade-off“, bei dem im Voraus riesige Tabellen errechnet werden, um damit die zu einem Hash gehörenden Passwörter sehr schnell zu ermitteln. Die waren früher insbesondere beim Cracken von Windows-Passwörtern (LM/NTLM-Hashes) und WPA-Schlüsseln in Funknetzen sehr beliebt. ophcrack ist ein gutes Open-Source-Programm für den Einsatz von Rainbow-Tables. Die dafür benötigten Tabellen findet man zum Teil kostenlos im Internet. Die eigentlich spannenden Tabellen umfassen jedoch mehrere TeraByte; man kann sie etwa beim RainbowCrack Project käuflich erwerben (project-rainbowcrack.com).

Allerdings hat dieses Verfahren zwei Haken. Der erste: Es funktioniert nur, wenn das Passwort nicht mit einem Salt versehen wurde (was es damit auf sich hat, lesen Sie auf Seite 90). Entscheidender ist jedoch, dass die Größe der Tabellen mit der Länge der Passwörter exponentiell ansteigt. So gibt es keine Tabellen mehr für Passwörter mit neun oder mehr Zeichen aus Klein- und Großbuchstaben, Ziffern und Symbolen. Und bis zu sieben Zeichen lassen sich mit Brute-Force-Attacken ähnlich schnell knacken. Somit bringen Rainbow-Tabellen eigentlich nur bei Passwörtern mit genau acht Zeichen einen signifikanten Vorteil; die Cracker setzen sie praktisch gar nicht mehr ein.

Deren bevorzugte Attacken beruhen derzeit auf Wörterbüchern. Gerade diese Wörterbuchattacken haben im letzten Jahr eine ganz neue Qualität erreicht. Früher bestanden die Wörterbücher der Cracker vor allem aus echten Wörtern, die heutzutage niemand mehr ernsthaft als Passwort einsetzt. Deren Spektrum wurde zwar durch Regelsätze etwa zum Anhängen von Zahlen erweitert – aber die Erfolgsquote blieb dennoch meist im einstelligen Prozentbereich.

Durch die vielen Millionen echter Passwörter, die durch die Leaks des letzten Jahres in Umlauf kamen, sind diese Wörterbücher jedoch viel näher an der Realität. Jeremi Gosneys Sammlung umfasst nach eigenen Angaben etwa 500 Millionen echte Passwörter. Das ist natürlich das Resultat vieler Jahre Arbeit; aber auch jeder Neueinsteiger kann sich heute mit ein wenig googeln bereits Listen mit vielen Millionen echter Passwörter zusammenstellen, wie sie vor wenigen Jahren schlicht nicht existierten. Die heutzutage zum Knacken eingesetzten Wörterbücher gemeinsam mit den einfachen Regeln liefern deshalb deutlich bessere Ergebnisse. Eine Erfolgsquote von dreißig Prozent ist bei den ersten Knackläufen durchaus keine Seltenheit mehr.

Das Regelwerk

Darüber hinaus haben auch die Verfahren, aus den vorhandenen, bereits geknackten Passwörtern Kandidaten für neue Crack-Läufe zu erzeugen, eine neue Qualität erreicht. Damit lassen sich dann sogar über 90 Prozent der Passwort-Hashes aktueller Leaks knacken – und das innerhalb weniger Tage oder Wochen.

Wenn ein Cracker sich über eine neue Liste mit Passwort-Hashes hermacht, startet er immer noch einen simplen Crack-Lauf über alle Wörterbucheinträge und anschließend einen, der das einfach gestrickte Regelwerk abarbeitet. Das hängt beispielsweise alle möglichen Jahreszahlen an die Wörter an, ersetzt in verschiedenen Kombinationen E durch 3, A durch 4 und bildet so das gern genutzte 1337-Speak nach. Ausgehend von „elite“ und dem daraus folgenden „leet“ wurde durch die Ersetzung mit ähnlich aussehenden Ziffern schließlich „1337“. Außerdem werden übrigens auch Muster auf der Tastatur systematisch getestet; ein Befehl wie john –ext=keyboard liefert die frei Haus. Da das System im Fall von MD5- und SHA1-Hashes Milliarden von Hashes pro Sekunde durchprobieren kann, muss man mit den Regeln nicht knausern.

Anschließend analysiert der Cracker die gefundenen Passwörter mit speziellen Tools wie pipal und passpal, die Statistiken über Häufigkeiten und Verteilungen ausspucken. Dem Eingeweihten erlauben die zunächst kryptischen Zahlenfolgen sehr schnell Rückschlüsse etwa auf eventuelle Passwort-Policies zu Mindestlänge und Komplexität der Passwörter. So kann der Angreifer für die weiteren Durchläufe dann beispielsweise alle Kandidaten ohne Ziffern oder Sonderzeichen wegrationalisieren. Außerdem extrahieren sie auch besonders häufig aufgefundene Basis-Wörter wie den Namen des geknackten Dienstes „linkedIn“, bei denen es sich lohnt, weitere Variationen und Kombinationen durchzuprobieren.

Dann kommen die fortgeschritteneren Angriffstechniken zum Einsatz. Der persönliche Favorit des Hashcat-Autors ist die Hybrid-Attacke. Sie kombiniert alle Wörterbucheinträge mit einem Brute-Force-Teil, den man etwa auf vier Zeichen einschränkt. So findet es auf Basis von „Adam“ auch „Adam+Eva“ oder „Adam1973“, „Adam3\/4“ aber auch den zufällig gewählten Anhang „Adam%2;E“. Selbstverständlich wandert dann jeder Treffer wieder direkt ins Wörterbuch, sodass beim nächsten Durchlauf auch dessen Erweiterungen gefunden werden.

Eine gängige Technik ist auch der Kombinationsangriff, der zwei Wörter aus dem Wörterbuch kombiniert – und dabei auch gleich verschiedene Varianten mit Groß- und Kleinschreibung berücksichtigt. Diese Technik bescherte Team Hashcat einen eindrucksvollen Erfolg beim Wettbewerb „Crack me if you can“.

Die Cracker haben in ihren Wörterbüchern von Haus aus zahlreiche Doppelwort-Einträge der Form: „Wort<Leerzeichen>Wort“. Zwei davon richtig kombiniert entpuppten sich als Passphrase aus vier Wörtern, die eines der bibelfesten Teammitglieder als Zitat erkannte. Da die Bibel aus weniger als hunderttausend Sätzen besteht, war ein passendes Wörterbuch schnell erstellt und lieferte auch prompt weitere Treffer. Der häufig gegebene Tipp, doch einfach Zitate oder Liedtexte als lange Passwörter zu verwenden, hat also durchaus auch seine Tücken. Tatsächlich hatte das längste geknackte Passwort des LinkedIn-Leaks stolze 29 Zeichen und wurde nur deshalb geknackt, weil es ein Bibel-Zitat war.

Sehr effizient ist der Kombinationsangriff auch, wenn man ihn mit einer automatisierten Mustersuche kombiniert. Dazu zerlegen die Cracker gefundene Passwörter in ihre Bestandteile und setzen sie neu zusammen. Sie erzeugen dabei alle möglichen Kombinationen – also aus „abc“ die Fragmente „a“, „b“, „c“, „ab“, „bc“, „ca“ bis hin zu „bca“. Die kombinieren sie dann untereinander und mit bereits gefundenen Passwörtern. Macht man das mehrfach hintereinander, fällt diesem sogenannten Fingerprinting selbst die Liebeserklärung „i<horses4ever“ aus dem Last.fm-Leak zum Opfer.

Andere Techniken konzentrieren sich darauf, sich wiederholende Muster beziehungsweise Variationen zu erkennen und daraus Regeln zu erstellen. Findet der Cracker etwa die Passwörter „Baum“ und „Baum1“, dann erkennt die Software mit Hilfe der Levenshtein Distanz, die einen Abstand zwischen Zeichenketten definiert, dass hier nur eine 1 angehängt wurde und erzeugt daraus eine passende Hashcat-Regel. Diese wendet das Tool dann anschließend auf alle Wörterbucheinträge an.

Versteckte Muster

Das spannende daran ist, dass die beiden letzten Verfahren auch Muster erfassen, die Menschen gar nicht bewusst wahrnehmen. Viele Jahre empfahlen die Ratgeber zur Passwortsicherheit auch hier in c’t, dass Anwender ihre Passwörter mit genau solchen Mustern und Regeln erstellen. Und jetzt stellt sich heraus, dass Computer viel besser darin sind, die zu knacken, als man es sich vorstellen konnte.

Doch das Problem geht noch viel weiter, wie eine noch allgemeinere Angriffstechnik beweist. Dabei geht es darum, die Passwörter mit beispielsweise zwölf alphanumerischen Zeichen durchzuprobieren, das aber intelligenter anzustellen, als bei „a“ anzufangen und bei „000000000000“ aufzuhören. Sprich: Man will genau die Zeichenkombinationen zuerst testen, bei denen die Wahrscheinlichkeit hoch ist, dass sie ein Mensch möglicherweise wirklich als Passwort wählt.

Im Wesentlichen arbeiten die Cracker dabei mit bedingten Wahrscheinlichkeiten, die etwa besagen, dass nach einem „q“ besonders häufig ein „u“ auftaucht und dass Großbuchstaben am Anfang eines Wortes wahrscheinlicher sind als mittendrin. Mathematiker kennen die dahinter stehenden Konzepte als Markov-Modell und Markov-Ketten. Die Grundannahme ist, dass sich Menschen auch Passwörter mit Hilfe verborgener Markov-Modelle merken [2]. Solche verborgenen Markov-Modelle werden bereits sehr erfolgreich in der Muster- und speziell der Spracherkennung eingesetzt [3].

Mit diesen Markov-Verfahren kann man dann bei ausreichend langer Laufzeit prinzipiell den ganzen Suchraum abklappern und alle Passwörter einer vorgegebenen Komplexität finden. Sie brauchen dazu dann aber genauso lange wie eine klassische Brute-Force-Attacke. Der wesentliche Vorteil ist: Sie liefern viel schneller erste Resultate.

Tools wie Hashcat beherrschen selbstverständlich Markov-Angriffe, John the Ripper sogar zwei. Dabei arbeitet der incremental-Modus mit sogenannten Trigraphs. Das sind Markov-Wahrscheinlichkeiten zweiter Ordnung, die sich auf die Wahrscheinlichkeit eines Auftauchens von „h“ beziehen, wenn man die Zeichen „sc“ voraussetzt. Hashcat arbeitet unter anderem auch mit positionsbezogenen Wahrscheinlichkeiten, die berücksichtigen, dass Anwender Zahlen gerne am Ende anhängen.

Bei Markov-Angriffen erstellt man zunächst mit speziellen Zusatz-Tools wie „calc_stat“ aus dem JtR-Paket passende Wahrscheinlichkeitsregeln. Startet man direkt john –markov -stdout, berechnet John die Passwortkandidaten lediglich anhand vordefinierter Werte, die mit einfachen Wörterbüchern erstellt wurden. Bessere Ergebnisse liefern echte Passwörter – möglichst aus der gleichen Quelle, sodass beispielsweise sprachliche Besonderheiten möglichst gut erfasst werden. Typischerweise benutzen Cracker dazu die beim ersten Durchlauf geknackten Passwörter als Input.

Ein wirklich zufälliges Passwort aus zehn oder mehr Zeichen wird natürlich keiner der hier vorgestellten Angriffe knacken. Doch so gut wie alles, was wir Menschen uns noch irgendwie merken können, fällt den Crackern offenbar früher oder später zum Opfer.

Meldungen zu veröffentlichten Passwort-Listen konzentrieren sich meist auf die häufigst genutzten, skandalös einfachen Passwörter. Bei den unter diesem Artikel abgedruckten, real geknackten Passwörtern finden sich viele, eigentlich richtig gute, deren Länge und Komplexität alle gängigen Anforderungen an Passwortsicherheit erfüllen. Bei LinkedIn verwendeten ganze 1400̌0 Anwender sogar Passwörter mit 16 oder mehr Zeichen. Und trotzdem wurden sie geknackt! Da verliert man schnell die Hoffnung, dass die eigenen Passwörter dieser Mischung aus absurder Rechenleistung und cleverer Software standhalten könnten. Doch lassen Sie den Kopf nicht hängen. Der nächste Artikel verrät Ihnen, warum das dann doch nicht so schlimm ist, wie es klingt – und vor allem: wie Sie ihre Accounts auch weiterhin sicher halten können. (ju)

Literatur
  1. [1] Jürgen Schmidt, iOpener, Wie sicher sind Daten auf dem iPhone?, c’t 15/11, S.154
  2. [2] Arvind Narayanan, Vitaly Shmatikov Fast Dictionary Attacks on Passwords Using Time-Space Tradeoff, http://www.cs.utexas.edu/~shmat/ shmat_ccs05pwd.pdf
  3. [3] L. R. Rabiner, A tutorial on hidden Markov models and selected applications in speech recognition, 1989, www.cs.cornell.edu/Courses/ cs4758/2012sp/ materials/hmm_paper_rabiner. pdf

Artikel kostenlos herunterladen

weiterführende Links

Anzeige