ADMIN

2023

02

2023-01-31T12:00:00

Endpoint Security

PRAXIS

058

Security-Tipp

Sicherheit

Passwörter

Passwörter mit John the Ripper testen

Leichtes Spiel

von Dr. Matthias Wübbeling

Veröffentlicht in Ausgabe 02/2023 - PRAXIS

Obwohl es heutzutage viele Alternativen zu Passwörtern gibt, setzen sich diese zur Authentifikation von Benutzern nicht wirklich durch. Solange aber Passwörter im Einsatz sind, verwenden Benutzer oft schwache oder bereits geleakte Varianten. Um Firmenkonten zumindest zum Teil vor entsprechenden Angriffen zu schützen, sollten Sie einen Blick auf die hinterlegten Kennwörter Ihrer User werfen. Der Security-Tipp in diesem Monat zeigt, wie Sie dies mit John the Ripper für Ihre regelmäßigen Pentests umsetzen.

Der Faktor "Wissen" ist nach wie vor der dominierende bei der Authentisierung von Benutzern. Im Gegensatz zu den anderen Faktoren "Besitz" und "Biometrie" lässt sich ein gewähltes Passwort in gewissem Maße auch vor Diebstahl schützen. Genauso wie die beiden anderen Faktoren hat aber das Passwort ein Problem: Kennt ein Angreifer das Kennwort als Komponente bereits oder stiehlt er es, bietet es keinen Schutz mehr. Um an Zugangsdaten zu gelangen, greifen Cyberkriminelle daher zu unterschiedlichen Tricks.
Mit der Brechstange
Schwache Passwörter sind in aller Munde. Als Verantwortlicher haben Sie mit Passwortrichtlinien etwa in Ihrem Active Directory die Möglichkeit, Angreifern das Leben etwas schwerer zu machen. Bei Bruteforce-Attacken probiert ein Angreifer alle möglichen Zeichenkombinationen für ein Passwort gegen ein Authentifikations-Backend oder gleicht dieses mit einer Liste gehashter Passwörter ab. Gegen derartige Angriffe geschützte Kennwörter sind möglichst lang und setzen sich aus einer großen Auswahl an möglichen Zeichen zusammen (Entropie). Das erhöht die Anzahl der möglichen Passwörter, die ein Angreifer ausprobieren muss.
Die Macher von Dropbox bieten ein Open-Source-Tool mit dem etwas holprigen Namen "zxcvbn" für unterschiedliche Programmiersprachen an [1]. Damit bestimmten Sie die Güte eingegebener Passwörter, ausgehend von unterschiedlichen Ansätzen, um solche Kennwörter zu knacken. Dabei werden auch verschiedene, aber häufig genutzte Variationen wie etwa "L33t-Speak" berücksichtigt.
Der Faktor "Wissen" ist nach wie vor der dominierende bei der Authentisierung von Benutzern. Im Gegensatz zu den anderen Faktoren "Besitz" und "Biometrie" lässt sich ein gewähltes Passwort in gewissem Maße auch vor Diebstahl schützen. Genauso wie die beiden anderen Faktoren hat aber das Passwort ein Problem: Kennt ein Angreifer das Kennwort als Komponente bereits oder stiehlt er es, bietet es keinen Schutz mehr. Um an Zugangsdaten zu gelangen, greifen Cyberkriminelle daher zu unterschiedlichen Tricks.
Mit der Brechstange
Schwache Passwörter sind in aller Munde. Als Verantwortlicher haben Sie mit Passwortrichtlinien etwa in Ihrem Active Directory die Möglichkeit, Angreifern das Leben etwas schwerer zu machen. Bei Bruteforce-Attacken probiert ein Angreifer alle möglichen Zeichenkombinationen für ein Passwort gegen ein Authentifikations-Backend oder gleicht dieses mit einer Liste gehashter Passwörter ab. Gegen derartige Angriffe geschützte Kennwörter sind möglichst lang und setzen sich aus einer großen Auswahl an möglichen Zeichen zusammen (Entropie). Das erhöht die Anzahl der möglichen Passwörter, die ein Angreifer ausprobieren muss.
Die Macher von Dropbox bieten ein Open-Source-Tool mit dem etwas holprigen Namen "zxcvbn" für unterschiedliche Programmiersprachen an [1]. Damit bestimmten Sie die Güte eingegebener Passwörter, ausgehend von unterschiedlichen Ansätzen, um solche Kennwörter zu knacken. Dabei werden auch verschiedene, aber häufig genutzte Variationen wie etwa "L33t-Speak" berücksichtigt.
Wörterbücher und Phishing
Das Bruteforcing gehashter Passwörter ist zwar in den letzten Jahren, vor allem dank Nvidias CUDA und anderer spezialisierter Hardware, immer schneller geworden, doch genügt dies allein nicht, um in realistischer Zeit das Kennwort eines Accounts zu knacken. Kriminelle verwenden daher zumeist Wörterbücher mit häufig benutzten Passwörtern. Forschungseinrichtungen und spezialisierte Dienstleister veröffentlichen meist jährlich die Toplisten der meist verwendeten Passwörter. Von "Passwort" bis "Schalke" ist hier alles dabei. Am Ende entscheiden also die Qualität des Wörterbuchs und die Frage, ob Benutzerpasswörter in den Wörterbüchern enthalten sind, über den Erfolg eines Angriffs.
Besonders einfach haben es Angreifer allerdings dann, wenn die Benutzer ihnen die Passwörter selbst mitteilen. Um an die Zugangsdaten von Mitarbeitern zu gelangen, werden gezielt auf Unternehmen angepasste Phishing-Kampagnen durchgeführt. Angreifer locken damit die Mitarbeiter auf authentisch wirkende Login-Formulare, wo die Mitarbeiter, oft vorgeblich zur Absicherung des eigenen Accounts, persönliche Daten und das aktuelle Passwort angeben.
Auch solche Zugangsdaten, die von gehackten Diensten entwendet wurden, sind eine Bedrohung für die Sicherheit Ihrer Infrastruktur. Mehr als 60 Prozent der Benutzer verwenden Passwörter nämlich für mehrere Accounts. Dabei verschwimmen private und berufliche Grenzen, ein Benutzer wählt am Ende doch ein einfach zu merkendes Passwort.
Passwort-Pentest
Eine Möglichkeit herauszufinden, wie sicher die Passwörter Ihrer Benutzer sind, ist die Benutzung des Pentesting-Werkzeugs John the Ripper [2], entwickelt vom Openwall-Projekt. Unter Linux können Sie damit etwa die Passwörter der Shadow-Datei Ihres Systems überprüfen. Starten Sie dafür John mit folgendem Kommando:
john /etc/shadow
Das Tool erkennt das Format der Shadow-Datei und beginnt nun damit, die Passwörter in der Datei "/etc/john/password.lst" mit den Salts der Benutzer zu hashen und die Werte zu vergleichen. Gibt es keinen Treffer, verwendet John die Passwörter in der Datei als Basis für weitere generierte Passwortvariationen und testet damit weiter. Das Ganze läuft dann so lange, bis alle Hashes in der Datei geknackt wurden oder Sie den Prozess abbrechen. Einen Beispieldurchlauf sehen Sie im Bild unten.
Von John the Ripper erkannte Passwörter eines Linux-Systems.
John kann auch die in der Windows-Welt verwendeten NTLM-Hashes prüfen. Um diese in einer Datei bereitzustellen, können Sie das als "Hacker-Tool" bekannte Programm Mimikatz [3] verwenden. Beachten Sie dabei, dass Ihr (hoffentlich) aktiver Virenscanner das Programm nach dem Kompilieren als Schadsoftware einstufen wird. Die Datei mit den NTLM-Hashes aus Mimikatz können Sie John einfach als Eingabe präsentieren, auch das Hash-Format wird automatisch erkannt.
Die richtige Passwortliste
Der Erfolg beim Testen der Hashes hängt maßgeblich mit der zur Verfügung stehenden Passwortliste zusammen. Natürlich können Sie einfach die mitgelieferte Liste verwenden und im Anschluss die Passwörter per Bruteforce ausprobieren. Da John die Möglichkeit bietet, das Ganze mittels CUDA auf Grafikkarten durchzuführen, lassen sich hier bei Passwörtern mit weniger als zehn Zeichen auch in annehmbarer Zeit durchaus gute Ergebnisse erzielen.
Da Benutzer privat wie beruflich dazu neigen, Passwörter zu wählen, die einfach zu merken sind und diese dann auch an unterschiedlichen Stellen verwenden, gibt es unter Umständen deutlich bessere Passwortlisten, die Sie verwenden können. Die Entwickler von John stellen Ihnen eine kostenpflichtige Version bereit. Über das OpenSuse-Projekt erhalten Sie diese deutlich umfangreichere Liste kostenfrei [4]. Klicken Sie dafür auf "Grab binary packages directly" und wählen von den möglichen Optionen das unter "Standard" gelistete "john-wordlists"-Source-RPM aus. Starten Sie anschließend die folgenden Kommandos (am Beispiel der Version 1-6.48), um die Liste zu entpacken:
rpm2tar john-wordlists-1-6.48.src.rpm
tar -xf john-wordlists-1-6.48.src.tar
 
