Взломать zip-файл с известными частями паролей

Взломать zip-файл с известными частями паролей

у меня естьпочтовый индексфайл, который я не могу открыть, так как забыл пароль. Я почти уверен в некоторых частях этого пароля, но не могу вспомнить вариации, которые я к нему добавил. Я пыталсяfcrackzipно я не вижу, как обозначить, что я знаю части пароля. Подведем итог:

  • Я знаю некоторые части пароля, например "привет", "мир" и "shittypass".
  • Эти части могут располагаться в любом порядке, и не все из них могут быть использованы.
  • Могут появиться дополнительные мелкие детали, например, от 3 до 5 строчных букв.

Знаете ли вы какое-либо программное обеспечение, которое может это сделать?

решение1

Краткое описание метода:

  1. Используйте утилиту типаcrunchдля создания пользовательского файла словаря.

  2. Запустите fcrackzipс этим пользовательским словарем.

Проблемы:

  • До 3 строк, смешанных с 3-5 строчными буквами, дают свыше триллиона возможных паролей. Только генерация этого словаря займет некоторое время.

  • crunchпозволяет использовать подстановочные знаки на основе символов, но его обработка пользовательских строк не столь гибка. Чтобы решить эту Q, grepтакже, sedпо sort-видимому, необходимы , и , любой из которых увеличивает необходимое время, т. е. часы, может быть, дни...

Вероятно, сработает что-то вроде этого:

crunch 3 9 abcdefghijklmnopqrstuvwxyz123 | \
  grep '[123]' | # at least one number per dict entry
  egrep -v '([123]).*\1' | # remove repeated numbers
  sed 's/1/hello/;s/2/world/;s/3/shittypass/' | # replace numbers with strings
  sort -u | \
  fcrackzip -D -p /dev/stdin foo.zip 

Тестовый пример с меньшим набором задач (одна или две строки и до двух строчных букв в любом порядке):

echo foo > bar.txt  # file to archive
zip -P xhellobworld baz bar.txt   # archive with password
time crunch 2 4 abcdefghijklmnopqrstuvwxyz12 | \
     grep '[12]' | egrep -v '([12]).*\1' | \
     sed 's/1/hello/;s/2/world/' | \
     sort -n | fcrackzip -u -D -p /dev/stdin baz.zip 

Выход:

Crunch will now generate the following amount of data: 3163440 bytes
3 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 637392 


PASSWORD FOUND!!!!: pw == xhellobworld

real    0m5.942s
user    0m2.240s
sys 0m1.040s

Связанный контент