Schwache Passwörter ermitteln und sichere wählen

Aus LinuxUser 07/2009

Schwache Passwörter ermitteln und sichere wählen

© sxc.hu

Tag der offenen Tür

Nicht selten verwenden Anwender viel Zeit für das Absichern ihres Rechners und übersehen dabei die größte aller Sicherheitslücken: Schwache Passwörter.

Rechtlicher Hinweis

Die in diesem Artikel beschriebenen Programme dürfen Sie ausschließlich dazu verwenden, um die Sicherheit des eigenen Systems zu prüfen um eventuelle Schwachstellen zu ermitteln. Der Einsatz außerhalb dieses Rahmens verbietet der “Hackerparagraf” (§ 202c BGB).

Ob Mail-Konto, Ebay-Account oder das System-Login: Passwörter sind in der IT-Welt allgegenwärtig und in vielen Fällen unverzichtbar. Doch selbst erfahrene Anwender wählen nur zu oft einfache Passwörter, die es Angreifern ermöglichen, sie durch simples Erraten zu knacken. Ganz vorne in der Rangliste stehen die eigenen Namen und die der Familienangehörigen oder Haustiere, oft auch in Kombination mit Teilen des Geburtsdatums. Welche Konsequenzen ein solch leichtsinniges Handeln nach sich ziehen kann, wissen eine Heerschar von Ebay-und Amazon-Kunden zu berichten, über deren Konten Fremde bestellt oder geboten haben. Abhilfe schafft in erster Linie die Sensibilisierung und Information über dieses Thema.

Passwörter unter Linux

Die meisten modernen Linux-Systeme speichern nicht die Passwörter selbst, sondern die Hashes, also die Quersummen davon, in der Datei /etc/shadow. Je nach verwendeter Distribution kommt MD5, Blowfish oder SHA-256/512 zum Einsatz, um diese zu erzeugen. Welchen Algorithmus Ihr System verwendet, verraten die ersten Zeichen zwischen den $ im Passwort: So zeigt beispielsweise $2a$ an, dass Blowfish verwendet wurde, $1$ steht für MD5, $5$ für SHA-256 und $6$ für SHA-512. Zudem versehen moderne Linux-Systeme die Passwörter mit einem so genannten Salt. Dabei handelt es sich vereinfacht dargestellt um einen zufällig gewählten Wert, der vor dem Erstellen des Hashes an das Klartextpasswort angehängt wird.

Der MD5-Hash des Passworts test ergibt immer den Wert d8e8fca2dc0f896fd7cb4cb0031ba249. Durch das Salt entsteht hingegen immer ein neuer Hash, der Angriffe deutlich erschwert. Das bedeutet im Rückschluss: Würde das System die Passwörter nicht “salzen”, könnten entsprechende Programme die Werte mit in Wörterbüchern hinterlegten Strings vergleichen. So muss ein Angreifer Passwort für Passwort auf dem System ausprobieren, was die Verarbeitungszeit wesentlich verlängert. Aber auch das Salt schützt Passwörter nur bedingt davor, dechiffriert zu werden. Darauf spezialisierte Programme prüfen mit verschiedenen Methoden verschiedene Passwörter und ermitteln zu kurze oder zu leichte in Sekundenschnelle.

Allerdings besitzt im laufenden System nur der Benutzer root direkten Zugriff auf die Passwortdatei /etc/shadow. Hat der Angreifer aber lokalen Zugriff auf den Rechner, ist es für ihn in der Regel ein Leichtes, an diese Datei zu gelangen.

Risiko lokaler Zugriff

