Кодовая фраза Bruteforce GPG с использованием script

Я забыл свою кодовую фразу для моего ключа gpg на linux. Может кто-нибудь, пожалуйста, помогите мне написать простой script, чтобы использовать bruteforce, чтобы взломать ключ? Я помню некоторые слова, которые МОГУТ быть в кодовой фразе, так что, надеюсь, для моего компьютера это не займет много времени.

Все не потеряно, если я не могу восстановить кодовую фразу, это просто означает, что я не смогу работать над своим проектом в течение следующих 10 дней, пока я не вернусь к работе, чтобы получить еще одну копию файлов, но это время с новым ключом, для которого я буду помнить пароль.

Тем не менее, было бы неплохо иметь возможность работать над моим проектом за эти 10 дней.

Ответ 1

1) script не будет простым, по крайней мере, как вы планируете "просто".

2) Это займет много времени - точка использования профайлов над простыми паролями. Взяв время, чтобы написать такой script, включение ваших слов, которые могут быть или не быть во фразе плюс удар в итерации, вероятно, займет более десяти дней.

3) Вероятно, вы тоже забудете следующую кодовую фразу.

4) Ooops!

Извините, чувак, время, чтобы начать новый проект (по крайней мере, в течение следующих десяти дней - я предлагаю взломщик флэш-кодов как идеальное отвлечение).

С Рождеством!

-Oisin

Ответ 2

Может быть что-то вроде:

#!/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;

Ответ 3

Ответ может быть устаревшим.

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 для достижения желаемых результатов.