hashcat має чотири основні методи дешифрування :
1. Словник Розшифровка
2. Комбінований рядок Розшифровка
3. Насильницькарозшифровка(застаріла)–маскова атака(маскарозшифровка)
4. Змішане розшифрування
і методи розшифрування на основі правил , а також методи перемикання регістру, але їх можна класифікувати як правило розшифрування
-a 0 -m type hashfile dictionary1 dictionary2
Здається, ви також можете використовувати графічний процесор для прискорення
Якщо вміст словника такий
11
22
33
Тоді комбінація така:
1111
1122
1133
2222
2233
3333
-j, --rule-left=rule єдине правило застосоване до кожного слова на словника лівого -k, --rule-right=правило єдине правило застосоване до кожного слова на правому словнику 123
Наприклад, каштан:
Словник 1:
11 2212
Словник 2:
33 4412
Команди:
-j '$-' -k '! $'12
Слово в словнику проксі $ вище, -j '$-' означає додавання -, -k '$ праворуч від слова! ' означає додати один ліворуч від слова!
Отже, отримана комбінація:
11-33! 22-33! 11-44! 22-44! 1234
Офіційне пояснення є відносно простим, тобто Mask Attack є кращим, ніж brute-force, оскільки зменшує кількість таблиць паролів. Що стосується алгоритму зменшення кількості паролів, я не знаю багато про це (на основі файлу hcmask), я просто згадую, що кількість паролів може бути зменшена за допомогою деяких звичайних форм пароля, наприклад, "Kele1997", коли насильницьке розшифрує буде перераховано всі можливості тощо. Але під час маскової атаки програма намагатиметься писати лише першу літеру з великої літери, оскільки більшість паролів рідко мають велику літеру в другій або третій позиції. Ці правила використовуються для зменшення кількості кандидатів на паролі
Офіційно сказано, що mask attack не має недоліків порівняно з грубою силою, оскільки mask attack може генерувати всі грубі паролі
вбудований набір символів
? l = abcdefghijklmnopqrstuvwxyz
? u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
? d = 0123456789
? h = 0123456789abcdef
? H = 0123456789ABCDEF
? s = «Космос»! "#$%&'()*+,-./:; <=>? @[\]^_`{|}~
? a = ? л? У? Д? с
? b = 0 - 0xff123456789
У каталозі програми є набори символів, які містять усілякі дивні символи, якщо вони є у вашому паролі, ви можете використовувати ці файли
hashcat має чотири параметри для вказівки спеціального набору символів
–custom-charset1=CS
–custom-charset2=CS
–custom-charset3=CS
–custom-charset4=CS
Ці чотири параметри можна замінити абревіатурами -1, -2, -3 і -4. Ви можете вказати спеціальний набір символів для виконання Розшифрувати
Наступна команда встановлює перший користувацький набір символів (-1) для специфічних символів російської мови:
-1 charsets/special/russian/ru_ISO-8859-5-special.hcchr
Нам не потрібно вказувати фіксовану довжину пароля, ми можемо вказати параметр –increment
-i, --Інкремент | | Enable mask increment mode 6x126> | Num | Stop mask incrementing at X 123
-a 3 hash.txt mask_file.hcmask Завантажте файл hcmask і використовуйте маску у файлі, щоб розшифрувати
hashcat. Поставляється з кількома файлами hcmask і розміщується під каталогом програми mask/
--hex-charset Рядок після 16 виконує
Пароль, згенерований словником і насильницьким розшифрування
Наприклад, символи, згенеровані комбінацією: example.dict
Пароль hello12
hashcat64 -a 6 example.dict ? Д? Д? Д? d
? Д? Д? Д? d представляє чотиризначне ціле число
, тому остаточна згенерована послідовність кандидатів на пароль така:
password0000 Пароль 0001 Пароль 0002 . . . Пароль 99991234567
hashcat64 -a 6 ? Д? Д? Д? d example.dict
Результат:
0000password 0001 Пароль . . . 9999password123456
Використовуйте maskprocessor, щоб використовувати правила для створення насильницьких правилРозшифруйте правила, необхідні для , а потім згенерований файл правил можна завантажити за допомогою hashcat -r і змішати словник у кандидат на пароль
Наприклад: example.dict
Привіт пароль 12
хеш -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 $0 $4 . . . $9 $9 $9 $9123456789
Потім використовуйте hashcat -a 6 example.dict -r bf.rule -m . . . .
Останнє згенероване виглядає так:
hello0 0 0 0 Пароль 0 0 0 0 Привіт 0 0 0 1 Пароль 0 0 0 1 Привіт 0 0 0 2 Пароль 0 0 0 2 . . . Привіт 9 9 9 9 Пароль 9 9 9 91234567891011