tar -xjf john-wordlists-1.tar.bz2
Nun finden Sie im Ordner "john-wordlists-1" die Datei "all", die mit knapp vier Millionen Einträgen häufig verwendeter Passwörter deutlich größer ist, als die bei John mitgelieferte Datei mit etwas weniger als 4000 Einträgen. Troy Hunt, der Erfinder von "Have I Been Pwned", bietet über die Webseite eine etwa 18 GByte große Datei mit geleakten Passwörtern an [5]. Diese zu durchlaufen, gleicht vom Umgang allerdings schon fast dem Aufwand eines Bruteforces, allerdings sind hier auch deutlich längere Passwörter enthalten.
Um noch bessere Ergebnisse zu erhalten, sollten Sie weitere Einträge zu der Liste hinzufügen. Bewährt haben sich hier etwa die Namen der Mitarbeiter, der Name Ihres Unternehmens, aber auch die Namen von Firmenkunden oder Partnern. Beachten Sie dabei aber zu Ihrer eigenen Sicherheit die gesetzlichen Vorgaben des Datenschutzes. Wenn Sie einfach verfügbare Listen existierender Vornamen [6] hinzufügen, sollte das aber unkritisch sein.
Automatisierte Prüfungen
Es gibt spezialisierte Securityanbieter, die Ihnen die mühsame Arbeit der manuellen Passwortprüfungen abnehmen. Die Tools versprechen eine kontinuierliche Prüfung der in Ihrem Unternehmen verwendeten Logindaten. Von Online-Überprüfungen bis hin zu datenschutzfreundlichen Varianten, die innerhalb Ihrer eigenen Infrastruktur laufen, ist hier fast alles dabei. So können Sie unmittelbar die in Ihrem Active Directory gespeicherten Passwörter daraufhin prüfen, ob diese laut "zxcvbn" als unsicher gelten oder ob die genutzten Passwörter bereits in Datenleaks enthalten sind und damit eine unmittelbare Bedrohung existiert.
Die automatisierte Prüfung hat noch einen weiteren Vorteil: Im Gegensatz zum manuellen Vorgehen mit Tools wie John the Ripper erhalten Sie bei einem automatisierten Verfahren keinen direkten Einblick in die von Ihren Kollegen verwendeten Zugangsdaten. Davor sollten Sie sich in Ihrem eigenen Interesse schützen, um nicht an derart vertrauliche Informationen zu gelangen.
Fazit
Die verwendeten Passwörter in Ihrem Unternehmen haben maßgeblichen Einfluss auf die Sicherheit Ihrer Infrastruktur. Dabei sind die Angriffswege auf ebensolche Zugangsdaten vielfältig. Der Security-Tipp in diesem Monat hat Ihnen mit John the Ripper ein Werkzeug vorgestellt, mit dem Sie im Rahmen von Pentesting-Maßnahmen die Sicherheit verwendeter Passwörter in Ihrer Infrastruktur überprüfen können. Damit filtern Sie zumindest einfach zu erratende oder zu berechnende Passwörter heraus.
(dr)
Link-Codes
[2] John the Ripper: https://www.openwall.com/john/