2020 / Passwort

Passwörter knacken – Das sind die aktuellen Leistungszahlen!

Veröffentlicht am

Ein sehr interessantes Thema im Bereich der IT-Sicherheit ist das Passwörter knacken. Das Passwort ist das Authentifizierungsmittel Nummer 1 im Internet und wird auf nahezu jeder Webseite eingesetzt, auf der es die Möglichkeit gibt einen eigenen Account zu erstellen. Da die meisten Benutzer zu kurze und zu schwache Passwörter verwenden ist der Brute-Force-Angriff bei Kriminellen sehr beliebt geworden.

Passwörter knacken mit dem Brute-Force-Angriff

Der Brute-Force-Angriff funktioniert, indem sämtliche Kombination eines Passworts ausprobiert wird. Durch die immer weiter steigende Rechenleistung von aktuellen Grafikkarten schaffen Kriminelle in relativ kurzer Zeit viele mögliche Passwörter auszuprobieren. Ein Standardverfahren um Passwörter in den eigenen Datensätzen zu speichern, aber auch Passwörter während der Authentifizierung zu verschlüsseln ist das sogenannte Hashing.

Beim Hashing wird das eingegebene Passwort in eine andere Zeichenkette verwandelt, sodass jemand der den Hash kennt nicht auf das originale Passwort schließen kann. Das besondere an den Hash-Funktionen ist, dass das gleiche Passwort zu dem gleichen Hash führt, sobald jedoch ein Zeichen in dem Passwort verändert wird, sieht die Zeichenkette des Hashs ganz anders aus.

So sehen beispielsweise die Hashes der Wörter Password und Passwort als MD5 Hash komplett anders aus und lassen keinen Rückschlüss auf das gehashte Wort.

dc647eb65e6711e155375218212b3964 <-- Password

3e45af4ca27ea2b03fc6183af40ea112 <-- Passwort

Für Angreifer ist es nun sehr interessant das Passwort herauszufinden hierfür benötigt der Angreifer jedoch zunächst den Hash, damit er diesen später vergleichen kann. Durch öffentliche WLANs bspw. können Angreifer Hashes abfangen und somit versuchen das dazugehörige Passwort zu finden. Anstatt des Passworts sehen also Angreifer erst einmal nur eine lange zufällig wirkende Buchstaben- und Zahlenkombination.

Ein Angreifer der nun das Passwort seines Opfers erraten möchte, probiert alle möglichen Passwörter aus und hasht diese mit dem selben Verfahren wie der Server. Die erhaltene Zeichenkette wird mit dem abgefangenen oder gestohlenen Hash verglichen und somit kann festgestellt werden, ob die verwendete Kombination dem tatsächlichen Passwort entspricht.

Was ist überhaupt ein Passwort-Hash?

Mithilfe des Password Hash ist es möglich Passwörter sicher zu speichern. So lange Passwörter noch zur Authentifizierung verwendet und gefordert werden, so lange muss man sich Gedanken über die sichere Speicherung von Passwörter machen! Aber was steckt hinter einem Hash und wie arbeitet der mit Salt und Pepper zusammen um mehr Sicherheit bei der Speicherung von Passwörtern zu erreichen?

Was wird im oberen Teil der Infografik: Password Hash dargestellt?

Im ersten Abschnitt der Grafik werden die Basics erklärt. Also weshalb Passwörter schützenswert sind. Außerdem sollten sie niemals im Klartext gespeichert werden, sondern als Hash. Die Berechnung vom Password Hash ist eine mathematische Funktion, die das Passwort transformiert. Im speziellen ist es eine kryptographische Funktion – oder auch Einwegfunktion genannt.

Die Berechnung des Passwortes zum Hash ist einfach – nicht jedoch anders herum. Werden Passwörter eingeben, so wird nicht das Passwort verglichen, sondern der berechnete Hash mit dem verglichen, wie er in der Datenbank gespeichert ist. Eine Kollision trifft dann zu, wenn es zu zwei unterschiedlichen Passwörtern den gleichen Hash gibt. Das sollte in der Praxis nicht vorkommen – ist theoretisch jedoch nicht auszuschließen, da ein Hash eine fest Länge hat – ein Passwort jedoch selten.

You are currently viewing a placeholder content from Default. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.

More Information

