Passcovery Suite – Восстановление Паролей [перевод]
Это перевод статьи “Jarno Baselier – Passcovery Suite – Password Recovery”, опубликованной на сайте нидерландского исследователя компьютерной безопасности.
Пока мы используем парольную защиту, нам придется сталкиваться с потерей паролей. Иногда можно обратиться к системному администратору и попросить его «сбросить» забытый пароль, но зачастую, чтобы вспомнить пароль придется глубоко покопаться у себя в памяти. И если это не сработает, значит, у нас проблема! Единственный путь – это "взломать пароль". Так как это непросто, предлагаю один замечательный вариант – программное обеспечение для восстановления паролей. В этом обзоре я покажу вам программу для восстановления паролей от Пасковери. Если вы потеряли пароль, Пасковери – ваш лучший друг. И я покажу почему. Продолжим?
Пасковери – это российская компания, первые продукты которой появились в 1999 году. В 2010 году «Пасковери» реформировалась в современный вид и по сей день является ИТ-компанией, в которой программисты с энтузиазмом работают над созданием наилучших решений для восстановления паролей. В результате, компания предлагает ряд качественных продуктов. Пасковери выпускает отдельные инструменты (например, для различных типов файлов Microsoft Office). Их можно найти на https://passwordrecoverytools.com/ru/. Но флагманом Пасковери является Passcovery Suite: https://passcovery.ru. Passcovery Suite помогает восстанавливать пароли для файлов многих типов, таких как, например, Microsoft Office/OpenOffice, Adobe PDF, WinRAR, ZIP, Apple iOS и т.д.
Не у всех программ для восстановления паролей есть «GPU ускорение». В продуктах Пасковери GPU-ускорение есть. Как на видеокартах NVIDIA, так и на AMD. Используя «технологию GPU вычислений», процесс взлома паролей проходит гораздо быстрее, поскольку необходимые проверки идут с максимальной скоростью. Стандартная лицензия на Passcovery Suite поддерживает одно GPU устройство. Профессиональная – два GPU, а если у вас есть крутое железо с большим количеством графических процессоров, вам подойдет Ultimate лицензия, поскольку она поддерживает все GPU, обнаруженные в Windows-системе.
Файлы до Microsoft Office 2003 (и сохранённые в совместимости с этим форматом) используют более слабое шифрование (MD5 с 40-bit RC4). Все файлы, защищенные этим типом шифрования, могут быть гарантированно взломаны в продуктах Пасковери (радужные таблицы или поиск ключа шифрования). Для более современных форматов Microsoft Office доступны другие варианты взлома. Разумеется это атака по словарям и атаках методом перебора (атака грубой силы), но также:
- Атака по Маске
- Атака по Расширенной (Позиционной) Маске
- Атака с Объединением и Мутацией Словарей
Дальше я подробнее покажу эти три оригинальных техники.
Атака по маске
При атаке по словарю все слова из списка перебираются в качестве пароля. А с помощью атаки грубой силы мы пытаемся получить пароль, используя все заданные последовательные комбинации. «Атака по маске» учитывает, как мы, люди, зачастую составляем пароль: мы используем сочетание своих любимых "слов", "букв" и "символов". Представьте себе такой мой пароль:
Jarno##2000
С высокой вероятностью где-то у меня есть и, например, такой пароль:
Jarno$$2010
Как видите, эти пароли состоят из 5 букв, 2 спецсимволов и 4 цифр. В атаке по маске мы учитываем эти знания и поэтому можем перебирать пароли гораздо более целенаправленно. В этом случае первые 5 и последние 4 позиции не будут спецсимволами, а средние 2 позиции никогда не будут цифрами или буквами. Так как при данных ограничениях пространство возможных значений сокращается, такая атака будет намного быстрее и эффективнее. Атака по маске всегда намного лучше, чем простая атака грубой силы. Трудность заключается в том, что требуется иметь некоторое представление (или точные версии) о структуре пароля.
Атака по Расширенной (Позиционной) Маске
Этот метод является продвинутой версией обычной атаки по маске. «Атака по расширенной маске» еще более эффективна, поскольку в ней мы определяем подходящие символы отдельно для каждой позиции пароля. При обычной атаке по маске на первых 5 позициях могут находиться только наборы букв [a-z | A-Z] целиком. Если мы знаем о пароле что-то более конкретное, мы можем использовать эти знания, чтобы попробовать ограниченное количество букв для каждой позиции пароля (например [j, J] для первой позиции пароля). Именно это делает атаку еще более эффективной.
Атака с Объединением и Мутацией Словарей
Атака по словарю бывает чрезвычайно полезна. Но Passcovery Suite (как и все программы компании) реализует продвинутую атаку, а именно «Атаку с Объединением и Мутацией Словарей». Это означает, что программы Пасковери достаточно умны, чтобы объединять разные словари и получать новые пароли из слов в отдельных словарях. Таким образом, мы можем, например, использовать словарь с почтовыми индексами, годами и фамилиями, а затем Пасковери составит все комбинации из этих значений. Но и это ещё не все. Применяя макроязык для описания мутаций, мы можем заставить Пасковери изменять слова. Таким образом, мы можем указать, чтобы все слова начинались с заглавной буквы, в дополнение к оригинальному написанию в словарях, где они прописаны строчными буквами. Таким образом, нам не нужно создавать дополнительно собственные словари, программы Пасковери делают эту работу за нас.
Все программы Пасковери поддерживают многоязычные словари в формате Unicode, интерфейс программ переведён на 8 различных языков и помимо привычного для Windows графического интерфейса (GUI), есть поддержка интерфейса командной строки (CLI).
Важной особенностью программ является возможность сохранить статус атаки, чтобы позже мы могли продолжить с того места, на котором остановились. Так что мы не теряем времени, прерывая атаку.
Но хватит слов об особенностях. Конечно, мы хотим сами их все увидеть вживую. Компания Пасковери любезно предоставила мне лицензию на своё флагманское решение. Итак, приступим к работе с Passcovery Suite!
УСТАНОВКА PASSCOVERY SUITE
Сначала мы загрузим программное обеспечение с сайта Пасковери, а затем установим его с помощью привычных «Дальше-Дальше-Готово».
Во время установки введём ключ регистрации, чтобы активировать полную версию. Если этого не сделать, вы останетесь с демо-версией.
После того как вы впервые запустите Passcovery Suite с введённым во время установки ключом регистрации, важно активировать лицензию:
И когда вы выполните необходимые шаги, программа Passcovery Suite будет готова к использованию:
РАБОТА С PASSCOVERY SUITE
Теперь, когда Passcovery Suite установлена и активирована, пора взламывать пароли. Но сначала давайте пройдемся по интерфейсу.
Строка меню оптимально спроектирована. Папка для загрузки файла, кнопка воспроизведения для начала взлома и кнопка остановки / паузы для прерывания этого процесса. Кроме того, есть механизм для открытия настроек и, наконец, с правой стороны есть кнопка вызова файла помощи.
В настройках мы можем определить, как программа должна работать, в частности, стратегию использования CPU и GPU. Каждая из стратегий меняет взаимодействие аппаратных средств, но когда Passcovery Suite работает на обычном ПК, оптимальными будут базовые настройки по умолчанию. У меня самого на компьютере установлена хорошая видеокарта, поэтому мои настройки выглядят так:
Далее, чтобы получить представление о скорости перебора (и проверить выбранные настройки), разумно запустить инструмент “Бенчмарк” (в меню «Инструменты»):
В разделе «Файл» мы найдём генератор WPA-PMK, который генерирует файл на основе вашего SSID, а затем пытается взломать пароль WPA. Passcovery Suite позволяет легко взламывать WPA пароль в автономном режиме. Как видите, после прерывания атаки по паролю у вас есть возможность перезапустить ее заново или продолжить с того места, где вы остановились:
Важной частью Passcovery Suite является «Редактор правил» (находится в разделе «Инструменты»). Редактор правил позволяет создавать правила изменения паролей, считываемых из словарей. В «Редакторе правил» можно описать работу сразу с четырьмя словарями и получить наглядное объяснение, что делает конкретное правило:
В правом верхнем углу находятся «тестовые» слова (каждое из них символизирует один из четырёх словарей). Поле в левом нижнем углу – это собственно редактор правил, а поле в правом нижнем углу – это поле «результат», где вы в режиме реального времени увидите, что ваши «правила» делают с указанными тестовыми словами.
Файл правил всегда начинается со служебного заголовка, в котором указывается, какая это версия, каково ее имя и какие буквы в верхнем и нижнем регистре соответствуют нашей логике:
А затем идут «правила», в разделе [Rules].
Вот, что я бы хотел проверить:
- Каждый пароль из словаря как есть ($w обозначает пароли из словаря 1)
- Каждый пароль с первой заглавной буквой (используйте $w.c)
- Каждый пароль полностью прописными буквами (используйте $w.u)
- Каждый пароль, заканчивающийся на "2021" (используйте $w.Bs2 @eql(2021))
- Пароли из второго словаря с теми же правилами ($x обозначает пароли из словаря 2)
- Слова из словаря 1 и словаря 2, объединённые в один пароль (и наоборот). Мы делаем это так: $w$x и $x$w
И тогда у меня получились следующие правила:
В «Редакторе правил» это выглядит вот так:
Чтобы включить словарь 3 и 4, используйте переменные $y и $z. Когда вы закончите определять свой набор правил, сохраните его в файл, а затем позже подгрузите его для атаки. Таким образом, вы можете легко создавать необходимые наборы правил для различных задач.
Когда все правила описаны, мы можем начать взламывать пароль. Давайте посмотрим, как это выглядит.
Сначала мы сохраним документ с паролем “abygurl69”. Этот пароль встречается в хорошо известном словаре “rockyou.txt”:
А теперь проведем обычную атаку по словарю “rockyou.txt”. Когда мы открываем защищённый файл, Passcovery Suite информирует, какое шифрование в нём использовано:
Нажав кнопку «Извлечь данные, необходимые для атаки», мы можем сохранить "bin" файл, который, вероятно, можно использовать в другом взломщике паролей. В самом деле, именно здесь хранятся хэши и данные, достаточные для атаки. Но поскольку мы хотим просто использовать Passcovery Suite, выбираем “Next” и выбираем «Атаку по словарю». По умолчанию выбран сценарий от Passcovery с минимальным набором значений для атаки грубой силы на этот тип файлов:
Далее у нас есть возможность выбрать набор правил и выбрать словарь. Passcovery Suite поставляется с некоторыми базовыми словарями и несколькими предопределенными наборами правил. Мы просто выбираем словарь “rockyou.txt”, а правила оставляем «Как есть»:
Когда мы нажмем «Готово», Passcovery Suite приступит к работе.
В целом, чтобы найти пароль, у Passcovery Suite ушло около 1,5 часов. Пароль был в самом конце списка, поэтому Passcovery перебрал 14 миллионов паролей за 90 минут.
Аналогичным образом можно выбрать атаку грубой силы. В атаке грубой силы важно выбрать, какие символы должны быть задействованы. Программы Passcovery позволяют легко выбрать это. Также необходимо указать минимальную и максимальную длину паролей для перебора. Счетчик внизу покажет, сколько всего паролей с выбранными опциями придётся проверить. Кроме того, можно выбрать простую "маску". Например, если мы знаем часть пароля, то можем использовать вопросительные знаки, чтобы указать, какие позиции должны быть подвергнуты перебору:
Также мы можем выбрать атаку «Грубой силы с расширенной маской». Преимущество этого типа атаки в построении более конкретной маски. Доступные обозначения символов для такой маски:
- ?c - все заглавные латинские буквы
- ?s - все строчные латинские буквы
- ?d - все цифры
- ?e - все специальные символы (34 символа, от пробела (0x20) до 0x7F)
- ?a - все печатаемые символы (96 символов от 0x20 до 0x7F, но в особом порядке)
- ?? - сам символ “?”
Несколько примеров:
Маска: ?a
Символы для атаки: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 !"#$%&'()*+,-./:;<=>?[\]^_`{|}~ (and 0x7F)
Маска: ?s
Символы для атаки: abcdefghijklmnopqrstuvwxyz
Маска: ?s?d
Символы для атаки: abcdefghijklmnopqrstuvwxyz0123456789
Маска: ?s?c
Символы для атаки: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
В данной маске каждый «?» означает позицию пароля. Предположим, вы хотите взломать пароль из 5 символов, где каждая позиция состоит из строчных букв. Маска будет такой:
?s?s?s?s?s
Кроме «знака вопроса» вы можете использовать звездочку «*» в качестве позиции в пароле. «Звёздочка» означает не 1 позицию, а все неявно определённые позиции в заданной длине. Так что если я хочу проверить пароль из 5 символов, где первая и последняя позиции содержат строчные буквы, а все между состоит из цифр, то маска будет такой:
?s*d?s
Если нам необходимо создать свои собственные наборы символов, это тоже можно сделать. Предположим, мы хотим протестировать позицию в пароле с прописными и строчными буквами, тогда создадим свой собственный набор символов с "?c?d". Затем вызовем его в маске с номером вашего набора символов. Например, ?0.
Допустим наш набор символов #0 имеет заглавные и строчные буквы (?c?d), и нам нужно проверить слово из 5 букв, первая позиция которого должна содержать заглавные и строчные буквы (это как раз наш пользовательский набор символов #0), а остальные 4 – только строчные. Тогда маска будет выглядеть следующим образом:
?0?s?s?s?s
или так:
?0*s
Смотрите следующий пример:
ВЫВОД
Пасковери работает в этом бизнесе более 20 лет, и это заметно. Инструменты Пасковери хорошо выглядят, содержат профессиональные функции и интуитивно понятны. Я очень хотел бы увидеть вариант для Linux и расширить свою машину «Kali» удобным взломщиком паролей для всех типов файлов. Но тем не менее, это определенно один из лучших и самых надежных взломщиков паролей для Windows. Замечательная поддержка GPU вычислений и возможность возобновить «взлом» – очень ценные функции на практике. Passcovery Suite не самый дешевый продукт, но вы, безусловно, получите качественное решение, с помощью которого сможете гибко настроить поиск паролей, полностью в соответствии с вашими собственными представлениями и желаниями.