https://github.com/byt3n33dl3/thc-jennifer

The most advanced password recovery for all version of .kdbx (KeePass 2.X)

https://github.com/byt3n33dl3/thc-jennifer

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary

Keywords

cpu crackhash db hashcat jennifer kdbx keepass password-recovery
Last synced: 5 months ago · JSON representation

Repository

The most advanced password recovery for all version of .kdbx (KeePass 2.X)

Basic Info
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
cpu crackhash db hashcat jennifer kdbx keepass password-recovery
Created 6 months ago · Last pushed 6 months ago
Metadata Files
Readme Funding License

README

                J E N N I F E R
  (c) 2025 by byt3n33dl3 
      Advanced KeePass Password Cracker,  1.1.0
              Licensed under BSD-2.0

Jennifer du' Casse is the most Advanced KeePass .kdbx cracking software. Support cracking KDBX3 (KeePass 2.x) and KDBX4. Designed to handle all versions of KeePass database files (.kdbx), including the newer 2.36+ versions that use the KDBX4 format.

Please do not use in military or secret service organizations,
                          or for illegal purposes.
      (This is the wish of the author and non-binding. Many people working
       in these organizations do not care for laws and ethics anyways.
            You are not one of the "good" ones if you ignore this.)

Unlike some existing tools, Jennifer can efficiently process both AES-KDF and Argon2-based key derivation methods.

Supports all KeePass versions (including >=2.36)
Works with both AES-KDF and Argon2 key derivation
Multi-threaded for maximum performance
Includes default wordlist for quick testing
Progress tracking with accurate ETA
Simple command-line interface

Jennifer Operates by directly parsing the KDBX file structure to extract cryptographic parameters such as:

Master seed
Transform seed (KDBX3)
Encryption IV
Stream start bytes
KDF parameters (including Argon2 parameters for KDBX4)

The binary implements several key technologies:

Multi-threaded password attempts for maximum performance
Direct KDBX format parsing (both v3 and v4)
Real-time progress statistics with ETA calculation
Automatic detection of KeePass database version and encryption method
Memory-efficient wordlist processing

Your pull request should fully describe the functionality you are adding/removing or the problem you are solving. Regardless of whether your patch modifies one line or one thousand lines, you must describe what has prompted and/or motivated the change.

Solve only one problem in each pull request. If you're fixing a bug and adding a new feature, you need to make two separate pull requests. If you're fixing three bugs, you need to make three separate pull requests. If you're adding four new features, you need to make four separate pull requests.

FUNCTIONS:

Parses the KDBX header to determine version and encryption parameters
Loads the wordlist into memory for efficient processing
Spawns multiple worker threads to attempt passwords in parallel
Uses cryptographic operations to verify each password against the database
Provides real-time statistics on cracking progress
Immediately reports when a password is successfully found

COMMAND:

```
jennifer [kdbx-file]
jennifer [kdbx-file] [wordlist]
jennifer [kdbx-file] [wordlist] -v
```

```
┌──(kali㉿kali)-[~]
└─$ jennifer [kdbx-file]
```

```
┌──(kali㉿kali)-[~]
└─$ jennifer [kdbx-file] [wordlist]
```

```
┌──(kali㉿kali)-[~]
└─$ jennifer [kdbx-file] [wordlist] -v
```

By default, Jennifer is already advanced enough for knowing a wordlist usage, without a custom worlist jennifer can only crack a possible 100 password. and the verbosity [-v] is going to be just for seeing Jennifer cracking processes.

INSTALLATION:

``` 
sudo git clone https://github.com/byt3n33dl3/thc-jennifer.git
cd thc-jennifer 
sudo make       
sudo make install
```

INTERFACE:

```
┌──(kali㉿kali)-[~/thc-jennifer]
└─$ jennifer                             

                               ⠀⣀⣀⣀⣀⣀⣀⡀⢰⠆⠂⠄⡀⠀⠀⠀⠀⠀⠀
⠁⠀⠀⠀⠀⠀⠈⢀⢠⠴⠒⢿⣉⣦⣱⡇⣧⢼⣯⣿⠲⣥⣀⡀⠁⠠⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡀⢎⠰⣈⣵⣾⣿⣿⣿⣿⣿⣿⣿⣷⣿⣷⣯⡴⢆⡤⠀⡄⠀⠀
⠀⠀⠀⠀⡀⢆⠱⣨⣶⠿⣿⠟⠋⣿⣿⣿⣿⣿⣿⣯⠛⠿⣿⣿⣷⣒⣩⠄⠀⠀
⠀⠀⠐⠊⡴⢬⡾⠛⠁⠀⣿⣷⣼⣿⣿⣿⣿⣿⣿⣿⠀⠀⢈⠛⣻⡶⠶⠗⠂⠀
⠀⠀⠐⢀⣴⠛⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⡠⢀⣴⡿⠉⠡⠀⠀⠀
⠀⠈⠀⠺⠕⠒⠂⠀⡀⠀⠀⠈⠙⠛⠻⠛⡛⠋⠀⠀⣠⣶⣿⠿⡣⠐⠀⠀⠀⠀
⠃⢀⠀⠀⠀⠀⠀⠀⠐⠀⠠⢠⡴⢦⣤⣄⣶⡶⣾⢿⠛⠟⠂⠓⠀⠀⠀⠀⠀⠀
⠀⠀⠈⠐⠀⠄⢀⠀⠀⠀⠒⠁⠊⠉⡇⢛⠾⠑⠁⠉⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀
⠀⠀⠐⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂

Jennifer: KeePass Password Cracker v1.0
Current User: @byt3n33dl3, 2025 UTC
```

