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.
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.