Unterschiedliche kryptographische Funktionen arbeiten unterschiedlich gut. In der Infografik sind gute kryptographische Funktionen als grüner Komet dargestellt. Weniger gute sind orange und die schlechten rötlich bzw. rot gekennzeichnet. Das Alter solcher Hash Funktionen spielt eine große Rolle, da die zunehmende Rechenleistung es ermöglicht schneller mehr Berechnungen durchzuführen. Somit werden vermeintlich sichere Hash Algorithmen in Zukunft zu berechnen sein.

Der Password Hash - Den komplexen Prozess zur sicheren Speicherung von Passwörtern dargestellt.
Die Vorteile vom Password Hash anschaulich dargestellt. Vorsicht vor den roten Hash Algorithmen. Quelle: Institut für Internet-Sicherheit

Download Infografik Password Hash [PDF] – [PNG]

Was wird im unteren Teil der Infografik: Password Hash dargestellt?

Der untere Teil der Infografik widmet sich den Themen, wie man trotz der Speicherung des Passwortes als Hash, einem Angriff zum Opfer fallen kann. Hierbei werden in der Infografik die gängigsten Methoden erklärt:

Des Weiteren wird der Salt erwähnt, welcher dem Hash ein zusätzliches Plus an Sicherheit bringt. Zusätzlich findet auch der Pepper Erwähnung. Im untersten Teil der Infografik wird es etwas spezieller. Dort wird z.B. Entwicklern dazu geraten, niemals kryptographische Funktionen selbst zu implementieren. Der Custom-Hardware Angriff und die GPU Resistenz findet am Schluss Erwähnung. Einige der Darstellungen der Hashes sind leider nicht aktuell (z.B. SHA-1). Doch die Erläuterungen haben uns veranlasst diese Infografik zu teilen.

Ein Password Hash schützt Benutzer und Plattform!

Passwörter sind eine leichte Methode die Authentifizierung von Nutzern abzubilden. Doch ein Passwort langfristig sicher abzulegen, um auch bei einem Diebstahl der Daten keinen Verlust zu erleiden, ist ein aufwändiges Vorhaben. Dank dieser Infografik öffnet sich das Mysterium der sicheren Speicherung von Passwörtern etwas. Die Anordnung der Elemente in dieser Infografik macht durchaus Sinn, da sie zunehmender komplexer wird.

Aktuelle Leistungen anhand von MD5

Ein Hash-Verfahren, welches mittlerweile als unsicher gilt, aber dennoch häufig Verwendung findet ist MD5. In der folgenden Tabelle können Sie erkennen, wie lange ein normaler Laptop ohne den Zusatz einer Grafikkarte braucht um ein 6-, 7-, 8-, 9- oder 10-stelliges Passwort zu knacken:

6-stelliges Passwort;0006 Minuten
7-stelliges Passwort;047 Minuten
8-stelliges Passwort;339 Minuten
9-stelliges Passwort;407 Stunden
10-stelliges Passwort;1221 Tage

In dieser Berechnung gehen wir von einem Zeichensatz von 72 Zeichen pro Stelle aus. Dazu zählen 10 Ziffern, 52 Buchstaben (klein und groß), 10 Sonderzeichen (mehr werden in der Praxis kaum verwendet).

Es fällt schnell auf, dass eine Passwortlänge ab 9 Zeichen nur sehr aufwendig geknackt werden kann. Jedoch haben wir für die oben aufgeführte Tabelle nur einen Laptop verwendet, der ca. 875MH/s schafft. MH ist die Kenngröße und bedeutet MegaHashes, dies ist die Anzahl an Hashes die pro Sekunde generiert werden können. Ein Laptop der ca. 875 MH/s schafft, kann dementsprechend 875.000.000 Hashes pro Sekunde generieren.

Wenn Sie selber einmal testen möchten, wie stark Ihre Grafikkarte oder Ihr Notebook ist, können Sie leicht einen Benchmark-Test mit hashcat durchführen. Nachdem Sie hashcat auf Ihrem System installiert haben können Sie mit dem Befehl: hashcat -b

Verschiedene Möglichkeiten von hashcat

In dem oberen GIF zu sehen ist der Benchmark-Modus in dem Tool hashcat. Mit diesem Modus kann gemessen werden, wie viele Hashes, in dem jeweiligen Verfahren, pro Sekunde erzeugt werden können. MD5 ist ein älteres Verfahren und daher werden Hashes mit diesem Verfahren deutlich schneller generiert, als bspw. bei dem sha512crypt.

