Hacker veröffentlicht Source Code für KeeFarce – einem Tool zum extrahieren von KeePass-Informationen

Artikel_KeePassSchlechte Nachrichten für Nutzer des Passwort-Managers KeePass. Der Hacker und Forscher für das neuseeländische Sicherheitsberatungsunternehmen „Security Assessment“ namens Denis Andzakovic hat jüngst den Quellcode für das Tool KeeFarce veröffentlicht, ein Tool, welches sämtliche Informationen innerhalb von KeePass mühelos auslesen kann – vorausgesetzt der attackierte Nutzer ist aktuell in KeePass eingeloggt. Und damit sind wirklich alle Informationen gemeint wie Nutzernamen, Passwörter, Notizen oder URLs, die im Anschluss im Klartext als CSV exportiert werden können.

Aktuell bestätigt Andzakovic das Extrahieren von Informationen von KeePass in den Versionen 2.28, 2.29 sowie 2.30 unter Windows 8.1 (32 bit und 64 bit). Das Tool soll jedoch auch unter älteren Windows-Versionen laufen.

In der Theorie könnte ein Hacker sogar weitergehen, als nur die Daten zu extrahieren. Gegenüber Ars Technica sagte Andzakovic, dass ein Angreifer theoretisch – sobald er Admin-Zugang zu einer Domain erlangt – auch auf Netzwerk-Hardware zugriff erlangen könnte. Um die Software KeeFarce zum Laufen zu bringen, muss der Angreifer jedoch erst einmal Zugriff auf den Rechner erlangen. Doch das entschärft die Situation sicherlich nur geringfügig.

(via Net Security / Danke Patrik!)

Update Carsten Knobloch: Um die Verwirrung hoffentlich etwas zu entketten: Es geht hier im Beitrag nur um den Inhalt, dass der Source eines solchen Tools in die Freiheit entlassen wurde und einfach kompiliert und ausgenutzt werden kann. Das Problem liegt nicht im eigentlichen KeePass (das meines Erachtens beste kostenlose Tool seit vielen Jahren), dennoch dient es als schlechtes Beispiel, wie Kollege Marco Götze in seinem Blog auch beschrieben hat. Dass ein Nutzer weitaus größere Probleme hat, wenn ein solches Tool auf seinem Rechner zum Einsatz kommt, das steht ebenfalls außer Frage. Lange Rede, kurzer Sinn: es gibt keinen Grund, KeePass nun weniger zu vertrauen.

getkey_big

Gefällt dir der Artikel? Dann teile ihn mit deinen Freunden.

Avatar-Foto

Nerdlicht in einer dieser hippen Startup-Städte vor Anker. Macht was mit Medien... Auch bei den üblichen Kandidaten des sozialen Interwebs auffindbar: Google+, Twitter, Xing, LinkedIn und Instagram. PayPal-Kaffeespende an den Autor.

Neueste Beiträge

Mit dem Absenden eines Kommentars stimmst du unserer Datenschutzerklärung und der Speicherung von dir angegebener, personenbezogener Daten zu.

