Программы для создания словарей

Crunch VS Hashcat

Crunch — генератор словарей с паролями, в которых можно определить стандартную или заданную кодировку. Crunch может создать список слов со всевозможными комбинациями и перестановками в соответствии с заданными критериями. Данные, которые выводит crunch, могут быть отображены на экране, сохранены в файл или переданы в другую программу.

Это очень гибкая программа по генерации словарей.

Hashcat — это самый быстрый в мире восстановитель (взломщик) паролей. Но нас интересует не эта функция. Hashcat также может генерировать словари. Для того, чтобы не взламывать пароли, а только показать кандидаты в Hashcat есть опция --stdout

Hashcat использует различные способы генерации паролей (по маске, комбинаторная, перестановочная, основанная на правиле атаки и другие). Самым востребованном способом является генерация паролей по маске.

Чтобы не запутаться в терминах, будем называть символ в определённом месте маски или паттерна (образца) «позицией». Например, первый символ в кандидатах в пароли – это первая позиция. Второй символ – это вторая позиция и т.д.

Используя маску, мы можем получить контроль над каждой позицией.

Например, одну из позиций мы хотим сделать статичным символом (всегда одинаковым во всех кандидатах в пароли) – так может и Crunch. Но мы также можем использовать для определённых позиций пользовательские наборы символов. Например, мы знаем, что во второй позиции встречаются только цифры от 1, 3, 5. В Hashcat мы можем создать пользовательский набор символов, включающий в себя цифры 1, 3, 5 и в маске поставить этот пользовательский набор во вторую позицию.

В Crunch нет понятия «маска», но есть понятие «паттерн», «образец». В сущности, он эквивалентен маске. Более того, в Crunch также можно создавать до четырёх пользовательских наборов символов. Т.е. по функционалу Crunch не уступает возможностям Hashcat.

В Crunch есть пара опций, аналоги которых отсутствуют в Hashcat. Например, -d – позволяет указывать максимальное количество повторяющихся символов. А опция -p создаёт словари без повторяющихся символов. Т.е. эта программа имеет свои уникальные возможности.

Генерация словарей с Crunch

Простой пример использования:

crunch <минимальная-длина> <максимальная-длина> [набор символов]

Например:

crunch 3 7 abcd

создаст все пароли от 3 до 7 символов, содержащих символы 'abcdef' в качестве набора символов и выведет всё это в стандартный вывод.

Опция -o позволяет вам указать файл для записи вывода, например:

crunch 3 7 abcd -o dict.txt

Опция -t позволяет создавать образцы. В терминах Hashcat это «маски».

Для обозначения набора символов используются следующие сокращения:

  • @ означает буквы в нижнем регистре
  • , означает буквы в верхнем регистре
  • % означает цифры
  • ^ означает разные символы, общим количеством 33. Вы можете посмотреть их командой:
crunch 1 1 -t ^

Все другие символы будут воспроизводиться как есть.

Например, образец 8905%%%%%%% - означает генерацию кандидатов в пароли, каждый из которых будет начинаться с 8905, а затем будут следовать семь цифр. Полная команда будет выглядеть так:

crunch 11 11 -t 8905%%%%%%%

Пользовательские наборы символов Crunch

В Crunch используются следующие сокращения для набора символов (пронумеруем их):

  1. @
  2. ,
  3. %
  4. ^

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

crunch 2 2 VRb5 + 123 + -t @%

Здесь

  • VRb5 – является пользовательским набором символов, он переназначает @, т.е. вместо abcdefghijklmnopqrstuvwxyz, сокращение @ включает в себя набор из символов VRb5.
  • Первый знак + означает, что набор символов, сокращённо указываемый как , (запятая) и который включает в себя ABCDEFGHIJKLMNOPQRSTUVWXYZ, не переназначен и используется набор по умолчанию.
  • Далее 123 – является вторым пользовательским набором символов, включающим, соответственно, цифры 123, этот набор переназначает значение сокращения %
  • Последний знак плюс говорит о том, что набор символов ^ не переназначен.

Вывод:

V1
V2
V3
R1
R2
R3
b1
b2
b3
51
52
53

Рассмотрим ещё один пример:

crunch 4 4 + + 123 + -t %%@^

знак плюс (+) - это заполнитель, таким образом вы можете указать пользовательский набор символов для наборов любого типа. Crunch будет использовать конкретный тип набора символов по умолчанию когда встречает знак плюс (+) в командной строке. Вы должны либо указать значения каждого типа наборов символов или использовать знак плюс. Т.е., если вы имеете два типа наборов символов вы ДОЛЖНЫ либо указать значения для каждого типа или использовать знак плюс. Т.е. в этом примере будут использоваться следующие наборы символов:

  • abcdefghijklmnopqrstuvwxyz
  • ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • 123
  • !@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ 

на конце вышеприведённой строки есть пробел, вывод начнётся с 11a! и закончится за "33z ". Кавычки показывают пробел на конце строки.

