openwall / john

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
https://www.openwall.com/john/
Other
10.26k stars 2.1k forks source link

Support KeePass database format 4.x #5097

Open solardiz opened 2 years ago

solardiz commented 2 years ago

Our keepass2john.c has:

uint32_t FileVersion32 = 0x00040000;
uint32_t FileVersion32_4 = 0x00040000;  // from KeePass 2.36 sources

// We currently support database formats up to KDBX v3.x. KDBX 4.x is not
// supported yet. See "KdbxFile.cs" in KeePass 2.36 for more information on
// KDBX 4.x format.
        if (uVersion >= FileVersion32_4) {
                fprintf(stderr, "! %s : File version '%x' is currently not supported!\n", encryptedDatabase, uVersion);
                goto bailout;
        }

This was actually triggered by a user (on Kali Linux 2021.1, but our keepass2john.c hasn't changed in this respect since 2017):

$ keepass2john test.kdbx
! test.kdbx : File version '40001' is currently not supported!

$ file test.kdbx
test.kdbx: Keepass password database 2.x KDBX

(The reporting by file doesn't mean much - it probably is unaware of newer versions.)

solardiz commented 2 years ago

Apparently, KDBX 4 uses Argon2 by default. We might want to handle that as a new format with its own set of tunable costs (Argon2's) or add the algorithm choice as a first tunable cost (but I'd prefer separate format, so that it's separately benchmarked, etc).

krillin666 commented 2 years ago

Is there any update on this issue ? :smile:

solardiz commented 2 years ago

@krillin666 No, and moreover no update is currently expected - as you can see, this issue isn't part of a milestone. So it just sits here. Maybe a new contributor would appear and take care of it.

sinand99 commented 6 months ago

2 years and still nothing?

solardiz commented 6 months ago

@sinand99 Exactly. You want to contribute?