Hashcat имеет четыре основных способа дешифровки: 1.
Словарь расшифровки 2.
Комбинированные строки дешифровки 3.
Насильственная дешифровка (отмена) - маска атаки (дешифровка) 4.
Смешанное дешифрование Существуют также методы дешифрования на основе правил, а также переключение между большими и малыми буквами, но можно отнести к правилам дешифровки Словарь дешифровки -a 0 -m type hashfile dictionary1 dictionary2 По-видимому, можно также использовать gpu для ускорения дешифровки сочетания строки, если содержимое словаря выглядит таким образом 11 22 33 то сочетание выглядит следующим образом: 1111 1122 1133 2222 2233 3333 Укажите левый или правый символ -j, --rule-left = RULE Single rule applied to each Word on the left dictionary
  -k, --rule-right = RULE Single rule applied to each Word on the right dictionary123 Например, каштань: словаря 1: 11
2212 Словарь2: 33
commands: -j $-
'' -K! $ ''Слово в $прокси-словарь выше 12, -j $- означает добавление -k $с правой стороны слова!
''''Это означает, что слово должно быть добавлено слева.
Таким образом, полученная комбинация: 11 - 33.
22 - 33! 11 - 44! 22 - 44? 1234 Mask Attack это, официальное объяснение дается довольно простым, то есть, что маска атаки сильнее brute-force в сокращении количества списка паролей, что касается алгоритма сокращения количества паролей не слишком описано (на основе файла hcmask), просто упомянуть несколько обычных форм паролей для сокращения количества паролей, например, каштани: "Kele1997 ", насильственное расшифровку при перечислении всех возможных, и т. д..
Но при маскировании программа пытается использовать только первые буквы, поскольку большинство паролей редко имеют заглавные буквы во втором или третьем месте. Эти правила уменьшают количество кандидатов для паролей. Официально, маска не имеет никаких недостатков по сравнению с brute-force, поскольку маска может создать все brute-force пароли Charset встроенный набор символов
? l = abcdefghijklmnopqrstuvwxyz
? u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
? d = 0 123456789
? h = 0123456789abcdef
? H = 0123456789ABCDEF
? s = «space»! "#$%()*+,-./:;&'<=?@>[\]^_`{|}~
? a =? L?У? d.с
? b = 0 - 0xff123456789 Каталог программы содержит наборы символов, содержащие всевозможные странные символы, если вы добавляете их в ваш пароль, вы можете использовать эти файлы hashcat имеет четыре параметра для указания пользовательского набора символов - custom-charset1 = CS - custom-charset2 = CS - custom-charset3 = CS - custom-charset4 = CS Четыре параметра могут быть заменены сокращениями -1, -2, -3 и -4.
The following command sets the first custom charset (-1) to russian language specific chars: -1 charsets / special / Russian / ru_ISO-8859-5-special.hcchr Прирост длины пароля Мы не должны указывать фиксированную длину пароля, мы можем это сделать, указав параметр -increment.
-i, --increment Включение режима увеличения маски | | --increment-min Num Начало увеличения маски на X --increment-min = 4 --increment-max; | Число | Stop mask incrementing at X 123 Hashcat mask files -a 3hash.txt mask_file.hcmask Загрузит файл hcmask, используя маску в файле для дешифровки | | | |
hashcat поставляет несколько файлов hcmask, которые размещены в каталоге программы mask / под шестнадцатипятичными символами --hex-charset. После строки 16 дешифровки пароль, созданный сочетанием словарных и насильственных символов дешифровки. Например, Chestnut: example.dict password
Hello12 hashcat64 -a 6 example.dict?
d. d. d. d?
d. d. d. d представляет собой цельное число длиной в четыре цифры, поэтому последнее полученное последовательность кандидатов на пароль будет: password000000
password0001 password0002 . . . password99991234567 hashcat64 -a 6?
d. d. d. d Результаты example.dict: 0000password
0001password . . . 9999password123456 Использование правил для эмулирования гибридной атаки (Using rules to emulate Hybrid attack) Использование maskprocessor для создания правил, необходимых для насильственного дешифрования, а затем полученный файл правил можно загрузить с помощью hashcat -r и смешивать словарь для создания кандидата пароля. Пример: example.dict hello
password12 hash-o bf.rule $?
'd $? d $? d $? d создание правила выглядит так: bf.rule $0 $0 $0 $0
$0 $0 $0 $1  $0 $0 $0 $2 $0 $0 $0 $3 $0 $0 $4 $ . . . $9 $9 $9 $9 $9123456789 Затем используйте hashcat -a 6 example.dict -r bf.rule -m...
В итоге вы получили следующий вид: hello0 0 0 0
Password0 0 0 hello0 0 0 1 password0 0 0 1 hello0 0 0 2 password0 0 0 2 . . . hello9 9 9 9 password9 9 9 9 91234567891011