bruteforce-salted-openssl - попробуйте найти парольную фразу для файлов, зашифрованных с помощью OpenSSL
bruteforce-salted-openssl [options] <filename>
bruteforce-salted-openssl пытается найти парольную фразу или пароль файла, зашифрованного с помощью команды openssl
. Его можно использовать двумя способами:
Попробуйте все возможные пароли с заданной кодировкой.
Попробуйте все пароли в файле (словаре).
bruteforce-salted-openssl имеет следующие особенности:
Вы можете указать количество потоков, которые будут использоваться при взломе файла.
Программа должна иметь возможность использовать все дайджесты и симметричные шифры, доступные в библиотеках OpenSSL, установленных в вашей системе.
Отправка сигнала USR1 запущенному процессу bruteforce-salted-openssl заставляет его печатать ход выполнения и продолжать.
Есть исчерпывающий режим и режим словаря.
В исчерпывающем режиме программа пытается расшифровать файл, перебирая все возможные пароли. Это особенно полезно, если вы что-то знаете о пароле (например, вы забыли часть своего пароля, но все еще помните большую его часть). Поиск пароля к файлу, ничего о нем не зная, занял бы слишком много времени (если только пароль не очень короткий и/или слабый). Есть несколько параметров командной строки, которые нужно указать:
Минимальная длина пароля для попытки.
Максимальная длина пароля для попытки.
Начало пароля.
Конец пароля.
Используемый набор символов (среди символов текущей локали).
В режиме словаря программа пытается расшифровать файл, перебирая все пароли, содержащиеся в файле. В файле должен быть один пароль на строку.
Остановите программу после нахождения первого кандидата на пароль.
Перечислите доступные алгоритмы шифрования и дайджеста.
Поиск с использованием двоичных паролей (вместо символьных паролей). Запишите кандидатов в
Начало пароля. Значение по умолчанию — «».
Шифр для расшифровки. Значение по умолчанию — aes-256-cbc.
Дайджест для генерации ключа и вектора инициализации. По умолчанию: мд5.
Конец пароля. По умолчанию: "".
Считайте пароли из файла, а не генерируйте их.
Показать помощь и выйти.
Ограничьте максимальное количество проверенных паролей до
Минимальная длина пароля (включая начало и конец). По умолчанию: 1.
Расшифровка считается успешной, если данные начинаются с
Максимальная длина пароля (включая начало и конец). По умолчанию: 8.
Игнорировать ошибки дешифрования (аналогично openssl -nopad).
Игнорировать соль (аналогично openssl -nosalt).
Предварительно просмотрите и проверьте первые
Набор символов пароля. Значение по умолчанию: «0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz».
Количество потоков для использования. По умолчанию: 1.
Выводить информацию о ходе выполнения каждые n секунд.
Восстановить состояние предыдущей сессии, если файл существует, затем регулярно (~ каждую минуту) записывать состояние в файл.
Примечание. Отправка сигнала 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 (но может использоваться другими).