COMMAND:

jennifer                  (uses default wordlist)
jennifer        (uses specified wordlist)
jennifer   -v   (with verbose output)


USAGE EXECUTION:

```
┌──(kali㉿kali)-[~/thc-jennifer]
└─$ sudo jennifer recovery.kdbx src/wordlists.txt -v

                               ⠀⣀⣀⣀⣀⣀⣀⡀⢰⠆⠂⠄⡀⠀⠀⠀⠀⠀⠀
⠁⠀⠀⠀⠀⠀⠈⢀⢠⠴⠒⢿⣉⣦⣱⡇⣧⢼⣯⣿⠲⣥⣀⡀⠁⠠⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡀⢎⠰⣈⣵⣾⣿⣿⣿⣿⣿⣿⣿⣷⣿⣷⣯⡴⢆⡤⠀⡄⠀⠀
⠀⠀⠀⠀⡀⢆⠱⣨⣶⠿⣿⠟⠋⣿⣿⣿⣿⣿⣿⣯⠛⠿⣿⣿⣷⣒⣩⠄⠀⠀
⠀⠀⠐⠊⡴⢬⡾⠛⠁⠀⣿⣷⣼⣿⣿⣿⣿⣿⣿⣿⠀⠀⢈⠛⣻⡶⠶⠗⠂⠀
⠀⠀⠐⢀⣴⠛⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⡠⢀⣴⡿⠉⠡⠀⠀⠀
⠀⠈⠀⠺⠕⠒⠂⠀⡀⠀⠀⠈⠙⠛⠻⠛⡛⠋⠀⠀⣠⣶⣿⠿⡣⠐⠀⠀⠀⠀
⠃⢀⠀⠀⠀⠀⠀⠀⠐⠀⠠⢠⡴⢦⣤⣄⣶⡶⣾⢿⠛⠟⠂⠓⠀⠀⠀⠀⠀⠀
⠀⠀⠈⠐⠀⠄⢀⠀⠀⠀⠒⠁⠊⠉⡇⢛⠾⠑⠁⠉⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀
⠀⠀⠐⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂

Jennifer: KeePass Password Cracker v1.0
Current User: @byt3n33dl3

[+] KeePass database detected (version 4)
[+] Using AES-KDF key derivation
[+] Starting password cracking with 32 passwords
[+] Progress: 11/32 (34.38%) - 2 p/s - ETA: 10s - Current: iloveyou
[+] Password found: liverpool
                                                                                                                                                                                                                                           
┌──(kali㉿kali)-[~/thc-jennifer]
└─$ jennifer                                        

                               ⠀⣀⣀⣀⣀⣀⣀⡀⢰⠆⠂⠄⡀⠀⠀⠀⠀⠀⠀
⠁⠀⠀⠀⠀⠀⠈⢀⢠⠴⠒⢿⣉⣦⣱⡇⣧⢼⣯⣿⠲⣥⣀⡀⠁⠠⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡀⢎⠰⣈⣵⣾⣿⣿⣿⣿⣿⣿⣿⣷⣿⣷⣯⡴⢆⡤⠀⡄⠀⠀
⠀⠀⠀⠀⡀⢆⠱⣨⣶⠿⣿⠟⠋⣿⣿⣿⣿⣿⣿⣯⠛⠿⣿⣿⣷⣒⣩⠄⠀⠀
⠀⠀⠐⠊⡴⢬⡾⠛⠁⠀⣿⣷⣼⣿⣿⣿⣿⣿⣿⣿⠀⠀⢈⠛⣻⡶⠶⠗⠂⠀
⠀⠀⠐⢀⣴⠛⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⡠⢀⣴⡿⠉⠡⠀⠀⠀
⠀⠈⠀⠺⠕⠒⠂⠀⡀⠀⠀⠈⠙⠛⠻⠛⡛⠋⠀⠀⣠⣶⣿⠿⡣⠐⠀⠀⠀⠀
⠃⢀⠀⠀⠀⠀⠀⠀⠐⠀⠠⢠⡴⢦⣤⣄⣶⡶⣾⢿⠛⠟⠂⠓⠀⠀⠀⠀⠀⠀
⠀⠀⠈⠐⠀⠄⢀⠀⠀⠀⠒⠁⠊⠉⡇⢛⠾⠑⠁⠉⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀
⠀⠀⠐⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂

Jennifer: KeePass Password Cracker v1.0
Current User: @byt3n33dl3

Usage:
  jennifer                  (uses default wordlist)
  jennifer        (uses specified wordlist)
  jennifer   -v   (with verbose output)
```

For more, come to my collections of write-ups for real-world use cases and write-ups on  if there's any security concern, please contact me at 

WIKI:



Owner

  • Name: Sulaiman
  • Login: byt3n33dl3
  • Kind: user
  • Location: Error 403: Not on earth

I N F R A X 8 6

GitHub Events

Total
  • Watch event: 2
  • Public event: 1
  • Push event: 2
Last Year
  • Watch event: 2
  • Public event: 1
  • Push event: 2