DART Logo DART Logo

Wie hackt man Passwörter?

Profilbild von Ali Sari

Ali Sari
02. Juni 2020• min Lesezeit

Hacker: eine Retrospektive

Der Begriff "hacking" wurde erstmal Mitte der 1950er-Jahre von US-Amerikanischen Funkamateuren verwendet. Der Begriff stand für das besonders einfallsreiche Anpassen von Geräten, um deren Leistung zu verbessern.

Auch gegen Ende der 1950er-Jahre wurde "hacking" vom Modelleisenbahnclub der Technischen Hochschule MIT (Massachusetts-Institute of Technology) als Begriff verwendet zur Anpassung von elektronischen und mechanischen Geräten. Meist wahren solche Anpassungen harmlos und eher mit einem raffinierten und/oder kreativen Spaß zu vergleichen. Hatte also ein MIT-Student einen raffinierten Streich ausgeübt, so galt er als "Hacker".

Back to the future

Zurück zum Thema – wie funktioniert das nun mit dem Hacken von Passwörtern? Fast jedes Unternehmen verwendet heutzutage ein Content-Management-System um seine Webseiten zu hegen und zu pflegen, wie man so schön sagt. Um dies zu tun, müssen sich Redakteure meist mit einem Usernamen und einem Passwort in einem Backend anmelden.

Content-Management-Systeme: eine Tür mit vielen Schlössern.

Um sich im Backend eines CMS, wie zum Beispiel TYPO3, anzumelden braucht es einen Usernamen und ein Passwort. Der Username in unserem Beispiel ist deine E-Mail Adresse. Als Passwort nehmen wir mal 1234fünf. Der Username und das Passwort werden in Input Feldern eingegeben, dass Passwort ist jedoch nicht sichtbar und wird während der Eingabe unkenntlich gemacht.

Sobald man auf den Button Login klickt, werden die eingegebenen Daten an das Backend von TYPO3 gesendet und das System prüft, ob diese Account-Daten richtig sind oder nicht.

Jeder Login wird natürlich in einer gesonderten Datenbanktabelle auch protokolliert.

TYPO3 Backend Protokollansicht

Der Username ist in der Datenbank im Klartext hinterlegt, das Passwort 1234fünf jedoch nicht. Passwörter sollten in keinem System im Klartext gespeichert werden (dürfen). Niemals.

Datenbank Passwort-Hash

Doch wie weiß das TYPO3 Backend nun, ob das Passwort 1234fünf mit dem Passwort in der Datenbank (welches nicht im Klartext gespeichert ist) identisch ist?

Hash-Funktionen – nein, das sind keine Drogen.

Bei der Registrierung des Accounts wurde das gewählte Passwort 1234fünf durch eine Hash-Funktion in eine verschlüsselte Form umgewandelt und in der Datenbank gespeichert. Einige der bekanntesten kryptografischen Hash-Funktionen sind zum Beispiel:

  • MD4, MD5 (Message-Digest Algorythm 5, 1991)
  • SHA-1, SHA-256 (Secure Hash Algorythm, 1993)
  • Tiger128 (1996)

Wenn man nun das Passwort 1234fünf durch eine MD5 Hash-Funktion jagt, bekommt man eine 32 Zeichen lange Kette an Buchstaben und Zahlen.

aac6f8f13ef94948803f9b2687f1b34f

Das sieht nun sehr zusammengewürfelt aus, ist jedoch das Produkt aus der Funktionsweise des verwendeten Hash-Algorithmus MD5 und dem Passwort 1234fünf.

Das Klartext Passwort 1234fünf wird also niemals jemand – auch nicht der Administrator der TYPO3 Seite – zu Gesicht bekommen. Wenn das Passwort mal vergessen wurde, muss ein neues erstellt werden. Das verschlüsselte Passwort nennt man dann auch Passwort-Hash.

Worst Case Szenario: Hackerangriff

Stellen wir uns mal vor, dass einem Hacker alle Usernamen und Passwort-Hashes eurer Webseite in die Hände fallen. Nun könnte man meinen, er hätte dadurch die Möglichkeit sich in eurem CMS anzumelden. Durch Eingabe des Usernamens und Passwort-Hashes ist dies jedoch nicht möglich.

