
Высокопроизводительный генератор слов с настраиваемым по позициям набором символов
Высокопроизводительный генератор слов с настраиваемым набором символов для каждой позиции
Перебор всех комбинаций из заданного ключевого пространства, как при атаке полным перебором (Brute-Force), но более целенаправленно.
Причина использовать именно этот подход, а не традиционный полный перебор, заключается в желании сократить пространство паролей-кандидатов до более эффективного.
Вот простой пример. Мы хотим взломать пароль: Julia1984
При традиционной атаке полным перебором нам требуется набор символов, содержащий все заглавные буквы, все строчные буквы и все цифры (так называемый «mixalpha-numeric»). Длина пароля — 9, поэтому нам придётся перебрать 62^9 (13 537 086 546 263 552) комбинаций. Допустим, мы перебираем со скоростью 100 млн/с, для завершения потребуется более 4 лет.
При mask-атаке мы знаем о людях и о том, как они придумывают пароли. Приведённый выше пароль соответствует простому, но распространённому шаблону: имя и год, добавленный к нему. Мы также можем настроить атаку так, чтобы заглавные буквы использовались только на первой позиции. Очень редко можно встретить заглавную букву на второй или третьей позиции. Короче говоря, с помощью mask-атаки мы можем сократить пространство перебора до 522626262610101010 (237 627 520 000) комбинаций. При той же скорости 100 млн/с это займёт всего 40 минут.
Его нет. Можно возразить, что приведённый пример очень специфичен, но это не имеет значения. Даже в mask-атаке мы можем настроить маску так, чтобы она использовала точно такое же пространство ключей, как и полный перебор. Дело в том, что обратное невозможно.
Для каждой позиции в генерируемых кандидатах паролей мы должны настроить заполнитель. Если пароль, который мы хотим взломать, имеет длину 8, наша маска должна состоять из 8 заполнителей.
Существует четыре параметра командной строки для настройки четырёх пользовательских наборов символов.
У этих параметров командной строки есть четыре сокращённых аналога: -1, -2, -3 и -4. Вы можете указать символы непосредственно в командной строке.
Mask-атака всегда привязана к определённой длине пароля. Например, если мы используем маску «?l?l?l?l?l?l?l?l», мы можем взломать только пароль длиной 8. Но если пароль, который мы пытаемся взломать, имеет длину 7, мы его не найдём. Поэтому нам приходится повторять атаку несколько раз, каждый раз добавляя один заполнитель к маске. Это автоматизируется прозрачно с помощью флага «--increment».
В настоящее время это самый быстрый в мире генератор слов. Вот некоторые характеристики:
Чтобы избежать нерегулярностей при тестировании, весь вывод направлялся в /dev/null.
Следующие команды создают следующие кандидаты паролей:
команда: ?l?l?l?l?l?l?l?l
пространство ключей: aaaaaaaa - zzzzzzzz
команда: -1 ?l?d ?1?1?1?1?1
пространство ключей: aaaaa - 99999
команда: password?d
пространство ключей: password0 - password9
команда: -1 ?l?u ?1?l?l?l?l?l19?d?d
пространство ключей: aaaaaa1900 - Zzzzzz1999
команда: -1 ?dabcdef -2 ?l?u ?1?1?2?2?2?2?2
пространство ключей: 00aaaaa - ffZZZZZ
команда: -1 efghijklmnop ?1?1?1
пространство ключей: eee - ppp
Просто выполните make
Бинарные файлы для Linux, Windows и OSX: https://github.com/jsteube/maskprocessor/releases