Як використовувати HASHCAT у Kali Linux ?

13 травня 2023 1 хвилина Автор: Lady Liberty

Легендарний Hashcat

Hashcat – легендарний зломщик паролів, призначений для злому навіть найскладніших паролів. Популярний інструмент дозволяє зламати пароль у різний спосіб. Hashcat переводить дані в спотворений стан (це випадковий рядок фіксованого розміру). Хеші не дозволяють комусь розшифрувати дані за допомогою певного ключа, як це дозволяють стандартні протоколи шифрування. Традиційну атаку перебором можна вважати застарілою, і команда розробників Hashcat рекомендує атаку по масці як повний замінник. Hashcat використовує попередньо обчислені словники, райдужні таблиці і навіть методи брутфорсу, щоб знайти ефективний та дієвий спосіб злому паролів. Програма дозволяє нам налаштувати атаку із заданими правилами та масками. Hashcat – дуже цікаве застосування GPU для перебору паролів. Дозволяє багаторазово збільшити швидкість перебору паролів при використанні різних алгоритмів шифрування: md5, md4, sha1, sha256 та інших. У програмі використовується розпаралеліний алгоритм перебору, базований на технології CUDA (NVidia) та OpenCL (AMD/ATI).

Програма крос-платформна працює на всіх версіях Windows, Linux та Max OS X. У Kali Linux він встановлений у системі. Hashcat пропонує безліч моделей атак для отримання ефективного та комплексного покриття простору хешів. Багато алгоритмів, що підтримуються Hashcat, можуть бути зламані в більш короткий час, використовуючи добре документовані можливості GPU. Для цього призначена програма oclHashcat, при її використанні досягається значний приріст у таких алгоритмах як MD5, SHA1 та інших. У даний час Hashcat об’єднала в собі ці дві окремі гілки програми. Тепер абсолютно всі версії злиті в одну, яка при відновленні паролів використовує центральний процесор та відеокарту.

Особливості Hashcat

  • Безкоштовна

  • Підтримка сесій

  • Підтримка відновлення

  • Найшвидший у світі зломщик

  • Вбудована система бенчмарків

  • Інтегрований тепловий сторож

  • Відкритий вихідний код (ліцензія MIT)

  • Інтерактивна підтримка паузи/відновлення

  • Мультиплатформна (Linux, Windows та OSX)

  • Безліч хешів (одночасний злом безлічі хешів)

  • Підтримка автоматичного тонкого налаштування продуктивності

  • Підтримка автоматичного порядку простору ключів ланцюгів Маркова

  • Підтримує розподілений злам через мережу (використовуючи оверлей)

  • Підтримка шістнадцяткових солей та шістнадцяткових наборів символів

  • Підтримка читання кандидатів у паролі з файлу та стандартного введення

  • Підтримка розподілених систем злому (за допомогою додаткового сегмента)



  • Перший і єдиний у світі внутрішньоядерний двигун правил

  • 350+ реалізованих з думкою про продуктивність типів хешів

  • Задіює декілька пристроїв (використовує безліч пристроїв на одній системі)

  • Задіює пристрої різних типів (використовує різні типи пристроїв на одній системі)

  • Мультиплатформна (CPU, GPU, DSP, FPGA і т.д., все, що поставляється із середовищем виконання OpenCL)

Встановлення та довідка

У Kali Linux утиліта вже встановлена. У випадку, якщо у вас її немає – використовуємо такі команди:

apt update

apt install hashcat

Для відображення довідки ми скористаємося аргументом –help:

hashcat –help

Приклад використання

