Was sind Hashes und wie funktionieren sie?

Ein Hash ist das Ergebnis einer kryptografischen Hashfunktion. Diese nimmt eine beliebig große Eingabe (z. B. eine Datei oder ein Passwort) und berechnet daraus eine Zeichenkette mit fester Länge. Hashfunktionen sind Einwegfunktionen, das bedeutet, der ursprüngliche Wert kann nicht aus dem Hash zurückberechnet werden.

Zum Beispiel erzeugt der Algorithmus SHA-256 (Secure Hash Algorithm 256) einen 256-Bit-Hash, der als 64 Zeichen lange Hexadezimalzeichenkette dargestellt wird.

Wozu werden Hashes verwendet?

Schwachstellen: Rainbow Tables und Hash-Kollisionen

Obwohl Hashes ein starkes Sicherheitsmerkmal sind, gibt es Angriffsmethoden wie Rainbow Tables. Dabei handelt es sich um vorberechnete Tabellen mit gängigen Passwörtern und deren Hashes. Ein Angreifer kann einen gestohlenen Hash mit diesen Tabellen abgleichen, um das ursprüngliche Passwort zu ermitteln. Besonders schwache oder häufig verwendete Passwörter (z. B. "123456") sind leicht zu knacken.

Um dies zu verhindern, wird ein Salt eingesetzt. Dabei wird vor dem Hashing eine zufällige Zeichenkette an das Passwort angehängt. Erhält jedes Konto ein eigenes Salt, ergeben gleiche Passwörter unterschiedliche Hashwerte. Ein individuelles, zufälliges Salt verhindert die Wiederverwendung vorberechneter Tabellen für viele Konten. Schwache Passwörter können trotzdem durch Ausprobieren gefunden werden.

Eine weitere potenzielle Schwäche sind Hash-Kollisionen. Dabei erzeugen zwei verschiedene Eingaben denselben Hash. Moderne Hashfunktionen wie SHA-256 sind so konzipiert, dass solche Kollisionen extrem unwahrscheinlich sind.

Aufgabe

MD5 dient hier nur zur Veranschaulichung. Für echte Passwortspeicherung werden langsame Passwort-Hashverfahren wie Argon2id mit individuellem Salt verwendet.

Finde die ursprünglichen Passwörter der folgenden MD5-Hashes und erhalte die Flag:

Schritt 1: Lokalen Hash-Lookup verwenden

Kopiere die folgenden Hashes in das Eingabefeld des lokalen Hash-Lookups. Das Werkzeug funktioniert ähnlich wie eine kleine Rainbow-Table-Abfrage, bleibt aber komplett auf dieser Seite und nutzt keine externe Webseite.

5f4dcc3b5aa765d61d8327deb882cf99
098f6bcd4621d373cade4e832627b4f6


Gib eines der gefundenen Passwörter ein, um deine Flag zu erhalten: