Mir ist heute aufgefallen, dass mein Browser die Password-Hashing-Seite PwdHash der Stanford University aufgrund eines Eintrags in die Liste der malwaredomains.com als Verteiler von Schadsoftware einstuft und den Seitenaufruf dementsprechend blockiert. Die Sperre scheint berechtigt zu sein: Die Seite Ransomware Tracker hat unter der URL http://pwdhash.com/d5sif eine Payload für den Verschlüsselungstrojaner Locky gefunden, sodass nun eine Reihe von Adblockern die Webseite automatisch sperren. Ich weiß nicht, ob die Betreiber sich dessen bewusst sind (der Link ist Stand jetzt noch aktiv), auf eine über das Feedback-Formular abgeschickte E-Mail habe ich bisher noch keine Antwort bekommen. Die Seite selbst, also das JavaScript, das die Passwort-Hashes errechnet, scheint jedoch nicht betroffen zu sein.
Kleiner Exkurs zu PwdHash: Viele User nutzen aus Bequemlichkeit für verschiedene Webseiten im Netz immer wieder dieselbe E-Mail-Adresse und dasselbe Passwort. Wird nun die Datenbank eines Dienstes gehackt, kann sich der Angreifer mit den Zugangsdaten des Users bei anderen Diensten einloggen. In der Praxis werden die Passwörter zwar nicht im Klartext abgespeichert. Doch „schlechte“ Passwörter lassen sich schnell per Brute-Force-Angriff und Rainbow-Tables cracken. Pwdhash ist nun ein simples Verfahren, dass ausgehend aus der Domain des Dienstes und einem Masterpasswort ein individuelles Passwort für jede Webseite errechnet.
Aus der Domain „beispiel.de“ und dem Passwort „ganzgeheim“ wird so am Ende das Kennwort „ISXAKd2f3Bvq“. Ändert man die Domain oder das Passwort, ergibt sich automatisch ein neues Pwdhash-Passwort. Erweiterungen für Chrome und Firefox binden Pwdhash nun quasi nahtlos in die Eingabe von Passwörtern im Browser ein, sodass man kaum mehr Aufwand mit den sicheren Passwörtern hat. Weiterführende Informationen zu Pwdhash findet ihr in einem älteren Artikel von mir hier im Blog. In der Praxis hat sich seit 2006 eigentlich nichts geändert. Lediglich eine Erweiterung für Chrome/Chromium ist hinzugekommen.
Im Zuge meiner Recherche ist mir zudem der Vortrag „Cracking PwdHash: A Bruteforce Attack on Client-Side Password Hashing“ der an der University of Cambridge angesiedelten Forscher David Llewellyn-Jones and Graham Rymer untergekommen, den die beiden Anfang Dezember im Rahmen der Konferenz Passwords 2016 in Bochum gehalten haben. In knapp 40 Minuten legen die Forscher dar, wie sie am Beispiel von drei umfangreichen Leaks der letzten Jahre Pwdhash-gesicherte Passwörter cracken konnten — ohne dass Pwdhash einen wirklichen Schutz bot. Die Schwachstellen von PwdHash liegen zum einen am Verfahren selbst und zum anderen jedoch auch am User.
Video-Link: https://www.youtube.com/watch?v=KKdHj4ur3Qo
Pwdhash nutzt zum Erstellen der gehashten Passwörter lediglich HMAC-MD5 und verzichtet auf ein zusätzliches Salt. Zudem ist das vom User eingegebene Passwort auf real 22 Stellen limitiert und ein paar Eigenarten (etwa dass Passwörter mit einem Kleinbuchstaben am Anfang in einen Hash mit großen Anfangsbuchstaben resultierten, vice versa) erleichtern die Arbeit. Baut man in einen effektiven Passwort-Cracker wie Hashcat nun eine Routine ein, die die per Wörterbuch generierten Passwörter durch Pwdhash jagt, dann lassen sich auf einer nur 65 Cent/h teuren Amazon-EC2-Instanz stolze 2400 MH/s (Million Hashes pro Sekunde) errechnen und somit zu einfach gestrickte Masterpasswörter der User cracken.
Llewellyn-Jones and Rymer haben daher eine erweiterte Version von Pwdhash vorgestellt, die diese Schwachstellen behebt. Der Code ist auf Github zu finden, eine Demo-Implementation analog zur „original“ Pwdhash-Seite gibt es ebenfalls. Der Proof of Concept nutzt PBKDF2-SHA256, erlaubt Passwörter mit mehr als 22 Zeichen und lässt den User ein Salz definieren (das man natürlich auch immer wieder eingeben müsste, was sich jedoch durch Einsatz einer Browsererweiterung mit einer entsprechenden Option vermeiden ließe). Bis dieser Ansatz bei Pwdhash (und den entsprechenden Browser-Erweiterungen) zum Einsatz kommt — wenn überhaupt — sollte man daher sehr genau darauf achten, dass man ein ordentliches Masterpasswort verwendet. Wer „password“ oder „qwertzuiop“ in Pwdhash als Masterpasswort eingibt, ist nicht sicherer unterwegs, nur weil das an beispielsweise google.de übermittelte Passwort „MW7wFvVQST“ heißt.
Zudem sollte man sich öfters mal auf Have i been pwned oder kurz HIBP umsehen, ob die eigene E-Mail-Adresse in einem öffentlich gewordenen Hack auftaucht. Die Seite hat die Datenbanken von 168 (Stand heute) Webseitenleaks indexiert, sodass man sehr leicht nachprüfen kann, ob die eigene E-Mail-Adresse ins Visier von Hackern geraten sein könnte. Wer möchte, kann seine E-Mail-Adresse auch auf der Webseite registrieren und erhält automatisch eine E-Mail, sobald die Adresse in einem von HIBP indexierten Leak auftaucht.
Danke für den Hinweis. Benutze Pwdhash, allerdings trotzdem mit einem soliden Passwort. Von daher müsste ich ja auf der sicheren Seite sein, oder?
Bin vor einer ganzen Weile vom pwdhash auf Pass umgestiegen. Wirkt erst mal unkomfortabler, das täuscht aber: Selbst wer wie ich das Passwort im Terminal generiert profitiert noch davon, dass Passwortlänge und -Stärke steuerbar ist (z.B. kann man für doofe Seiten Passwörter ohne Sonderzeichen erstellen) und dass man immer noch einfach ans Passwort kommt, wenn sich die URL ändert. Außerdem weniger Gerate, ob das Passwort nun mit pwdhash erstellt wurde oder ein normales war (klar, das liegt an einem selbst).
https://bitwarden.com/ sieht wie eine tolle, per default grafische Alternative aus.
Wait what?
Ich danke sehr für diesen Artikel. Ich habe es gerade durch Zufall gefunden.
Pass hatte ich auch bereits mal im test. Es macht vieles einfacher, wenn es auch noch nicht ganz perfekt ist.
Schaut wohl so aus, als müsste ich umsteigen.
Da ich bereits pwned wurde, könnte mein Masterpasswort durchaus in Gefahr sein.
Wer rechnet auch damit, dass ein Dienst wie lastfm das Passwort nicht als hash speichert …
Vielen Dank nochmal und weiter so!