Опцією -b запускається бенчмарк hashcat. Цей бенчмарк міряє, з якою швидкістю перебираються паролі. Запуск бенчмарку пройде успішно лише якщо драйвера встановлені правильно і все гаразд. Тобто. Бенчмарк це ще й спосіб зробити перевірку системи та hashcat. Швидкість виводиться для кожного пристрою окремо, а також для всіх пристроїв разом (запис Speed.Dev.#*).

Допустимо нам дан хеш 53ab0dff8ecc7d5a18b4416d00568f02, який потрібно зламати. Про це хеш відомо, що він отриманий за допомогою алгоритму хешування MD5 (тобто це MD5 хеш). Також відомо, що зашифрований рядок складається лише з маленьких букв англійського алфавіту та має довжину від шести до десяти символів.

Для того, щоб правильно запустити атаку в Hashcat, необхідно вказати тип хешу, що атакується. Для цього використовується опція -m, після якої необхідно вказати число, що відповідає вибраному типу хеша. Число можна дізнатися із довідки інструменту. У нашому випадку номер дорівнює “0”.



Виходячи з отриманих знань, запускаємо атаку:

hashcat.exe -m 0 -a 0 53ab0dff8ecc7d5a18b4416d00568f02 dict.txt

dict.txt – шлях до файлу словника.



Перший рядок 53ab0dff8ecc7d5a18b4416d00568f02:hackware містить хеш, що атакується, і після двокрапки зламаний пароль – в даному випадку це hackware. Хеш необов’язково вказувати в рядку команди – він може бути записаний у файл, тоді при запуску злому вказується шлях до файлу, що містить хеш. Якщо ви повторюєте приклади, ви побачите повідомлення: INFO: All hashes found in potfile! Use –show to display them. Воно означає, що хеш, який ви намагаєтеся зламати, вже був зламаний раніше. Усі зламані хеші зберігаються у файлі hashcat.potfile у тому ж директорії, як і Hashcat. Цей файл можна видалити, щоб запускати заново атаку на той самий хеш різними способами. Також є опція –show, після якої потрібно вказати хеш, що цікавить: hashcat –show 53ab0dff8ecc7d5a18b4416d00568f02 і якщо його знайдено у файлі hashcat.potfile, то буде виведена інформація про зламаний пароль.

Атака по масці

У Hashcat немає такого режиму, як брут-форс – повного перебору паролів. Його поглатив режим атаки по масці. Це більш гнучкий тип атаки, який дозволяє як реалізувати повний перебір, так і перебір за тонко налаштованими критеріями.

Для складання масок використовують набори символів. Набори символів у Hashcat бувають двох видів:

  • вбудовані набори символів

  • набір символів користувача

У Hashcat вбудованим набором символів є:



Наприклад, ?u означає всі великі літери, ?d – всі цифри. Припустимо, нам відомо, що пароль складається з чотирьох символів, першими двома символами є великі літери, а третім і четвертим символами є цифри, тоді маска буде така:

?l?l?h?h

Щоб зламати пароль з нашого хеша, даного як приклад, необхідно скласти маску, що складається з восьми символів, кожен із яких є маленькою літерою. Це маска: ?l?l?l?l?l?l?l?l

hashcat -m 0 -a 3 53ab0dff8ecc7d5a18b4416d00568f02 ?l?l?l?l?l?l?l?l

Для того, щоб генерувалися паролі різної довжини, є такі опції:

  • -i – Увімкнути режим збільшення маски

  • –increment-min | Число | Розпочати приріст маски на X, приклад використання: –increment-min=4

  • –increment-max | Число | Припинити приріст маски на X, приклад використання: –increment-max=8

Опція -i є необов’язковою. Якщо вона використовується, це означає, що довжина кандидатів у паролі не повинна бути фіксованою, вона повинна збільшуватися за кількістю символів. Опція –increment-min також є необов’язковою. Вона визначає мінімальну довжину кандидатів у паролі. Якщо використовується опція -i, то значення -increment-min за замовчуванням є 1. І опція –increment-max є необов’язковою. Вона визначає максимальну довжину кандидатів у паролі. Якщо вказано опцію -i, але пропущено опцію –increment-max, то її значенням за умовчанням є довжина маски.

Правила використання опцій збільшення маски

  • перед використанням –increment-min та –increment-max необхідно вказати опцію -i

  • значення опції –increment-min може бути меншим або рівним значенню опції –increment-max, але не може перевищувати його

  • довжина маски може бути більшою за числом символів або рівною числу символів, встановленою опцією –increment-max, але довжина маски не може бути менше довжини символів, встановленої –increment-max.

Інші статті по темі
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.