Dieser Artikel lag einige Jahre im Entwurfsordner und ist ggf. nicht mehr aktuell
Vor einigen Wochen las ich einen Artikel über EncFS: Dateiverschlüsselung im Userspace? Funktioniert mit Android? Perfekt für Cloud-Anwendungen! Einige Minuten später war das Tool installiert und die Dateien verschlüsselt. Sicher, oder? Definitiv. Es kam wie es kommen musste: Nach dem letzten Neustart meines PCs das große Fragezeichen: Wie war nochmal das Passwort? Zwar keine all zu wichtigen Dateien, allerdings liegen die ursprünglichen auf einem Laptop, der grade nicht da ist und die Backups – nunja, Bänder dauern. Also auf in den Kampf:
Schritt 1: Wo schwächelt es
Nunja, EncFS setzt auf gut abgehangene Algorithmen – dort auf Schwachstellensuche zu gehen dürfte aussichtslos sein.
Schritt 2: Gewalt ist eine Lösung
Wordlist, PHP, Go – ein kleines Script rückte encfs auf den Leib: Sicher nicht die schnellste Methode, aber bei über 3 Sekunden bis encfs eine Fehlermeldung spuckt käme vermutlich keine Scriptsprache ins Schwitzen. Primitives Multithreading verkürzt die Zeit da schon eher, so laufen dann einige Wörten in diversen Kombinationen durch die Wordlist – ein Testpasswort kann ja nicht zu schwer sein
Schritt 3: Da war ja was
Da der PC beschäftigt ist mal schnell am Server noch Updates machen – moment… Server? Aha – hier ist das EncFS noch geöffnet! Die Daten wären also spätestens jetzt gerettet (aber als braver Admin habe ich natürlich ohnehin ein Backup). Trotzdem: EncFS muss brechen. Die einfachste Methode: Passwort ändern. Keine Chance, hierzu wird das alte Kennwort erneut abgefragt. Schade drum.
Schritt 4: Wo gehobelt wird gibt’s einen Müllsack
Aber denken wir mal logisch: Wenn ich auf die Daten zugreifen kann muss der Key irgendwo sein. Das /proc-Dateisystem gibt schnell Zugriff auf die relevanten Speicherbereiche*, das Tool strings fördert lesbares hervor. Allerdings kein Kennwort. Nunja, Versuch war es wert.
* Der Support für die nötigen Funktionen wurde offenbar aus Sicherheitsgründen aus dem Kernel entfernt, entsprechend muss man bei neueren Kerneln ggf. selbst Hand anlegen.
Schritt 5: Faulheit obsiegt
Ich hab die Daten, ich bin Faul. Also: Neuen Ordner angelegt, neues Kennwort vergeben und die alten Daten neu Synchronisieren. Der ISP flucht, ich hab ruhe
Schritt 6: Geduldige sind schneller fertig
Kopiervorgang bei knapp 50% und es kommt, was kommen musste: Schritt 2 meldet ein vergnügtes „lamepassword“. Ich sollte weniger hak5 gucken. Und bessere Passwörter holen.