A Java program for brute-forcing KeePass databases
Find a file
2018-04-15 19:54:55 -05:00
gradle/wrapper Implement incremental cracking 2018-04-15 18:52:36 -05:00
keecrack-cli Implement incremental cracking 2018-04-15 18:52:36 -05:00
keecrack-gui Implement incremental cracking 2018-04-15 18:52:36 -05:00
keecrack-lib Fix version number 2018-04-15 19:54:55 -05:00
.gitignore Initial commit 2018-04-14 11:40:21 -05:00
.travis.yml Fix version number 2018-04-15 19:54:55 -05:00
build.gradle Fix version number 2018-04-15 19:54:55 -05:00
gradlew Initial commit 2018-04-14 11:40:21 -05:00
gradlew.bat Initial commit 2018-04-14 11:40:21 -05:00
LICENSE.txt Initial commit 2018-04-14 11:40:21 -05:00
README.md Fix version number 2018-04-15 19:54:55 -05:00
settings.gradle Implement incremental cracking 2018-04-15 18:52:36 -05:00

KeeCrack Build Status

KeeCrack is a Java program used for brute-forcing KeePass database file master passwords. This should go without saying but use of this application is prohibited without the express consent of the owner of the database file. KeeCrack works by taking a KeePass database file, an optional key file, and a word list, then attempts to open the database with the give key file/password pair until it finds a successful password. The word list can either be a newline separated file, or a regular expression pattern.

Usage

You can download a JAR from the releases page. Each build contains both a GUI and CLI. For the GUI, download and double-click the JAR file. For command line usage, run the jar with java -jar keecrack.jar -h to get the following output:

usage: KeeCrack [-h] [--verbose] [--incremental] --word-list WORD-LIST-FILE [--key-file KEY-FILE] database

Brute force KeePass database files

positional arguments:
  database               the database file to brute force

named arguments:
  -h, --help             show this help message and exit
  --verbose, -v          Increase logging output
  --incremental, -i      Use pattern-based (incremental) guesses instead of a list of words from a file
  --word-list WORD-LIST-FILE, -w WORD-LIST-FILE
                         a file containing newline-separated words to use as the passwords, or the pattern to generate words from if the --incremental flag is set
  --key-file KEY-FILE, -k KEY-FILE
                         the key file to use with the database

Building

KeeCrack makes use of Gradle, so to build it yourself, you can just run

./gradlew shadowJar

Contributing

If you'd like to contribute, please fork the repository, make your changes, squash your commits, and send a pull request.

Attribution

KeeCrack is possible thanks to the following libraries:

Generex

KeePassJava2

License

KeeCrack is licensed under the Apache 2.0 license

Copyright 2018 William Brawner

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.