bruteforce-salted-openssl - справочное руководство, опции, примеры команд


ИМЯ

bruteforce-salted-openssl - попробуйте найти парольную фразу для файлов, зашифрованных с помощью OpenSSL

СИНТАКСИС

bruteforce-salted-openssl [options] <filename>

ОПИСАНИЕ

bruteforce-salted-openssl пытается найти парольную фразу или пароль файла, зашифрованного с помощью команды openssl. Его можно использовать двумя способами:

  • Попробуйте все возможные пароли с заданной кодировкой.

  • Попробуйте все пароли в файле (словаре).

bruteforce-salted-openssl имеет следующие особенности:

  • Вы можете указать количество потоков, которые будут использоваться при взломе файла.

  • Программа должна иметь возможность использовать все дайджесты и симметричные шифры, доступные в библиотеках OpenSSL, установленных в вашей системе.

  • Отправка сигнала USR1 запущенному процессу bruteforce-salted-openssl заставляет его печатать ход выполнения и продолжать.

  • Есть исчерпывающий режим и режим словаря.

В исчерпывающем режиме программа пытается расшифровать файл, перебирая все возможные пароли. Это особенно полезно, если вы что-то знаете о пароле (например, вы забыли часть своего пароля, но все еще помните большую его часть). Поиск пароля к файлу, ничего о нем не зная, занял бы слишком много времени (если только пароль не очень короткий и/или слабый). Есть несколько параметров командной строки, которые нужно указать:

  • Минимальная длина пароля для попытки.

  • Максимальная длина пароля для попытки.

  • Начало пароля.

  • Конец пароля.

  • Используемый набор символов (среди символов текущей локали).

В режиме словаря программа пытается расшифровать файл, перебирая все пароли, содержащиеся в файле. В файле должен быть один пароль на строку.

ПАРАМЕТРЫ

-1

Остановите программу после нахождения первого кандидата на пароль.

-a

Перечислите доступные алгоритмы шифрования и дайджеста.

-B <file>

Поиск с использованием двоичных паролей (вместо символьных паролей). Запишите кандидатов в .

-b <string>

Начало пароля. Значение по умолчанию — «».

-c <cipher>

Шифр для расшифровки. Значение по умолчанию — aes-256-cbc.

-d <digest>

Дайджест для генерации ключа и вектора инициализации. По умолчанию: мд5.

-e <string>

Конец пароля. По умолчанию: "".

-f <file>

Считайте пароли из файла, а не генерируйте их.

-h

Показать помощь и выйти.

-L <n>

Ограничьте максимальное количество проверенных паролей до .

-l <length>

Минимальная длина пароля (включая начало и конец). По умолчанию: 1.

-M <string>

Расшифровка считается успешной, если данные начинаются с . Без этой опции расшифровка считается успешной, если данные содержат в основном печатные символы ASCII (не менее 90%).

-m <length>

Максимальная длина пароля (включая начало и конец). По умолчанию: 8.

-N

Игнорировать ошибки дешифрования (аналогично openssl -nopad).

-n

Игнорировать соль (аналогично openssl -nosalt).

-p <n>

Предварительно просмотрите и проверьте первые расшифрованных байтов на наличие магической строки. Если волшебная строка присутствует, попробуйте расшифровать остальные данные. По умолчанию: 1024.

-s <string>

Набор символов пароля. Значение по умолчанию: «0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz».

-t <n>

Количество потоков для использования. По умолчанию: 1.

-v <n>

Выводить информацию о ходе выполнения каждые n секунд.

-w <file>

Восстановить состояние предыдущей сессии, если файл существует, затем регулярно (~ каждую минуту) записывать состояние в файл.

Примечание. Отправка сигнала USR1 запущенному процессу bruteforce-salted-openssl заставляет его выводить информацию о ходе выполнения в стандартную ошибку и продолжать.

ОГРАНИЧЕНИЯ

Программа считает расшифрованные данные правильными, если они в основном состоят из печатных символов ASCII (не менее 90%). Если файл, который вы хотите расшифровать, не содержит обычного текста, вам придется либо использовать параметр -M, либо изменить функцию 'valid_data' в исходном коде в соответствии с вашими потребностями.

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

ПРИМЕРЫ

Попробуйте найти пароль зашифрованного файла aes256, используя 4 потока, пробуя только пароли с 5 символами:

    bruteforce-salted-openssl -t 4 -l 5 -m 5 -c aes256 encrypted.file

Попробуйте найти пароль зашифрованного файла des3, используя 8 потоков, пробуя только пароли длиной от 9 до 11 символов, начиная с «AbCD», заканчивая «Ef» и содержащие только буквы:

    bruteforce-salted-openssl -t 8 -l 9 -m 11 -c des3 -b "AbCD" -e "Ef" -s "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" encrypted.file

Попробуйте найти пароль зашифрованного файла aes256, используя 6 потоков, пробуя пароли, содержащиеся в файле словаря:

    bruteforce-salted-openssl -t 6 -f dictionary.txt -c aes256 encrypted-file

Выводить информацию о прогрессе каждые 30 секунд:

    bruteforce-salted-openssl -t 6 -f dictionary.txt -c aes256 -v 30 encrypted-file

Попробуйте найти пароль зашифрованного des3 gzip-файла, используя 8 потоков:

    bruteforce-salted-openssl -t 8 -v 5 -c des3 -m 9 -s "0123456789" -M "$(echo -ne '\x1f\x8b')" file.tar.gz.des3

Сохранение/восстановление состояния между сессиями:

    bruteforce-salted-openssl -t 6 -f dictionary.txt -c aes256 -w state.txt encrypted-file

Дайте программе поработать несколько минут и остановите ее, после запуска:

    bruteforce-salted-openssl -t 6 -c aes256 -w state.txt encrypted-file

Показать список доступных алгоритмов:

    bruteforce-salted-openssl -a

Если программа находит пароль-кандидат pwd, вы можете расшифровать данные с помощью команды openssl:

    openssl enc -d -aes256 -salt -in encrypted.file -out decrypted.file -k pwd

АВТОР

bruteforce-salted-openssl был написан Guillaume LE VAILLANT. Для связи используйте адрес электронной почты glv@posteo.net или перейдите по ссылке https://github.com/glv2/bruteforce-salted-openssl.

Эта страница руководства была написана Joao Eriberto Mota Filho eriberto@debian.org для проекта Debian (но может использоваться другими).