KeeFarce : Extract KeePass Passwords (2.x) From Database
Prawez Samani
??Innovative Security Enthusiast??PGDCS????M.S. (CyFOR & InfoSec)??AWS SCS-C02?? ??MC Cybersecurity Architect Expert - CAE????IPCAA ? IAAA ? SOAA??
KeeFarce allows you to extract KeePass passwords (2.x) by using DLL injection to execute code and retrieve the database information from memory. The cleartext information, including usernames, passwords, notes and url’s are dumped into a CSV file in %AppData%.
KeeFarce uses DLL injection to execute code within the context of a running KeePass process. C# code execution is achieved by first injecting an architecture-appropriate bootstrap DLL. This spawns an instance of the dot net runtime within the appropriate app domain, subsequently executing KeeFarceDLL.dll (the main C# payload).
The KeeFarceDLL uses CLRMD to find the necessary object in the KeePass processes heap, locates the pointers to some required sub-objects (using offsets), and uses reflection to call an export method.
Executing
In order to execute on the target host, the following files need to be in the same folder:
- BootstrapDLL.dll
- KeeFarce.exe
- KeeFarceDLL.dll
- Microsoft.Diagnostic.Runtime.dll
Copy these files across to the target and execute KeeFarce.exe
UK SANS Cyber Academy 2015
9 年A measured response to KeeFarce by Pen Test Partners which compares the risk of reusing weak passwords with the vulnerability of password vaults... https://www.pentestpartners.com/blog/concerned-about-keefarce-dont-be-why-you-should-still-use-a-password-vault/