Die Eingabe eines Passwort-Hash im Passwort Feld ermöglicht keinen Zugang zum System. Dies kommt daher, dass der eingegebene Passwort-Hash ebenfalls durch die MD5 Hash-Funktion gejagt wird, und dieses dann natürlich nicht übereinstimmt mit dem gespeicherten Passwort-Hash in der Datenbank. Es ist also zwingend erforderlich, das Passwort im Klartext zu kennen.

Denken wir mal anders herum. Wäre es möglich, aus einem Passwort-Hash das Klartext Passwort herzustellen? In der Theorie ja, in der Praxis jedoch nicht.

Denn eine kryptografische Hash-Funktion ist immer eine Einweg-Funktion. Um aus einem Passwort-Hash ein Klartext Passwort per MD5 zu berechnen, gäbe es 32 hoch 16 Möglichkeiten. Das sind so unglaublich viele Möglichkeiten, dass es die Entschlüsselung praktisch unmöglich macht. Die ausgeschriebene Zahl der Möglichkeiten lautet 1208925819614629174706176 - also über eine Quintillionen (ja das Wort gibt es) Möglichkeiten.

Könnten alle Menschen der Erde gemeinsam das Passwort knacken?

Es gibt zurzeit ca. 7,8 Milliarden Menschen auf unserem Planeten. Wenn wir die Möglichkeiten das Passwort zu knacken auf jeden einzelnen Menschen dieser Welt verteilen würden, bräuchte jeder Einzelne von uns 154990489694183 (ca. 154 Billionen) Versuche um auf das richtige Ergebnis zu kommen. Und nur ein Einziger wird die richtige Kombination haben.

Ein Glück oder zum Pech leben wir im Zeitalter der Computer und KIs. Diese Aufgabe können wir also einem Computer überlassen der jede Möglichkeit rasend schnell durchtesten kann.

Das nennt man dann Brute-Force-Attacke. Doch auch mit allen Super-Computern dieser Welt bräuchte es mehrere Menschen-Generationen an Zeit, um an das richtige Klartext Passwort zu kommen. Trotzdem ist es möglich wenn das gewählte Klartext Passwort ein schwaches ist wie z.B. 1234fünf, welches innerhalb weniger Wochen über eine Brute-Force-Attacke entschlüsselt werden könnte. Es wäre sogar innerhalb weniger Sekunden möglich. Aber wie?

Die Rainbow-Tables

Neben Brute-Force Attacken nutzen Hacker meist öffentlich zugängliche Rainbow-Tables als Hilfestellung, in welchen die geläufigsten Klartext Passwörter inklusive deren berechneten Hashes gelistet sind. Diese Rainbow-Table Datenbanken sind oft mehrere hundert Gigabyte groß.

Das Passwort 1234fünf ist auf jeden Fall in einer solchen Rainbow-Table gelistet. Wenn ihr jedoch ein Passwort wie z.B. R4mMsT41n#!st#r!cHt1g#GuT3#mu5!k< verwendet, könnt ihr davon ausgehen, dass dieses sicherlich nicht in einer Rainbow-Table vorkommt und somit als sehr sicher gilt.

Es liegt also an euch ein sicheres Passwort zu wählen! Die Registrierungs-Systeme unserer Welt wollen uns nicht ärgern mit dem Zwang der Eingabe von Klein- und Großbuchstaben, Zahlen sowie einer Mindestlänge von 12 Zeichen. Das Gegenteil ist der Fall - sie wollen uns schützen (vor unserer eigenen Faulheit und/oder Dummheit).

über den autor

Profilbild von Ali Sari

Ali Sari
Leitung Digital
DART GmbH

Informationen zum Datenschutz

Datenschutz ist uns wichtig - dürfen wir Ihre Interessen auswerten?
Zur Verbesserung unseres Angebots nutzen wir Cookies von Google-Tracking-Diensten(Maps, Analytics). Weitere Informationen finden Sie in unserer Datenschutzerklärung. Ihre Einwilligung ist freiwillig. Sie können diese jederzeit mit Wirkung auf die Zukunft wiederrufen.

Akzeptieren Ablehnen