web-dev-qa-db-ja.com

keepass(2)データベースファイルとハッシュキャットの新しいフォーマット

KeePassXを使用してテストDBファイル(.kdbx)を作成し、その後、keepass2john Python port from this site を使用しましたが、88行目を変更しました。

index += 2

index += 4

このフィールドのサイズが2ではなく4バイトであるためです(この変更を行わないと、プログラムは誤った結果を表示します)。 test.hashを出力します:

$keepass$*2*0*253*e73cfb2502b6e543902ec7db45c751195c3dd8b8531b744537cbeebd8c641ecd**59ac17e7e0a201e1fae906371d65f6c6**8753d87e52c88988d168c9a4c75e76febecc74fd6ba40c7254d1c47f672d5bbf

その後、hashcat, v. 5.1.0を次のように使用しました:

hashcat -a 0 -m 13400 test.hash example.dict

出力にエラーが表示されます:

Hashfile 'test.hash' on line 1 ($keepa...becc74fd6ba40c7254d1c47f672d5bbf): 
Token length exception
No hashes loaded.

どうしましたか? KeepassはDBファイルのフォーマットを変更し、hashcatは正しくクラックできませんか?

2
MrSetplus

この質問はハッシュキャットGitHubにクロス投稿され、 ここ と回答しました。

関連する keepass2johnコメント は、KeePass 2.36より前のバージョンのみが変換をサポートしていると述べています。

新しいバージョンはArgon2またはChaCha20を使用する可能性がありますが、hashcatはこの執筆時点ではこれらをサポートしていません。 John the Ripper GitHub issue の関連記事も参照してください。

1
Royce Williams