Hashwerte auslesen
09.04.2017, 10:08 Uhr
So einfach lassen sich Passwörter knacken
Passwörter werden in den meisten Systemen nicht in Klartextform abgelegt, sondern als sogenannter Hashwert. Trotzdem ist das Knacken 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 einem digitalen Kennwort verlangt. Um es Hackern nicht allzu einfach zu machen, werden die Passwörter nicht im Klartext gespeichert, sondern als Hashwert. "Passwort1" wird dann etwa als "g759f0fee8b9d447af25fa4d428928bb" 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 Oneconsult an 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 Knacken der Passworthashes nicht allzu schwer.
Auf die Hashfunktion 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-Hash-Funktion 50 Milliarden Hashes pro Sekunde verarbeitet werden. Somit lassen sich im Rahmen einer Brute-Force-Attacke mehr Werte durchprobieren. Die Hashfunktion Sha512-crypt dagegen erlaubt nur knapp 300.000 Werte pro Sekunde. Das Knacken von Passwörtern dauert somit um einiges länger.
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 zwei Stunden herausfinden, bei einem 8-stelligen dauert der Vorgang schon 7 Tage und bei einem 9-stelligen muss gar 2 Jahre lang gerechnet werden.
Ebenfalls ein Faktor stellt laut Willi die verwendete Hardware dar, eine gewöhnliche CPU verarbeitet – wieder unter Verwendung von MD5 als Hashfunktion – 99 Millionen Hashes pro Sekunde. Weit schneller arbeitet hingegen ein Grafikprozessor. Dann lassen sich nämlich 12 Milliarden Hashes pro Sekunde verarbeiten.
So gelangen Kriminelle an Hashwerte
Doch um die zu den Passwörtern gehörenden Hashwerte knacken zu können, muss man erst einmal in deren Besitz kommen. In seiner Demo zeigte Willi drei Hacking-Methoden 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 können Hashes aus einer Datenbank ausgelesen werden und ein kompletter KeePass-2-Passwort-Safe geknackt werden.
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.
Passwörter mit Hashcat knacken
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 Passwort-Manager wie KeePass oder Password Safe zu verwalten. Daneben rät er sehr davon ab, dieselben Passwörter für verschiedene Dienste und Webseiten zu verwenden. Selbst wenn man sich Varianten für die unterschiedlichen Seiten ausdenkt, biete dies keinen speziellen Schutz.
Wo immer eine Zwei-Faktoren-Authentifikation angeboten wird, wie mittlerweile selbst bei grossen Anbietern wie Google, soll man diese auch in Anspruch nehmen.