Command line utility to search KeePass databases.
|
Matsuri
8af2b6f96c
A simple (and very flawed) implementation that just looks for "Unpad Error" derived from the DatabaseIntegrityError that is thrown when we have a corrupt database file. I want to improve the handling of errors and logic when handling one or more files. Ultimately I want to improve the handling so I can better derive from the original error (e.g. if type is any subset of DatabaseIntegrityError we know it's a corruption issue). |
||
|---|---|---|
| src | Add handling for corrupt databases | |
| .gitignore | Initial submit for kdbx-hunter | |
| Cargo.lock | Adds regex to Cargo.toml | |
| Cargo.toml | Adds regex to Cargo.toml | |
| CONTRIBUTING.md | Initial submit for kdbx-hunter | |
| LICENSE.md | Initial submit for kdbx-hunter | |
| README.md | Add handling for corrupt databases | |
kdbx-hunter
If you're like me, you may randomly stumble upon passwords you scribbled on postit notes that you're sure you input into a password manager, but don't have context as to what it's for.
kdbx-hunter is a utility that helps you to hunt through one or more Keepass Database (KDBX) files looking for specific strings.
Features
- Allows for the ability to search through one or more KDBXs with the ability to recycle passwords.
- Allows for the ability to search through all fields within an entry and its history.
Installation
git clone https://codeberg.org/signus/kdbx_hunter && cd kdbx_hunter
cargo build
Usage
Usage: kdbx-hunter [OPTIONS] --search <SEARCH>
Options:
-f, --file <FILE> Path of the KeePass Database (KDBX) file to unlock
-d, --directory <DIRECTORY> Directory path to look for KeePass Databases (KBDX)
-k, --keyfile <KEYFILE> Path to keyfile used for decryption
-r, --recycle Whether to use the same password for all databases
-i, --search-history Determine if we should search the history for our search phrase
-s, --search <SEARCH> Search string or regex to use to search databases for
-h, --help Print help
-V, --version Print version
NOTE: The keyfile argument does not currently get utilized.
Contributing
See CONTRIBUTING.md.
TODO
- Add regex pattern search options.
- Add handling of more error types and improve error handling structure.
- Add verbose flag with debug printing.
- Add support for keyfiles with the ability to reuse.
- Test ability to filter search by Group, Key (e.g. Title, URL) (for limiting scope of search).
- Test memory context of search (whether passwords are leaked in a memory dump).
- Add ability to search Value::Bytes (likely for attachments).
- Worthwhile to search entries for leaked passwords?
- Add support for
cargo binstall(publish to crates.io). - Add unit tests and resource files.
Disclaimer
This tool was created to help users evaluate items stored in Keepass databases they rightfully own and control and is not intended for malicious use.