05.04.2017, 14:31 Uhr
So einfach lassen sich Passwörter cracken
Passwörter werden in den meisten Systemen nicht in Klartextform abgelegt, sondern als sogenannter Hashwert. Trotzdem ist das Cracken derart geschützter Passwörter nicht allzu schwer.
Trotz der zunehmenden Verwendung von biometrischen Zugangssicherungen, haben Passwörter nach wie vor eine grosse Bedeutung. Es gibt kaum einen Dienst im Internet oder im Büro, der nicht nach einer digitalen Losung verlangen würde. Um es Hackern nicht allzu einfach zu machen, werden die Passwörter nicht im Klartext gespeichert, sondern als Hashwert. «Passwort1» wird dann als «e2b764068994715ed3bc13c21ac3ad79» abgelegt. Unknackbar, könnte man meinen. Dass es dennoch möglich ist, solche gehashte Passwörter in die Klartextform zu überführen, hat Immanuel Willi vom Schweizer Penetration-Testing-Spezialisten Oneconsultan der «Afterwork»-Veranstaltung der Security Interest Group Switzerland (Sigs) in Basel gezeigt.
Eines wurde bei der Demonstation des Experten klar: Mit den richtigen Tools, mit etwas Know-how und je nachdem mit mehr oder weniger Rechenpower ist das Cracken der Passworthashes nicht allzu schwer. Nächste Seite: Auch auf die Hashfunktion kommt es an
Auch auf Hashfunktion und Passwortlänge kommt es an
Wie schnell ein Hacker an das Passwort kommt, hängt laut Willi stark von der verwendeten Hashfunktion ab. So verwies er darauf, dass die Leistungsfähigkeit der verschiedenen Methoden sehr unterschiedlich ist. So können bei der gängigen MD5-Hashfunktion 50 Milliarden Hashes pro Sekunde verarbeitet werden. Somit lassen sich im Rahmen einer Brute-Force-Attacke mehr Werte «durchprobieren». Die Hashfunktion Sha512-crypt dagegen verarbeitet nur knapp 300000 Werte pro Sekunde. Das Cracken von Passwörtern dauert somit um einiges länger. Allerdings: Sowohl dieses als auch das nächste Rechenbeispiel beziehen sich auf eine ganz bestimmte Hardwarekonfiguration mit zwei leistungsstarken Grafikkarten.
Auch wie wichtig die Länge von Passwörtern ist, konnte Willi anhand von Rechenbeispielen sehr schön zeigen. Ein 7-stelliges mit MD5 codiertes Passwort lässt sich in gut 2 Stunden herausfinden, bei einem 8-stelligen dauert der Vorgang schon 7 Tage und bei einem 9-stelligen muss gar 2 Jahre lang «gepröbelt» werden. Ebenfalls ein Faktor stellt gemäss Willi die verwendete Hardware eine Rolle, eine gewöhnliche CPU verarbeitet – wieder unter Verwendung von MD5 als Hashfunktion – 99 Millionen Hashes pro Sekunde. Besser ist es, einen Grafikprozessor GPU zu verwenden. Dann lassen sich nämlich 12 Milliarden Hashes pro Sekunde verarbeiten, wobei sich die letzten Zahlenbeispiele auf den Heim-PC von Willi beziehen. Nächste Seite: So kommt man an die Hashwerte
So kommt man an die Hashwerte
Doch um die zu den Passwörtern gehörenden Hashwerte cracken zu können, muss man erst einmal in deren Besitz kommen. In seiner Demo zeigte Willi drei Hackingmethoden wie aus entsprechenden Systemen Hashwerte ausgelesen werden können. Zum einen verwendete er eine Schwachstelle in einer Version des Open-Source-CMS Drupal, um an den Hash für den Root-Zugang des darunterliegenden Linux-Betriebssystem zu gelangen. Aber auch wie via SQL-Injection Hashes aus einer Datenbank ausgelesen werden und ein kompletter KeePass-2-Passwort-Safe geknackt werden kann, wurde vorgeführt. Ist man im Besitz der Hashwerte, muss in einem weiteren Schritt herausgefunden werden, mit welcher Hashfunktion dieser erstellt wurde. Wie Willi berichtet gibt es hunderte von Hashfunktionen. Neben den allgemeineren DES, MD5 und SHA256 auch Produkt-spezische Algorithmen. Auch um herauszufinden, welche Hashfunktion verwendet wurde, gibt es ein Tool namens «hashID», das dem Hacker – oder Penetration-Tester – die Arbeit erleichtert. Dieses lässt sich mit dem gefundenen Hashwert füttern, worauf es die verwendete Funktion ermittelt.
So crackt man die Passwörter
Für das eigentliche Cracking verwendete Willi die Software Hashcat. Dieses Tool versteht sich nicht nur auf diverse Hashalgorithmen, es können diverse Parameter bestimmt werden, um die Brute-Force-Angriffe einzuschränken. So lassen sich die Passwörter anhand diverser Wörterbücher und Passwortlisten durchprobieren. Dabei wird anhand der Ausführungen von Willi schnell klar: Nicht nur Passwörter, die auf Grundbegriffen bestehen, lassen sich einfach cracken. Auch zum Teil komplexe Verdrehungen und Ergänzungen sowie Kombinationen aus Wörtern, Zahlen und Sonderzeichen sind herauszufinden.
Empfehlungen des Experten
Auf Grund der Erfahrungen aus seinen Penetration-Tests kann Willi diverse Tipps zum Umgang mit und zur Wahl von Passwörtern geben. Generell gilt: Wenn ein Passwortbestandteil in einer Wörter- oder einer Passwortliste auftaucht, ist die Losung recht einfach knackbar. Deshalb sei es besser, Passwörter zu verwenden, die mit Hilfe eines Zufallsgenerators erzeugt wurden, und diese dann in einem Passwortmanagementprogramm, die es auch von Schweizer Anbietern gibt, zu verwalten. Daneben rät er sehr davon ab, die selben Passwörter für verschiedene Dienste und Webseiten zu verwenden. Selbst wenn man sich Varianten für die unterschiedlichen Sites ausdenkt, biete dies keinen speziellen Schutz. Und: Wo immer Zwei-Faktoren-Authentifikation angeboten wird, wie mittlerweile selbst bei grossen Sites wie Google, soll man diese auch in Anspruch nehmen.