86 Kommentare

  1. Zitat: „vorausgesetzt der attackierte Nutzer ist aktuell in KeePass eingeloggt“

    Wie bitte was? Wer hat denn da das Rad neu erfunden? Natürlich kann man Zugriff erlangen, wenn man direkten Zugriff auf einen PC erlangt und auch noch Admin-Rechte hat. Ich nutze zwar 1PW (ist weniger kommerziell als KeePass), aber wenn ich das Tool gesperrt habe, ein Hacker, sodenn er überhaupt an der Hardwarefirewall vorbeikommt, in das Windows-Benutzerkonto (natürlich ohne Adminrechte) rutschen sollte, kann er mit meiner IMO blowfish-verschlüsselten 1PW-db genauso wenig anfangen, wie im Falle KeePass. Und selbst wenn der Hacker soweit in mein System käme, würde sein Passwort-Knacker bei meinem 16-stelligen PW mit Zahlen, Groß-/Kleinbuchstaben und Sonderzeichen…ähmm…wie viele hundert Jahre brauchen? Ich denke, sein Tool würde ihn selbst überdauern 🙂

    Wenn ich aber die DB offen habe und das Windows-Konto Admin-Rechte hat, braucht ein Hacker auch kein Toll wie KeeFarce zum Ausbuddeln der Daten. Da reicht auch ein CSV-Export 🙂

    Von daher, man korrigiere mich bitte, lehne ich mich beim Lesen dieser Panikmache doch entspannt zurück und wäge mich halbwegs in Sicherheit 🙂

  2. Frage an die Profis: Angenommen es hat jemand von außen Zugriff auf den PC und man hat seine *.kdb Datei geöffnet,….würde es helfen wenn KeePass in einer virtuellen Umgebung aufruft?

  3. Hey, ich hab noch eine Lücke gefunden:
    http://keepass.info/plugins.html#formfiller
    Wenn ein Angreifer Zugriff zum Rechner hat, kann er damit (Keeform, Keefox) sich auch die Datenbankeinträge auslesen.
    Hat ungefähr das gleiche Niveau. Es ist keine Lücke bei Keepass, was hier beschrieben wird. Wenn jemand bereits auf dem System vorliegt, hat er Zugriff auf alles, was freigeschaltet ist.
    Das wäre, als würde man behaupten, Truecrypt/Veracrypt sei unsicher, weil wenn man die Platte entschlüsselt hat, hätte jemand mit Systemzugriff auch Zugriff auf die Verschlüsselung.

    @Pascal:
    Das Tool, wie Du es nennst, benötigt Systemzugriff. Eine Lücke wäre es, wenn jemand durch Keepass Systemzugriff erlangen würde oder aber die DB auslesen könnte ohne daß der Benutzer sie entsperrt hätte. Deswegen solltest Du die konstruktive Kritik (ist sicher nicht alles konstruktiv) ruhig zu Herzen nehmen, jeder macht mal Fehler.

  4. „Desweiteren entschlüsselt ein vernünftiger Passwortmanager erst einmal nicht alle Passwörter auf einmal, sodass ich auch erst einmal nicht alle klauen kann, hat also schon seine Vorteile.“

    Doch, tut er… eine geöffnete KeePass-Datenbank ist so gesehen nichts anderes als ein gemounteter TrueCrypt-Container. Sobald das Masterpasswort drin ist, sind die Daten offen. Bedenkt man Funktionen wie die – ja erwünschte – Funktion zum Export der Daten oder die durch APIs realisierten Browsererweiterungen, die unter anderem natürlich auch die Möglichkeit haben müssen, in den Datenbankfeldern zu suchen, macht das ja auch eigentlich Sinn. Und da die Passwörter in der gleichen Datenbank ja auch alle mit dem gleichen Schlüssel verschlüsselt, würde ein separates Entschlüsseln erst beim Zugriff auf einen bestimmten Eintrag auch nicht wirklich viel Sinn machen, sondern nur den Funktionsumfang und der Performance schaden.

    Weshalb man hier, meiner Meinung nach zurecht, den Artikel kritisiert, ist, weil er wirklich reißerisch formuliert ist. Die Überschrift hätte nämlich genauso gut lauten können „Hacker hat ein neues Export-Tool für KeePass geschrieben“, denn faktisch ist das hier nichts anderes. Eine Alternative Headline wäre „Überraschung: Hacker die vollen Zugriff auf euren Rechner haben, können eure Passwörter auslesen – und sogar Solitär starten“. Hätte nur beides nicht so gut und spektakulär geklungen wie jetzt eine riesige Lücke in einem bis dahin als sicher geltenden Passwortmanager zu suggerieren. In sofern ist das auch nicht wirklich mit der LastPass-Sache zu vergleichen.

  5. @Holgi:
    Wenn jemand vollen Zugriff auf deinen PC hat, kann er auch darauf laufende VMs kompromittieren. Immerhin hat er ja vollen Zugriff auf die Virtuelle Festplatte, den Speicher… Theoretisch, das ist natürlich schon ein gezielter Angriff.

  6. ich hab ein tool entwickelt, welches geld von jedem bankkonto der welt plündern kann. vorausgesetzt der besitzer ist beim online banking eingeloggt und hat seine tan nummer für die überweisung schon eingetragen.

  7. @2cent: Hmm, dann muss man halt einfach weiter aufpassen das eben keiner Zugriff von außen auf das System bekommt, oder eben den Stecker ziehen. Mehr bleibt dann vorerst nicht übrig.

  8. pommesmeister says:

    Um die Software KeeFarce zum Laufen zu bringen, muss der Angreifer jedoch erst einmal Zugriff auf den Rechner erlangen. Doch das entschärft die Situation sicherlich nur geringfügig.

    Das entschärft die Situation komplett. Fehlt dir das Technische Hintergrundwissen oder war der letzte Satz ein versehen ?

  9. DatGoogleGuy says:

    @Holgi & @2cent

    Holgis Frage hat mich auch schon öfter beschäftigt. Ich habe dann etwas gegooglet und bin auf „Qubes OS“ gestoßen – ein linuxbasiertes Host-System für virtuelle Maschinen. Wenn ich mich richtig erinnere, dann ist Qubes OS so konfiguriert, dass das Host-System KEINEN Zugriff auf das Internet hat. Die einzelnen Gastsysteme wiederum können so eingestellt werden, dass sie auf die Netzwerkhardware des Computers zugreifen können, um so eine Verbindung mit dem Internet herzustellen.

    Das wäre also die perfekte Trennung. Host-System ist isoliert, Gast-System ist offen.
    Natürlich könnte das Gast-System jederzeit kompromittiert werden, ließe sich aber per Snapshot schnell wiederherstellen. Es ließe sich auch darüber nachdenken, eine eigene VM für KeePass zu haben, die isoliert vom Netzwerk betrieben wird. Ich weiß allerdings gerade nicht, ob man in Qubes OS Inhalte (z.B. ein KeePass-Passwort) von einer VM in eine andere kopieren kann.

    Schade, dass dieser Ansatz bisher nicht so weit verbreitet ist. Virtualisierung bzw. Isolation sind ein wirksamer Schutzmechanismus. Microsoft hat selbst vor einigen Jahren darüber nachgedacht, Windows standardmäßig auf einem Hypervisor laufen zu lassen. Leider wurde die Idee wohl nicht weiter verfolgt.

  10. Oder noch einfacher ohne VM, stattdessen mit einem Tool wie Sandboxie?

  11. Einige Leute schreiben hier echt ohne Ahnung zu haben.
    @Micha:
    Wenn der Keepasscontainer offen ist, ist eben nicht alles unverschlüsselt im Speicher. Das stimmt einfach nicht. Keepass und Co. haben zumindest unter Windows Schutzmechanismen so dass Login&Passwörter verschlüsselt im Speicher liegen (und auch keine Logins&Passwörter in den Swap Speicher/Auslagerungsdatei landen, zumindest nicht unverschlüsselt). Quelle: http://keepass.info/help/base/security.html#secmemprot
    Z.B. ist Windows da im Gegensatz vor OS X und Linux nicht vor Memory Dumps sicher.

    Keefarce hebelt durch Programmroutinen diesen Schutz auf weil es einen Export anstößt intern.

  12. Name (erforderlich) says:

    @ChackZz (Pos2): Blödsinn! Bei Lastpass liegen die Daten irgendwo, irgendwo in der Cloud – außerhalb meiner Kontrolle. Bei Keepass bestimme ich, wo der Container liegt.
    Und solange das System „sauber“ ist und kein dritter Zugriff hat um diese Software zu starten kann wenig passieren. Das gilt übrigens für alle Trojaner, Keylogger etc.
    Ist sowas auf dem Rechner aktiv, hast du sowieso verloren. Egal ob du Keepass nutzt, etwas anderes oder die Passwörter vom Zettel abtippst – spätestens dann haben sie dich sowieso.

  13. FriedeFreudeEierkuchen says:

    Immer wieder erstaunlich, wie in Deutschland im Umfeld von IT-Seiten die Emotionen bei Artikeln hochkochen und die Überheblichkeit rausplatzt. Unter dem verlinkten Ars Technica Artikel geht es dagegen größtenteils konstruktiv zu. Da wir über Angriffsvektoren, Gegenmittel etc diskutiert. Hier in den Kommentaren scheint es im wesentlichen darum zu gehen, Pascal, Caschy oder Leute mit anderer Meinung für blöd zu erklären.

    Um die Diskussion hier mal ein bisschen mit Fakten zu unterfüttern habe ich die ganze Prozedur getestet: KeePass installiert, eine Fake-Datenbank angelegt, mir die KeeFarce-Dateien geholt und bei geöffnetem KeePass das Tool gestartet. Voilà, schon hatte ich den Export in CSV-Form in %AppData/Roaming liegen.
    Wohlgemerkt: ich habe keine Admin Rechte und musste das Tool nicht installieren.

    Das ständige Argument hier „wenn du einen Rechner unter Kontrolle hast kannst du alles machen“ geht damit völlig am Problem vorbei. Auch der Satz „ein neues Export-Tool für KeePass“ geht an den Fakten vorbei. Das Tool lädt nicht einfach eine KeePass DLL, sondern nutzt DLL-Injection bei einem laufenden KeePass-Prozess. Das ist etwas mehr als „ein weiteres Export-Tool“.
    Ein Angreifer muss überhaupt nicht das System kapern, er braucht auch keine Admin-Rechte. Ein ganz normaler Benutzeraccount reicht völlig. Das vergrößert die Angriffsfläche enorm.

    Ein bequemer Angriffsvektor wäre, ein kleines, witziges oder sehr nützliches Programm zu schreiben oder ein bestehendes Open Source Programm ein bisschen umzustricken und den öffentlich verfügbaren KeeFarce-Code einzubauen.
    Man sieht auf den Mobil-Plattformen, dass dieses Prinzip funktioniert. Es gab unzählige Apps mit Schadfunktionen, auf allen Plattformen.
    Du musst die Sache nur entsprechend viral machen, dann klappt das – das wurde in der Vergangenheit immer wieder bewiesen.
    Mit einer gefüllten KeePass-Datenbank könnte man soviel Unfug treiben, dass es sich durchaus finanziell lohnt, entsprechend Manpower in das Projekt zu stecken. Da gibt es sicherlich genügend Gangs oder Solo-Hacker, für die sich ein solches Projekt lohnen würde. Mal abgesehen von den ganzen Geheimdiensten denen ohnehin wahnwitzige Geldmittel zur Verfügung stehen.

    Ansätze auf KeePass-Seite gegen einen solchen Angriff wär z.B. ein Export-Passwort oder besser noch eine spezielle visuelle Gestaltung der Export-Abfrage, die nicht vorhersehbar bzw. automatisierbar ist, z.B. zufällig verteilte Bilder oder Eingabefelder die man anklicken muss.

  14. @FriedeFreudeEierkuchen Okay, klingt interessant. Die Frage wie so ein Angriff praktisch aussieht ist für mich damit aber noch nicht geklärt. So wie ich dich verstanden habe läuft das Tool ohne Zutun des Users (und kann theoretisch automatisch gestartet werden?). Der User gibt dann das Masterpasswort ein und öffnet die Datenbank – anschließend liest Keefarce die Datenbank aus und macht einen Dump.
    Diesen Dump müsste ein Angreifer dann aber noch vom System herunter bekommen.
    Bleibt folgendes offen – wie kommt das Tool auf das Zielsystem, wie wird es gestartet und wie kommt der Datenbankauszug vom System zum Angreifer.
    Das dürften auch die Stellen sein an denen ein erster Schutz ansetzt.
    Was mich auch interessiert – warum läuft das nur auf Windowssystemen? Klingt nämlich so als wäre das auch (aber nicht nur) ein Windows Problem.

  15. FriedeFreudeEierkuchen says:

    @stefan: Das Tool muss man schon irgendwann selbst starten bzw. es wird von einem anderen Programm gestartet. Programme in den üblichen Autostart-Orten bei WIndows wären zu auffällig. Wer nicht gezielt einzelne Nutzer attackiert, sondern massenhaft Zugangsdaten abziehen will, muss unter dem Radar bleiben.
    Es wäre aber machbar, die Startroutine in ein anderes Programm einzupacken, das ich dem Nutzer unterjubele. Dieses Programm wäre so etwas wie die Taschenlampen-Apps die es für Android gab: es wird eine für den Nutzer interessante Funktion bereit gestellt, aber im Hintergrund werden Daten abgezogen.
    Den Export von KeeFarce muss das Programm natürlich hochladen. Wenn aber das „Mutterschiff“ z.B. eine Highscore-Funktion hat, kann man den Upload völlig unauffällig gestalten.
    Soweit ich es verstanden habe, nutzt KeeFarce Windows spezifische Funktionen. In wie weit sich die Speicher- und Prozessverwaltung von *nix basierten Systemen unterscheidet, kann ich nicht sagen.
    Da es hier irgendwo gefragt wurde: Microsofts EMET schütz zumindest in der Default-Einstellung nicht. Bei mir läuft EMET im Hintergrund und es hat (zumindest mit der portablen KeePass Version) trotzdem funktioniert. Ich habe mich allerdings noch nie genauer mit der EMET-Konfiguration beschäftigt.

    Unter dem Ars Technica Artikel gibt es in den User Diskussionen auch einige interessante Ansätze wie man mit dem Problem umgehen kann, dass der Passwort Manager der „single point of failure“ ist. Sehr einfach umsetzbar scheint mir, im jeweilige Passwort Manager nie das komplette Passwort zu speichern, sondern jedes Mal von Hand noch einige Zeichen dazu zu tippen. Diese kann man fix halten oder vom jeweiligen Datenbank-Eintrag ableiten (z.B. erste drei Buchstaben). Andere haben vorgeschlagen KeePass auf einem Gerät ohne Netzzugang zu nutzen, z.B. ein altes Smartphone. Einer nutzt einen alten iPod dafür.

  16. +++ Achtung +++

    1. Wenn mein Computer übernommen wurde, dann kann der Dieb auch meine mit GnuPG verschlüsselten Mails lesen – wenn ich sie offen und entschlüsselt habe!

    2. Wenn mein Computer übernommen wurde, dann kann der Dieb auch meine Daten aus meinem TrueCrypt-Container lesen – wenn ich ihn offen/gemountet habe!

    3. Wenn ein Bösewicht meinen Computer übernommen hat, dann kann er auch meine Passwörter für TrueCrypt und GnuPG loggen, sobald ich sie eingebe! Das kann er auch mit KeePass machen – sogar ohne KeeFarce!

    Fazit: OpenSource bringt’s nicht! Finger weg! Kostenlos und daher unsicher! Nutzt LastPass und BitLocker! Damit passiert euch sowas nicht! Auf gar keinen Fall! Qualität hat halt seinen Preis!

    Und btw: Wozu überhaupt dieser ganze Verschlüsselungskram?! Hat hier etwa jemand was zu verbergen?!

  17. @therealmarv: Nein, die Datensätze liegen natürlich nicht offen im RAM… das tun sie nichtmal bei der Nutzung – bzw. erst, wenn sie irgendwo eingefügt wurden. Aber die Schlüssel sind aufgrund der geöffneten Datenbank trotzdem frei abgreifbar. Eben weil KeePass die Daten sowohl über die Export-Funktion als auch über die API bereit stellt bzw. bereit stellen muss. Ich sagte: die Daten liegen offen, sobald man eingeloggt ist, ich sagte – undmeinte erst recht nicht – das dein komplettes Passwortarchiv beim Öffnen der Datenbank unverschlüsselt in deinem RAM (und somit auch in keiner Pagefile) landet. Tut es nicht, muss es ja auch nicht. Und niemand hat etwas anderes behauptet. Gerade DESHALB ist das hier ja kein Hack oder sonstwas… 😉

  18. @FriedeFreudeEierkuchen: Also mal abseits, das jedes Anti-Malware-Tool mit Behaviourscan (also so ziemlich jedes) dieses Verhalten selbst ohne Signatur unterbinden sollte, halt ich den Angriffsvektor auch für sehr klein, schlicht weil der Nutzen nicht da wäre. Wie hier schon einige Male gesagt, wenn eh schon Malware auf dem System ist, kann das gleiche Ziel auch viel einfacher und gleichzeitig unauffälliger erreicht werden. Es braucht da keine „auffälligen“ DLL Injections, kein KeeFarce… nichtmal irgendwelche Techniken die nicht der simpelste Trojaner beherrscht. Der KeePass-Autor hat sich dazu auch bereits geäußert: http://sourceforge.net/p/keepass/discussion/329220/thread/8e511d96/#e919

    Wer geschützte Daten auf einem komprimitierten System öffnet, hat seine Daten quasi der Welt zur Verfügung gestellt. Das war immer so, das ist in sich auch logisch. Und mehr als diese Erkentniss gibt halt leider am Ende dieses Tool nicht her. Und dafür ist der Artikel zu… „dramatisch“ geschrieben.

  19. Aber was schließen wir daraus?
    Es gibt Taschenlampen die Zwischenablage überwachen. In offene Keypass Datenbanken gucken oder Tastaturangaben überwachen können in der Theorie.

    Also nix ist sicher aber schön das wir mal drüber geredet haben`?

  20. @FriedeFreudeEierkuchen:
    Dann guck dir doch mal den Untschied zwischen dem Artikel bei Ars Technica und dem hier an. Das dürfte, zumindest in meinem Fall, auch die unterschiedliche Reaktion erklären.

    Davon abgesehen bin ich erstaunt, dass der Autor von KeeFarce ja scheinbar angibt, es benötige Adminrechte, so wie es auch im qualitativ guten Artikel bei Ars Technica steht. Ist also vielleicht dein Setup schon von vornherein unsicherer als es sein müsste?

    @Robert:
    Hier hast du deinen Fisch: >

Es werden alle Kommentare moderiert. Lies auch bitte unsere Kommentarregeln:

Für eine offene Diskussion behalten wir uns vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen. Wir möchten, dass respektvoll miteinander kommuniziert wird, so als ob die Diskussion mit real anwesenden Personen geführt wird. Dies machen wir für den Großteil unserer Leser, der sachlich und konstruktiv über ein Thema sprechen möchte - gerne auch mit Humor. In jedes Thema Politik einbringen ist nicht erwünscht.

Du willst nichts verpassen?

Du hast die Möglichkeit, den Feed dieses Beitrags zu abonnieren. Wer natürlich alles lesen möchte, der sollte den Hauptfeed abonnieren.