13

Linuxのgpgキーのパスフレーズを忘れてしまいました。誰かがブルートフォースを使用してキーを解読するための簡単なスクリプトを書くのを手伝ってもらえますか?パスフレーズに含まれている可能性のある単語のいくつかを覚えているので、うまくいけば、私のコンピューターがそれを総当たり攻撃するのにそれほど時間はかからないでしょう。

パスフレーズを復元できなくてもすべてが失われるわけではありません。つまり、ファイルの別のコピーを取得するために仕事に戻るまで、次の10日間はプロジェクトに取り組むことができなくなりますが、今回はパスフレーズを覚えておくための新しいキー。

しかし、この10日間で私のプロジェクトに取り組むことができれば素晴らしいと思います。

4

3 に答える 3

8

多分次のようなものです:

#!/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;
于 2010-12-29T13:14:54.713 に答える
6

1)スクリプトは単純ではありません。少なくとも、「単純」を想定する方法はそうです。

2)時間かかります-それは単純なパスワードの上にパスフレーズを使用するポイントです。そのようなスクリプトを書くのに時間をかけ、フレーズに含まれる場合と含まれない場合がある単語を組み込んだり、繰り返しを刺したりすると、おそらく10日以上かかります。

3)おそらく次のパスフレーズも忘れてしまうでしょう。

4)おっと!

申し訳ありませんが、新しいプロジェクトを開始する時間です(少なくとも、次の10日間は、パスフレーズクラッカーを理想的な気晴らしとしてお勧めします)。

メリークリスマス!

-オシーン

于 2010-12-25T19:00:25.913 に答える
5

Tersmittenの回答は古くなっている可能性があります。

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

上記の行をgpg2.0.20およびlibcrypt1.5.2で使用して、目的の結果を達成しました。

于 2013-06-10T19:38:23.390 に答える