使用 bash 暴力破解 keepassxc

使用 bash 暴力破解 keepassxc

我忘记了 Keepassxc 数据库(带有密钥文件的 .kdbx)的部分密码。密码由 20 个符号组成,其中 17 个符号是已知的。我使用我认为在密码的未知部分中使用的字符(它们被放入 charlist.txt 中)和以下小行生成了所有可能组合的列表:

for i in $(cat charlist.txt); do
  for j in $(cat charlist.txt); do
    for k in $(cat charlist); do
      echo $a$i$j$k
    done
  done
done > output.txt

Keepassxc 允许我从 stdin 读取密码(使用keepassxc --pw-stdin或 with keepassxc-cli;第一个使用 stdin 输入打开 GUI,第二个要求以通常的形式“输入密码”输入)。然而,我无法理解迭代的方式。 output.txt中有5832行,这使得手动暴力破解不可行。

如何将output.txt 的内容或单行输出传递给keepassxc?

答案1

也许是这样的:

while read p; do
         echo "$p" | keepassxc --pw-stdin; 
done <output.txt

我不知道 keepassxc 在收到错误输入时的行为。也许要为 5831 打开错误窗口做好准备。

相关内容