Die meisten Linux-Systeme stehen lokalen Zugriffen mehr oder weniger schutzlos gegenüber. Oftmals reicht es aus, die Distributionen im Recovery-Mode zu starten, um sämtliche Zugriffsbeschränkungen darauf auszuhebeln. Drücken Sie etwa beim Booten von Ubuntu [Esc], gelangen Sie ins Bootmenü. Wählen Sie darin den zweiten Eintrag Ubuntu (recovery mode), so startet die Distribution im Rettungsmodus. Wählen Sie im erscheinenden Recovery Menu den Eintrag root, öffnet sich eine Root-Shell mit vollem Zugriff auf das System. Sollten Sie das Root-Passwort eines Systems vergessen haben, eignet sich dieser Zugang auch, um es zurückzusetzen: Öffnen Sie mit einem beliebigen Texteditor die Datei /etc/shadow und navigieren Sie zum Eintrag des gewünschten Benutzers. Löschen Sie dann die Zeichenkette nach dem ersten und vor dem zweiten Doppelpunkt. Der nächste Login erfolgt ohne Passwortabfrage.

Den Zugriff auf lokale Dateien erlaubt auch Grub dank der integrierten Shell, die Sie mit [C] am Boot-Prompt öffnen. Tippen Sie beispielsweise cat /etc/shadow (Abbildung 1), erscheint der Inhalt der Passwortdatei wie in einem normalen Terminal. Der Angreifer muss entsprechend nur noch den gewünschten Passwort-String abschreiben, um ihn danach mit Passwortcrackern zu bearbeiten.

Abbildung 1: Die in Grub integrierte Shell ermöglicht schon vor dem Booten den Zugriff auf lokale Dateien.

Abbildung 1: Die in Grub integrierte Shell ermöglicht schon vor dem Booten den Zugriff auf lokale Dateien.

Um das zu verhindern, bietet Grub einen Passwortschutz. Der tritt jedoch nicht beim Booten des Systems in Erscheinung, sondern erfordert lediglich eine Authentifizierung beim Ändern der Bootoptionen oder Öffnen der Grub-Shell. Um ihn einzurichten geben Sie in der Konsole grub-md5-crypt und danach das gewünschte Passwort ein. Daraufhin erscheint der generierte Passwort-Hash. Öffnen Sie jetzt die Grub-Konfigurationsdatei /boot/grub/menu.lst und ergänzen Sie die globale Sektion um den Eintrag password --md5 "verschlüsseltes Passwort", beispielsweise password --md5 $1$cGuo0/$4zZYZ0jzrOFt.hAzBkinr0.

Dieser Schutz lässt sich jedoch relativ leicht umgehen, indem Sie eine Live-Distribution wie Knoppix oder Slax auf dem Rechner starten. Hier hilft der wesentlich effizientere Schutz, das System mit DM-Crypt zu verschlüsseln. Dieses nicht ganz trivialen Themas nimmt sich der Artikel “Geheime Niederschrift” unserer Schwesterzeitschrift Linux-Magazin in Ausgabe 08/2005 an [1]. Eine einfachere Methode besteht darin, das BIOS mit einem Passwort zu versehen und Wechseldatenträger als Bootmedien zu deaktivieren.

Gestatten: John

Das am häufigsten genutzte Programm, um Passwörter auf ihre Sicherheit zu überprüfen, nennt sich “John the Ripper” [2]. Es eignet sich sowohl für Brute-Force- als auch Wörterbuchattacken, mit denen Sie relativ zügig schwache Passwörter ermitteln. Die kostenfreie Variante steht auf der Projektseite zum Download bereit. Sie unterstützt derzeit aber keine Multi-Core-Prozessoren und arbeitet entsprechend immer nur auf einem Kern.

Um beispielsweise die Login-Passwörter Ihres lokalen Linux-Systems zu überprüfen, genügt der Aufruf john /etc/shadow als Benutzer Root. Als Ziel eignet sich jede beliebige Textdatei, die Password-Hashes enthält. Ohne Angaben startet John zuerst den Single-Crack-Modus, danach verwendet er Wordlisten, und am Schluss folgt der inkrementelle Modus. Bei dieser klassischen Brute-Force-Methode probiert das Programm alle möglichen Zahlen- und Zeichenkombinationen durch, während es im Single-Crack-Modus Abwandlungen des Benutzernamens testet (Abbildung 2).