Es gibt noch einige andere Modi in dem Tool hashcat, mit dem Befehl hashcat -h erhalten wir eine ausführliche Beschreibung, welche Konfigurationsmöglichkeiten für uns zur Verfügung stehen. Die verschiedenen Angriffs-Modi wollen wir im folgenden einmal näher betrachten:

  • Brute-Force Angriff: Der simpelste aber dennoch erfolgsversprechende Angriff ist der Brute-Force Angriff. In hashcat befindet sich der Brute-Force Angriff in dem Modus 3. Modus 3 ist definiert als Mask Angriff, wobei der Brute-Force Angriff eine spezielle Form des Mask Angriffs ist. Neben dem Modus benötigen wir Informationen darüber, mit welchem Verfahren die Hashs geshasht wurden, die wir mit diesem Angriff knacken möchten. Modus 0 steht hierbei für MD5. Eine txt-Datei mit den zu knackenden Hashes sollte ebenfalls bereit stehen um den Angriff starten zu können. Hashcat benötigt die Anzahl der Zeichen der Passwörter die ausprobiert werden sollen und ebenfalls, welche Zeichen verwendet werden sollen. Da in einem Brute-Force Angriff jedes Zeichen verwendet werden kann benutzen wir ?b als festgelegte Variable. Der Angriff kann gestartet werden mit:
    hashcat -a 3 -m 0 /local/file/with/hashes.txt ?b?b?b?b?b?b
    In diesem Beispiel gehen wir von einem 6-stelligen Passwort aus, welches an jeder Stelle jedes Zeichen enthalten kann.
  • Combinator Angriff: Der nächste Angriff, der sogenannte Combinator Angriff, befindet sich hinter Modus 1. Für diesen Angriff benötigen wir zwei verschiedene Wörterlisten. Durch verschiedene Einstellungsmöglichkeiten können die Listen noch ergänzt werden, bspw. -j “$&” fügt vor jedes Wort der 2. Wörterliste ein & Zeichen ein. Der Combinator Angriff erstellt aus den beiden Wörterlisten nun eine große Wörterliste, indem die jeweiligen Kombinationen als ein Wort verwendet werden.
    hashcat -a 1 -m 0 /local/file/with/hashes.txt /local/wörterliste1.txt /local/wörterliste2.txt -j “$&”
  • Dicitionary Angriff: Wie der Name schon sagt wird bei dem Dictionary Angriff ein Wörterbuch verwendet. Hierfür kann nahezu jede Wörterliste verwendet werden, dass besondere ist, dass hashcat bereits einige Regeln mitliefert, die verwendet werden können um das Wörterbuch so zu verwenden, dass möglichst viele Hashes geknackt werden. Durch das ergänzen der -O Option wird der Angriff deutlich schneller ausgeführt, dafür können nur Passwörter bis zu einer Länge von 27 Zeichen geknackt werden.
    hashcat -a 0 -m 0 /local/file/with/hashes.txt /local/wörterliste.txt -O
  • Hybrid Angriff: Der Hybrid Angriff vereint einen Mask Angriff, den wir bereits als Brute Force Angriff kennen gelernt haben, mit einem Dictionary Angriff. Das Problem eines Mask Angriffs ist es, dass bei einer Passwortlänge ab ca. 8 Zeichen die Dauer sehr lang sein kann. Mit dem Hybriden Angriff wird eine Wörterliste mit einem Mask Angriff kombiniert, sodass bspw. von September0000 bis September9999 ausprobiert wird. Hierfür wird nicht wie bei dem Brute Force Angriff ?b verwendet sondern ?d, welches für die Ziffern 0-9 verwendet wird. Mit dem Modus 6 wird die Iteration nach dem Wort durchgeführt und mit dem Modus 7 davor.
    hashcat -a 6 -m 0 /local/file/with/hashes.txt /local/wörterliste.txt ?d?d?d?d
  • Mask Angriff: Den Mask Angriff haben wir bereits in Form des Brute-Force Angriffs kennen gelernt. Doch neben ?b, welches für alle Zeichen steht und ?d, welches für die Ziffern steht gibt es noch einige andere vordefinierten Variablen, die für das Passwort knacken verwendet werden können
    hashcat -a 3 -m 0 /local/file/with/hashes.txt ?u?l?l?l?d?d?d?d

Passwörter knacken mit neuen Grafikkarten

Die oben genannten Zahlen können bereits erschreckend wirken, denn ein 6-stelliges Passwort, welches mit MD5 gehasht wurde, kann von einem einzigen MacBook innerhalb weniger Sekunden geknackt werden. Um die Anzahl der Hashes zu erhöhen, die pro Sekunde generiert werden können, werden Grafikkarten verwendet.

