top of page
Search
pamalav1se

KeeFarce – Discover the Secrets of KeePass 2.x Passwords From Database With This Simple Trick



Analysis.The time required by MemUtil.ArraysEqual indeed dependson the data, but it is irrelevant.In a timing side-channel attack, an attacker analyzes the time that acryptographic system requires to perform some operation and tries todeduce secret information from it.For KeePass, this is not applicable.KeePass is a desktop application and does not feature any server capabilities(especially, no automatic database opening can be triggered externally).If there is spyware on the PC that KeePass is running on, there arefar more easy and efficient attacks for the spyware to steal passwordsfrom KeePass than a timing side-channel attack(see also the section 'Specialized Spyware'on the security page).




KeeFarce – Extract KeePass Passwords (2.x) From Database




Side-channel attacks try to gain information from a system byobserving its behavior (e.g. the duration and the power consumption ofcertain operations). On servers, side-channel attacks are a real threat.On client devices (PCs), side-channel attacks are more difficult (morenoise, etc.); there are ideas how some might work in theory, but we arenot aware of any real attack in practice.For example, the attack described in the article'The Spy in the Sandbox / Side-Channel Attacks in Web Browsers'was interesting (JavaScript code was able to detect certain user interactions),but not a real threat (no extraction of sensitive data, as mentionedexplicitly in the article). This may or may not change in the future.Note that this has nothing to do with cloud storage; KeePass encrypts/decryptsa database file on a client device, and thus it is irrelevant where thedatabase file is stored (for side-channel attacks).Furthermore, there are side-channel attacks that neither Argon2d nor Argon2id(nor Argon2i, nor any other key derivation function) protects against (e.g.Spectre/Meltdown side-channel attacks, which allowspyware to read all memory).


"Locking" the database (in KeePass, "Lock" just plain closes the database) means that the decryption key for the database and any decrypted passwords from the database are no longer accessible in memory. Without that protection, something like KeeFarce can be used to extract that information:


KeeFarce allows for the extraction of KeePass 2.x password database information from memory. The cleartext information, including usernames, passwords, notes and url's are dumped into a CSV file in %AppData%


The downside is that KeeThief will not (yet) pull out all passwords contained in the currently opened database as KeeFarce does. You will need to run the key extraction and also download the target KeePass database.


KeePass provides process memory protection that encrypts master password keys and other sensitive data when stored in computer memory. That system goes a long way to preventing malicious apps from scraping random access memory and retrieving the credentials. KeeFarce obtains passwords using a different technique, known as DLL injection. The injected dynamic link library code calls an existing KeePass export method to copy the contents of a currently open database to a CSV file. The resulting file contains user names, passwords, notes, and URLs all in cleartext.


> KeeFarce allows for the extraction of KeePass 2.x password database information from memory. The cleartext information, including usernames, passwords, notes and url's are dumped into a CSV file in %AppData%


This will automatically keep your workspace locked most of the time. All your good passwords are for naught if you leave your computer opened and someone can just walk in on your unlocked database. Automatically saving will also keep you from forgetting to save your database after making a new entry. Show expiring passwords will remind you to change those passwords. 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


bottom of page