Mit die effektivste Methode, unsichere Passwörter zu identifizieren, stellen so genannte Wörterbuchattacken dar. Bei solchen Wörterbücher handelt es sich im Regelfall um Textdateien, die hunderttausende verschiedene Wörter und Wortkombinationen enthalten, die das Programm mit den gespeicherten Passwörtern vergleicht. Viele davon stehen im Internet zum freien Download bereit, eine kleine Auswahl bietet die John-the-Ripper-Website Openwall selbst an [3]. Mit dem Aufruf john /etc/shadow -wordlist:/Pfad/zur/Wortliste weisen Sie das Tool an, die Passwortdatei mit der angegebenen Wortliste zu überprüfen.

Abbildung 2: Schwache Passwörter ermitteln darauf spezialisierte Passwort-Cracker wie "John the Ripper" in kürzester Zeit.

Abbildung 2: Schwache Passwörter ermitteln darauf spezialisierte Passwort-Cracker wie “John the Ripper” in kürzester Zeit.

Um das Checken von Passwörtern einer Datei auf mehrere Sitzungen zu verteilen, besitzt John einen Session-Modus: Starten Sie das Tool mit john -session:audit /etc/passwd, so speichert es beim Beenden den aktuellen Status. Ein erneuter Aufruf mit john -restore:audit veranlasst die Applikation, an der Stelle weiterzumachen, an der sie beendet wurde.

Auch mit intelligenten Methoden, wie sie John anwendet, kann sich das Entschlüsseln von Passwörtern auf Tage und Wochen hinziehen und ist keineswegs immer von Erfolg gekrönt. Der entscheidende Vektor ist hier zum einen die Stärke des Passworts und zum anderen der zum Hashen verwendete Algorithmus.

Sicher sicher?

Generell richtet sich die Stärke von Passwörtern immer nach dem aktuellen Stand der Technologie. Galten vor 15 Jahren Passwörter mit sechs Zeichen noch als sicher, sollten es heute mindestens acht, besser zehn sein. Das liegt in erster Linie an der gestiegenen Leistung der Prozessoren, die heute wesentlich mehr Rechenoperationen ausführen als früher. Ein weiterer Aspekt, der über die Sicherheit eines Passwort entscheidet, ist sein Einsatzzweck: Je interessanter der Inhalt ist, den das Passwort schützt, desto höher die Motivation des Angreifers, es zu entschlüsseln.

Wie ein Passwort aussehen muss, damit es nach heutigen Gesichtspunkten als sicher gilt, zeigen die folgenden Regeln:

  • Länge: Mindestens acht, besser zehn oder mehr Zeichen.
  • Zusammensetzung: Kombination aus Groß- und Kleinbuchstaben sowie Zahlen und Sonderzeichen.
  • Keine Doppler: Das Mehrfachverwenden von Zeichen vermeiden.
  • Keine auf der Tastatur zusammenhängenden Zeichen: Vermeiden Sie Kombinationen wie AdSf oder vBnm.
  • Keine gängigen Wörter: Keine Wörter oder Teile davon, die im Sprachgebrauch oder Lexika.
  • Passwörter nur für einen Zweck: Verwenden Sie ein Passwort stets nur für einen Zweck, niemals für mehrere.
  • Keine persönlichen Informationen: Persönliche Informationen, egal welcher Art, haben in Passwörtern nichts verloren.
  • Passwörter regelmäßig wechseln: Wechseln Sie gerade beim Schutz sensibler Informationen mindestens alle zwei Monate das Passwort.

Ein Passwort, das den genannten Ansprüchen genügt, sähe etwa so aus: 2a&Eln+9v!x0. Es ist jetzt zwar sicher, aber schwer zu merken. Einfacher geht es mit Eselsbrücken. Ein Beispiel: “Meine Katze hat schwarzes Fell” eignet sich beispielsweise für meKah1s&feL.

Wem das zu mühsam ist, der verwendet so genannte Passwortgeneratoren. Sie erzeugen das Passwort automatisch aus verschiedenen Parametern wie Länge und Zusammensetzung. Das Kommandozeilenprogramm Pwgen gehört zur Grundausstattung moderner Distributionen. Die Eingabe ohne Parameter erzeugt 160 Passwörter mit 8 Zeichen Länge, aus denen Sie das aussuchen, das Sie sich am besten merken können. Wer eine grafische Konfiguration vorzieht, verwendet den Java Password Generator [4], den Sie auch auf unserer Heft-DVD finden.

