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