Mit kryptografischen Hashfunktionen kann aus einer großen Datenmenge eine eindeutige Zeichenkette (String) erzeugt werden. Der Name „Hashfunktion“ stammt vom englischen Verb to hash, das sich als „zerhacken“ übersetzen lässt. Der Name sagt also aus, dass diese Funktionen die Daten „zerhacken“. Eine geeignete Hashfunktion liefert dabei aus den Daten auf solche Weise Hashwerte, sodass unterschiedliche Dateneingaben auch zu unterschiedlichen Hash-Ausgabewerten führen. Ansonsten wird von einer Kollision gesprochen. Ein Hashwert kann wie ein Fingerabdruck eines Menschen (engl. fingerprint/message digest) nahezu eindeutig eine Datenmenge identifizieren. Die Verwendung von Hashes ermöglicht es, zwei verschiedene Datenmengen schnell auf Unterschiede zu überprüfen.
Es stehen verschiedene Algorithmen zur Verfügung, um Hashes zu bilden. Diese werden je nach Einsatzszenario angewandt. Das nachfolgende Beispiel zeigt, wie sich zum einen eine abweichende Groß- und Kleinschreibung auf das Ergebnis auswirkt, zum anderen wie die verschiedenen Algorithmen andere Ergebnisse erzeugen.
md5(scheible.it) = 235cd08c694456f6a94a90623366fca1 md5(Scheible.it) = 5c04f651985c8b506f31e1fcec1c95d8 sha-1(scheible.it) = 3113d424b138512d179509d3ead070569275226a sha256(scheible.it) = ab7c8f3c72833b6985278a20cdb772f9a335b8149315359cdeca0b599ea1131e sha512(scheible.it) = 04a647782b5f84a0693d495a07734d29ae7caed998f6d02376d15c035dac8b075e794d89a7127a002758f08e93509085a3fa73a2cd2a2c8ddf73a00bb6f85403 whirlpool(scheible.it) = dfb588900089567718dd1dd3b9cda5b9aa33576c25ea6f2d1bbcb63aa38559a99547945390b80e5a09d221fcd25eb09eef9f6d77783ba609b73a7c27dcabd030 argon2(scheible.it) = 9db2b7751190377252ab97a34d2fb2c0
Hin und wieder kommt es vor, dass ein Hash vorliegt, aber nicht mehr klar ist, wie dieser erzeugt wurde. Hier hilft das Tool Name-That-Hash, um eine Identifizierung vorzunehmen.
Installation
Unter Kali Linux 2021.4 wurde das Tool Name-That-Hash integriert und Sie können es wie gewohnt installieren, wenn es nicht bereits installiert ist:
$ sudo apt install name-that-hash
Anwendung
Wenn Sie nur einen Hash analysieren möchten, können Sie ihn direkt mit dem Parameter -t übergeben. Alternativ können auch mehrere Hashes gleichzeitig in einer Datei mit dem Parameter -f übergeben werden. Das folgende Beispiel zeigt die Analyse eines MD5-Hash:
$ name-that-hash -t 235cd08c694456f6a94a90623366fca1
In der Ausgabe sehen Sie auch gleich die Einschränkung, welche diese Art von Tools haben. Da nur die wenigsten Hash-Formate ein eindeutiges Merkmal haben, kann bei solch einer Eingabe nur anhand der Länge eine Einschätzung abgegeben werden. Dieser Limitierung unterliegen aber alle Tools.
Bei einem Vergleich des Hash-Algorithmen SHA-512 und Wirlpool mit Name-That-Hash zeigt sich, dass auch eine allgemeine Häufigkeit der Verwendung für die Ausgabe eine Rolle spielt. So wird bei dem Whirlpool-Hash der Algorithmus Whirlpool nur in der Kategorie „Am wenigsten wahrscheinlich“ aufgeführt.
Fazit
Mit dem Tool Name-That-Hash kann unter Kali Linux einfach eine schnelle Analyse eines Hash durchgeführt werden. Allerdings stehen immer mehrere Möglichkeiten zur Auswahl, sodass eine eindeutige Zuordnung so gut wie unmöglich ist.
Eine Alternative zum Tool Name-That-Hash stellt unter Kali Linux das Tool hash-identifier dar.
Kali Linux 2021.4 Artikelserie
Dieser Blog-Artikel ist Teil der Kali Linux 2021.4 Artikelserie, in der ich mich mit den neuen Tools der neuesten Version des Kali Linux Betriebssystems für Penetration Tester, IT Security Analysten und IT-Forensiker beschäftige.
- Maryam Open-source Intelligence (OSINT) Framework
- Name-That-Hash Analyse von Hashes und Benennung der Art
- Proxmark3 Software für die Proxmark RFID-Analysehardware
- Reverse Proxy Grapher Grafische Darstellung der Revers Proxy Datenflüsse
- Spraykatz Anmeldedaten in Active Directory-Umgebungen sammeln
- truffleHog Suche in Git-Repositories nach Secrets