Wie bekommt man den Hash eines Passwortes?
Wenn man ein Passwort bei, zum Beispiel: Google anlegt, wird dieses nicht im "Plain-Text" gespeichert, sondern als Hash umgewandelt. Hacker können diesen Hash dann aber trotzdem "entschlüsseln" und die Passwörter erhalten. Nun frage ich mich wie die Hacker die Hashes zu den Passwörtern erhalten. Weiß das irgendwer?
2 Antworten
Ja z.b mit hashcat. Das ist ein gpu/cpu hashcracker.
Da hastdu dann mehrer Attockmodi wie z.B.
- Bruteforce erstellt alles möglichen Passwörter der Länge(n) x bzw. x bis y
z.B.: bei länge 3 aaa nimmt dann davon den hash und gleicht ihn mit dem zu original hash ab dann aab usw. bis die hashes gleich sind. Ist ber ziemlich ineffizient bei längeren Passwörtern und wir schnell unmöglich (dauert dann schnell mehrer (tausend) Jahre), da es Passwortlänge hoch Zeichensatz viele verschieden Passörter eine länge gibt mit einem 10 Zeichen Passwort, was 2*26Buchstaben hat(groß und klein) und Ziffern 0-9 62 mögliche Zeichen, also 10^52 möglche Passwörter.
- Wordlistattacken
Hier nimmt mann einfach eine liste mit z.B. 10000 häufigsten Passwörtern und nimmt von jedem den hash, bis man den passenden findet
- Wordlist mit Rules
Hier nimmt man alles Passswörter aus der Wordlist, hängt aber immer noch nach regeln etwas hinten und/oder vorne dran. Sagen wir mal man hat password in der Wordlist würden bei einer Rule mit orginal digit
password1, password2 usw. auch probiert werden. Das ist auch ziemlich effektiv, da viele einfach hinten eine Zahl oder ein Sonderzeichen anhängen um alle Anforderungen einer Website an ein Passwort zu erfüllen.
- Dictionary attack
Hier nimmt man ein Wörterbuch und probiert dieses (oft auch mit o.g. Rules)
- Rainbow tables
Hier berechnet man im voraus schon alle hashes mit bruteforce, oder lädt sich aus dem Internet entsprechende Tabellen. Das verkürzt die Attacke drastisch, da man die Passwörter nicht selbst hashen muss.
Deswegen immer lange möglichst nicht in Wordlists oder Wörterbüchern auftauchenden Passwörter mit großem Zeichensatz wählen und mit einem Rechenintensiven sicheren hash-Algorithmus hashen und möglichst einen Salt verwenden.
Durch Rainbow-Tables.
Aber auch das kann man verhindern indem man die Hashes Saltet.