KeePass 2 AES (without keyfile) Hash

Technical details, regex signatures, and cracking commands for the KeePass 2 AES (without keyfile) algorithm.

Regex Identification Signature:
^\$keepass\$\*2\*\d+\*\d+\*[0-9a-f]+\*[0-9a-f]+\*[0-9a-f]+\*[0-9a-f]+\*[0-9a-f]+$
Hashcat Command (Mode: 13400):
John the Ripper Command:
← Back to Hash Identifier

What is KeePass 2 AES (without keyfile)?

The **KeePass 2 AES (without keyfile)** hash format is a password-based key derivation function (PBKDF) designed for secure password storage in the KeePass password manager, introduced as part of its 2.x series to replace earlier, weaker encryption schemes. Structurally, it employs a **symmetric AES-256-CBC** cipher in conjunction with a **PBKDF2-HMAC-SHA256** key derivation process, where the user’s master password is iteratively hashed with a fixed iteration count (default: 60,000) and a 32-byte salt derived from the password itself via SHA-256. The resulting 32-byte key is then used to encrypt the database data using AES-256-CBC with a 16-byte IV (stored in the database header). This format prioritizes simplicity and compatibility within KeePass’s ecosystem, offering a balance between security and usability for on-disk encryption, though it lacks modern advancements like memory-hard functions or adaptive iteration counts.

The **vulnerability of KeePass 2 AES (without keyfile) to cracking** stems from several architectural limitations. Primarily, the **fixed iteration count (60k)** is insufficient against modern hardware acceleration; GPUs and FPGAs can brute-force PBKDF2-HMAC-SHA256 at rates exceeding 100M hashes/second, reducing the effective key space to ~10¹⁶–10¹⁷ operations. The **lack of a unique salt per password** (the salt is derived from the master password) enables **rainbow table attacks** if the same password is reused across databases, as the derived salt becomes predictable. Additionally, the **AES-CBC mode** is vulnerable to padding oracle attacks if improperly implemented, though KeePass mitigates this via PKCS#7 padding. Finally, the **absence of a keyfile** removes an additional entropy source, relying solely on the master password’s strength—weak passwords or short iteration counts render the scheme susceptible to brute-force and dictionary attacks, especially when combined with optimized GPU-based cracking tools like Hashcat or John the Ripper.

Identifying KeePass 2 AES (without keyfile) Hashes

Identifying a hash blindly is often difficult because multiple algorithms can output strings of the exact same length. For example, a standard 32-character hexadecimal string could be MD5, NTLM, MD4, or LM. To definitively identify KeePass 2 AES (without keyfile), security researchers analyze the hash against a strict regular expression (regex) signature (shown above) to find structural matches.

How to Crack KeePass 2 AES (without keyfile)

If you need to recover the plaintext password for a KeePass 2 AES (without keyfile) hash during a penetration test or forensics investigation, you must supply the correct module ID to your cracking software. Use the exact commands provided at the top of this page to target the hash successfully.