Как восстановить пароль RAR, если читается только часть

На /r/HowToHack/ попался вопрос. Там пользователь спрашивает, как ему взломать RAR пароль. Чтобы быстро, с ускорением на GPU и с настройками поиска пароля. Пароль у него длинный, записан на бумажку, но часть символов оказались нечитаемы.

Чашка была поставлена на лист с паролем, и часть его оказалась размыта.
Рис. 1: Бумажка могла бы выглядеть вот так… (Автор фото — @denglad)

Задачка для нашей расширенной маски и наших программ. Вот, как такое сделать в программах Пасковери (конечно же это работает не только для RAR).

Решение. Шаг за шагом

1. Запустите Accent RAR Password Recovery (или другую подходящую программу Пасковери), откройте защищённый паролем архив (кнопка на тулбаре, пункт меню «Файл->Открыть» или хоткей Ctrl+O – всё, как обычно).

Снимок экрана интерфейса Accent RAR Password Recovery, на котором показано меню «Файл» с выделенной опцией «Открыть», используемой для открытия файла, защищенного паролем.
Рис. 2: Откройте запароленный документ в программе

2. Узнайте о защите, применяемой в файле, укажите схему проверки PPMd-блоков и переходите к выбору атаки. Выбирайте «Перебор с позиционной маской»/«Brute-force with extended mask».

Снимок экрана этапа выбора атаки в Accent RAR Password Recovery, демонстрирующий опцию «Брутфорс с расширенной маской».
Рис. 3: Выберите атаку, подходящую для взлома пароля

3. Теперь задайте маску по описанным правилам.

Для примера разберём нечитаемый пароль с фотографии сверху:

Крупный план частично читаемого пароля с некоторыми размытыми символами, используемый в качестве примера для настроек маски
Рис. 4: Проанализируйте повреждённый пароль и зафиксируйте свои догадки

Часть символов пароля на фото чётко видны, а часть очевидно пострадали от латте (обозначим их символом «*»): PdCMAw******saXl2q

При изучении повреждений (линий, высоты чернил, стиля размытия и пр.) можно сделать кое-какие выводы и предположения, которые помогут сократить число проверок:

  • первая * - это заглавная буква, скорее всего «С»
  • вторая * - это высокий «зигзаг», скорее всего «Z» или «2»
  • третья * - это строчная буква с «хвостиком вниз», скорее всего «g» или «y»
  • четвёртая * - это «худой» символ со «шляпкой», скорее всего «1», «7», «T», но может быть «I», «J», «L»
  • пятая * - это строчная буква, трудно сказать какая, но какая-то «объёмная, без хвостов»
  • шестая * - это «высокий и худой» символ, скорее всего «1», «l», «t»

Исходя из этих предположений зададим наборы символов и составим маску: PdCMAwC?0?1?2?3?4saXl2q

Снимок экрана интерфейса настроек маски в Accent RAR Password Recovery, отображающий наборы символов для неизвестных позиций пароля.
Рис. 5: Наборы символов и их использование в маске

4. Запускайте поиск. Со сделанными предположениями получилось всего 1872 варианта для проверки — плёвое дело для любого компьютера.

Снимок экрана с результатами поиска в программе Accent RAR Password Recovery, на котором отображается успешно найденный пароль.
Рис. 6: Пароль найден без проблем и долгого ожидания

Пятый символ можно было прямо в маске описать с помощью макроса ?s (PdCMAwC?0?1?2?s?4saXl2q), но тогда ему нельзя будет задать свой набор букв для проверки. Помните, «пятая * - это какая-то «объёмная и без хвостов» буква»? То есть можно было ещё больше сократить число вариантов, выкинув «худые» символы и символы «с хвостами»:

Снимок экрана альтернативного интерфейса настроек маски с настраиваемым набором символов для пятой неизвестной позиции
Рис. 7: Изменяйте наборы символов, как это вам необходимо

С расширенной маской вы можете изменять наборы символов для каждой позиции пароля, тем самым манипулируя диапазоном проверки. Отсекая лишние проверки вы будете сокращать время поиска.

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

Почему расширенная маска?

Да, помимо расширенной маски в программах Пасковери есть обычная маска. Можно использовать и её. Но она малоэффективна, когда есть хоть какая-то информация о пароле.

В обычной маске неизвестный символ пароля задаётся каким-то значком и проверка всех символов идёт по всему указанному диапазону. Это радикально увеличивает число вариантов для проверки и как следствие требует ГОООРАЗДО больше времени.

Для нашего примера это выглядит вот так:

Снимок экрана стандартного интерфейса атаки маской в Accent RAR Password Recovery, показывающий большое количество комбинаций для проверки.
Рис. 8: Обычная маска при атаке грубой силы на пароль

То есть, будет проведена проверка всех вариантов для шести неизвестных символов с набором из цифр, маленьких и больших букв — это 56'800'235'584 варианта вместо 1872-ух. Есть разница!

Поэтому старайтесь использовать расширенную маску всегда, когда есть хоть какая-то «достоверная» информация о пароле.

И вот ещё что: Описанная здесь расширенная маска может применяться и в других программах Пасковери. Алгоритм её использования одинаков для всех наших программ.

Программы Пасковери для восстановления RAR паролей

Официальная иконка AccentRPR
Accent RAR Password Recovery для RAR/WinRAR (с GPU-ускорением)
Официальная иконка Passcovery Suite
Passcovery Suite для RAR/WinRAR, Microsoft Office/LibreOffice/OpenOffice, Adobe PDF, Zip/WinZip, TrueCrypt, Apple iOS, BlackBerry OS, WPA/WPA2 (ускоряетсмя на GPU NVIDIA/AMD/Intel)
Denis Gladysh

Автор: Денис Гладыш, совладелец и руководитель компании Пасковери – поставщик высокоскоростных программных решений с GPU ускорением для восстановления паролей к файлам популярных форматов; автор первых версий программы Accent OFFICE Password Recovery, созданных в 1999 году.
VK LinkedIn Twitter