Falle Netzwerk

Das beste Passwort erweist sich als nutzlos, wenn der Angreifer es beim Übertragen über das Netzwerk im Klartext mitliest. Viele dort eingesetzte Protokolle, etwa Telnet, POP3, SMTP, FTP, NFS oder HTTP versenden die Informationen unverschlüsselt übers Netz – das gilt auch für die Zugangsdaten. In so genannten Diffusionsnetzen, in denen Hubs die Rechner untereinander verbinden, reicht es aus, auf einem davon einen Sniffer zu starten, um alle Daten zu protokollieren. Darauf spezialisierte Programme wie Dsniff [5] (Abbildung 3) filtern aus dem Netzwerkverkehr nur die Zugangsdaten und zeigen sie an.

Abbildung 3: Auf das Ausspähen von Passwörtern spezialisierte Programme wie "Dsniff" protokollieren in Windeseile alle übers Netzwerk übertragenen Passwörter.

Abbildung 3: Auf das Ausspähen von Passwörtern spezialisierte Programme wie “Dsniff” protokollieren in Windeseile alle übers Netzwerk übertragenen Passwörter.

Anders sieht die Sache bei geswitchten Netzen aus. Hier übernimmt der Switch die Aufgabe, Pakete über den Port zu versenden, an den das Empfangesgerät angeschlossen ist. Allerdings lassen sich gerade günstigere Geräte verhältnismäßig einfach mittels MAC Flooding in den Broadcast-Modus versetzen, womit sie die Pakete wieder an alle Ports verteilt.

Weitaus diffiziler arbeitet dagegen die Technik des ARP-Poisoning. Rechner A gibt dabei mit dem Verteilen einer gefälschten MAC-Adresse vor, Rechner B zu sein. Baut Rechner C nun eine Verbindung zu Rechner B auf, landet er, ohne es zu merken bei Rechner A. Vorzugsweise übernimmt der Angreifer die Rolle des Routers, und leitet eingehende Verbindungen an den echten B weiter. Da aber der gesamte Netzwerkverkehr über ihn läuft, ist er damit auch in der Lage, sämtliche übertragenen Passwörter mitzuschneiden. Darauf spezialisierte Programme wie Ettercap [6] vereinen alle für solche Attacken notwendigen Mechanismen.

Zwar lässt sich dieses Risiko nicht komplett ausschalten, aber doch reduzieren. Zum einen helfen Managed-Switches dabei, dass Pakete auch nur beim Zielhost landen. Zum anderen erschwert das Verwenden verschlüsselter Protokolle wie HTTPS, SSH, APOP, oder SFTP das Ausspähen der Zugangsdaten erheblich.

Glossar

MAC Flooding

Bei dieser Technik sendet der Angreifer so lange gefälschte ARP-Broadcasts ins Netz, bis die ARP-Tabelle des Switches voll ist, und dieser in den Broadcast-Modus schaltet.

Infos

[1] DM-Crypt: Markus Schuster, Clemens Fruhwirt, “Geheime Niederschrift”, Linux-Magazin 10/2008, S. 28, http://www.linux-magazin.de/heft_abo/ausgaben/2005/08/geheime_niederschrift

[2] John the Ripper: http://www.openwall.com/john/

[3] Openwall-Wortlisten: ftp://ftp.openwall.com/pub/wordlists/

[4] Java Password Generator: http://sourceforge.net/projects/javapwordgen/

[5] Dsniff: http://monkey.org/~dugsong/dsniff/

[6] Ettercap: http://ettercap.sourceforge.net

LinuxUser 07/2009 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

2 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Der Schlüsselmacher
16 Jahre her

Toller Beitrag, allerdings fehlt beim sechsten Link das “t” von “.net”.
Gruss
keymaker ;-)

Marcel Hilzinger
16 Jahre her

Danke, korrigiert.

Nach oben