【问题标题】:Bruteforce GPG passphrase using script [duplicate]使用脚本的蛮力 GPG 密码短语 [重复]
【发布时间】:2011-05-30 16:43:18
【问题描述】:

我忘记了我在 Linux 上的 gpg 密钥的密码。有人可以帮我写一个简单的脚本来使用暴力破解密钥吗?我记得密码中可能包含的一些单词,所以希望我的电脑用不了多久就可以破解它。

如果我无法恢复密码,一切都不会丢失,这只是意味着我将无法在接下来的 10 天内处理我的项目,直到我重新开始工作以获取文件的另一个副本,但这有时间用一个我会记住密码的新密钥。

不过,如果能在这 10 天内完成我的项目,那就太好了。

【问题讨论】:

    标签: linux bash ubuntu gnupg brute-force


    【解决方案1】:

    可能是这样的:

    #!/bin/bash
    #
    
    # try all word in words.txt
    for word in $(cat words.txt); do 
    
      # try to decrypt with word
      echo "${word}" | gpg --passphrase-fd 0 --no-tty --decrypt somegpgfile.gpg --output somegpgfile;
    
      # if decrypt is successfull; stop
      if [ $? -eq 0 ]; then
    
        echo "GPG passphrase is: ${word}";
        exit 0;
    
      fi
    
    done;
    
    exit 1;
    

    【讨论】:

    • 这仅适用于每行的整个单词吗?如果我只记得部分密码怎么办?
    • 您可以生成包含您记得的部分的密码短语列表
    【解决方案2】:

    1) 脚本并不简单,至少你想象的“简单”是这样的。

    2) 需要很长时间 - 这就是使用密码短语而不是简单密码的意义所在。花时间编写这样的脚本,将可能出现在短语中或未出现在短语中的单词结合起来,再加上反复尝试可能需要十天以上的时间。

    3) 您可能也会忘记下一个密码。

    4) 哎呀!

    对不起,伙计,是时候开始一个新项目了(至少在接下来的十天里休息一下 - 我建议使用密码破解器作为一种理想的分散注意力的方法。)

    圣诞快乐!

    -奥辛

    【讨论】:

    • >> 对不起老兄,是时候开始一个新项目了(至少在接下来的十天里。)我密码破解者? :D
    • 是的,非常讽刺的项目开始写作! (编辑以包括这个俏皮话 - 双关语)
    • 大声笑,好吧,我想我只需要在接下来的 10 天里消耗过量的火鸡和酒精!
    • 我相信你现在可以在 github 上找到一些东西,比如 github.com/mathewmarcus/bruteforce-gpg
    • @МаксимШатов 他说未来十天,而不是几年;)
    【解决方案3】:

    Tersmitten 的回答可能已经过时了。

    echo "${word}" | gpg --passphrase-fd 0 -q --batch --allow-multiple-messages --no-tty  --output the_decrypted_file -d /some/input/file.gpg;
    

    我将上述代码与 gpg 2.0.20 和 libcrypt 1.5.2 一起使用以达到预期的效果。

    【讨论】:

    • 用你的替换第 8 行 tersmitten 的代码对我有用。我使用了 gpg (GnuPG) 2.2.20 和 libgcrypt 1.8.7(截至 2021 年 1 月的最新版本)。
    猜你喜欢
    • 2021-01-10
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    相关资源
    最近更新 更多