Es gibt verschiedene Seiten auf denen aktuelle Benchmarks mit diversen Grafikkarten gelistet sind. Ein Beispiel ist das GitHub Repository von dem Nutzer siseci, aber auch andere Seiten wie bspw. onlinehashcracks.

In dem GitHub Repository ist ein Setup aufgelistet, welches aus zehn Nvidia GTX 1080 Ti zusammengesetzt ist. Eine einzelne Nvidia GTX 1080 Ti schafft rund 35000 MH/s, zusammengeschlossen können MD5 Hashes mit rund 355 GH/s generiert werden. Die Kosten für dieses Setup beliefen sich auf etwa 10000€, dieses sorgt für etwa folgende Zahlen beim Passwort knacken:

AggressivitätBeschreibung
PassivDie gefunden Schwachstellen werden nicht ausgenutzt. Die Angreifer selber sind zusätzlich schwer zu detektieren, da Werkzeuge benutzt werden die kaum bis gar keine Spuren hinterlassen.
VorsichtigEine gefundene Schwachstelle wird nur dann ausgenutzt wenn die Beeinträchtigung des Systems nahezu ausgeschlossen werden kann. Die Schutzziele der IT-Sicherheit (Integrität, Verfügbarkeit und Vertraulichkeit) sollen gewahrt bleiben.
AbwägendGefundene Schwachstellen werden gezielt und nach Rücksprache ausgenutzt. Eine Systembeeinträchtigung kann hervorgerufen werden. Dieser Test sollte ausschließlich auf Testsystemen durchgeführt werden.
AggressivDas Risiko die Schutzziele der IT-Sicherheit zu verletzen wird ignoriert. Alle gefundenen Schwachstellen werden ausgenutzt. Eine vollständige Kompromittierung des Systems ist das Ziel. Ausschließlich auf isolierten Testsystemen zu empfehlen.

In dieser Berechnung gehen wir von einem Zeichensatz von 72 Zeichen pro Stelle aus. Darunter zählen 10 Ziffern, 52 Buchstaben (klein und groß), 10 Sonderzeichen (mehr werden in der Praxis kaum verwendet). Gerade an diesem System lässt sich ebenfalls schnell zeigen wieso kurze Passwörter mit jedem Jahr unsicherer werden. Die oben erwähnten zehn Nvidia GTX 1080 Ti sind bei weitem nicht mehr die schnellsten Grafikkarten auf dem Markt. Die aktuell leistungsstärksten Grafikkarten von Nvidia, die RTX 3080 Serie, schaffen 54033 MH/s. Dies entspricht einer Leistungssteigerung von über 50%.  Daher ist es wichtig zu bedenken das es für Angreifer mit jedem Jahr leichter wird kürzere Passwörter zu erraten, da mit jedem Jahr die Rechenleistung aktueller PC-Hardware steigt.

Passwörter knacken – Schutz für die eigenen Passwörter

Diese Beispiele haben gezeigt, wie wichtig es ist ein langes Passwort zu verwenden. Selbst aktuelle Hash-Verfahren können mit genug Rechenleistung geknackt werden, sodass Ihr Passwort gestohlen wird. Die einfachste Schutzmöglichkeit ist das Verwenden von ausreichend langen Passwörtern. Wir haben gesehen, dass mit unterschiedlichen Setups Passwörter unter 10 Zeichen keinen richtigen Schutz bieten.

Unsere Empfehlung ist daher ein Passwort zu wählen, welches aus mindestens 12 Zeichen besteht. Zudem sollte dieses Passwort nicht wiederverwendet werden, damit im Fall das Ihr Passwort geknackt wurde nur ein Account gestohlen werden kann.

Foto des Autors

Chris Wojzechowski

Mein Name ist Chris Wojzechowski und ich habe vor wenigen Jahren meinen Master in Internet-Sicherheit in Gelsenkirchen studiert. Ich bin geschäftsführender Gesellschafter der AWARE7 GmbH und ausgebildeter IT-Risk Manager, IT-Grundschutz Praktiker (TÜV) und besitze die Prüfverfahrenskompetenz für § 8a BSIG. Unser Brot und Buttergeschäft ist die Durchführung von Penetrationstests. Wir setzen uns darüber hinaus für ein breites Verständnis für IT-Sicherheit in Europa ein und bieten aus diesem Grund den Großteil unserer Produkte kostenfrei an.