Рекомендуется ознакомиться со всеми опциями, а также с дополнительными примерами использования Crunch: https://kali.tools/?p=720

Генерация паролей с Hashcat и maskprocessor

Если у вас не работает Hashcat (она требует установку драйверов видеокарты), то вы можете использовать программу maskprocessor.

Maskprocessor — это высокопроизводительный генератор слов (словарей), упакованный в отдельный исполняемый файл, в котором можно настроить символы для каждой позиции.

Использование maskprocessor:

maskprocessor [опции]... маска

Маска составляется из встроенного набора символов и (или) пользовательского набора символов.

Встроенные наборы символов:

  ?l = abcdefghijklmnopqrstuvwxyz
  ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
  ?d = 0123456789
  ?s =  !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
  ?a = ?l?u?d?s
  ?b = 0x00 - 0xff

Все символы, кроме тех, которые означает набор (?l, ?u, ?d и т.д.) попадают в пароль без изменения.

Если вы хотите составить словарь, который содержит пароли из шести цифр:

maskprocessor ?d?d?d?d?d?d

Если вы хотите, чтобы в четырёх символьных паролях чередовались большие и маленькие буквы:

maskprocessor ?u?l?u?l

Пароль начинается со слова voro, затем идут четыре цифры, а затем два больших буквы:

maskprocessor voro?d?d?d?d?u?u

Пользовательские наборы символов:

  -1,  --custom-charset1=CS  Пользовательские наборы символов
  -2,  --custom-charset2=CS  Пример:
  -3,  --custom-charset3=CS  --custom-charset1=?dabcdef
  -4,  --custom-charset4=CS  устанавливает для ?1 символы 0123456789abcdef

К примеру, в первой позиции должны быть цифры от 1 до 3, во второй позиции буквы AbCd, в третьей позиции любая цифра или маленькая буква, а последними двумя символами должны быть большие буквы:

maskprocessor -1 123 -2 AbCd -3 ?l?d ?1?2?3?u?u

Здесь:

  • -1 123 – первый пользовательский набор символов, включающий символы 123
  • -2 AbCd – второй пользовательский набор символов, включающий символы AbCd
  • -3 ?l?d – третий пользовательский набор символов, включающий символы ?l?d, т.е. все маленькие буквы и цифры
  • ?1?2?3?u?u – маска, составленная из пользовательских и стандартных наборов символов.

Дополнительные полезные опции:

* Приращение:
 
  -i,  --increment=ЧИСЛО:ЧИСЛО   Включить режим приращения. 
                                 Первое ЧИСЛО=начало, второе ЧИСЛО=конец
                                 Пример: -i 4:8 интересующая длинна 4-8 (включая)
 
* Разное:
 
       --combinations          Посчитать количество комбинаций
       --hex-charset           Предположить, что символы даны в шестнадцатеричном виде
  -q,  --seq-max=ЧИСЛО         Максимальное число одинаковых повторяющиеся символов
  -r,  --occurrence-max=ЧИСЛО  Максимальное число вхождения одного символа
 
* Ресурсы:
 
  -s,  --start-at=СЛОВО       Начать с конкретной позиции
  -l,  --stop-at=СЛОВО        Закончить на конкретной позиции
 
* Файлы:
 
  -o,  --output-file=ФАЙЛ     Файл вывода

Hashcat VS maskprocessor

Хотя, в целом, для генерации паролей maskprocessor и Hashcat являются взаимозаменяемыми, нужно помнить, что для выбора режима брутфорса/атаки по маске нужно указывать опцию -a 3 (поскольку Hashcat поддерживает различные режимы атаки, а не только по маске). Также нужно использовать опцию --stdout, которая означает показывать кандидаты в пароли (без взлома хеша).

Hashcat не позволяет задать максимальное число одинаковых повторяющиеся символов, максимальное число вхождения одного символа, начать или закончить на конкретной позиции.

С запуском Hashcat на Linux системах могут быть проблемы из-за необходимости иметь проприетарные драйвера.

Приращение длины пароля делается другими опциями:

Короткая / Длинная опция      | Тип  | Описание                          | Пример
==============================+======+===================================+=======================
    --increment-min           | Числ | Начать прирост маски на X         | --increment-min=4
    --increment-max           | Числ | Остановить прирост маски на X     | --increment-max=8

Заключение

Crunch – очень гибкая программа для генерации словарей. Из минусов можно отметить некоторую запутанность назначения пользовательского набора символов, а также то, что пользовательские наборы символов перезаписывают стандартные наборы.

Hashcat не имеет некоторых опций, связанных с регулированием количества повторяющихся символов в пароле.

maskprocessor является хорошей альтернативой Crunch. Программа полностью повторяет функционал Crunch, при этом позволяет назначать пользовательские наборы символов без перезаписи стандартных наборов. Сам синтаксис назначение представляется более наглядным. Программы Hashcat и maskprocessor работают и на Linux, и на Windows.

Рекомендуется Вам:

Добавить комментарий

Ваш e-mail не будет опубликован.