В етичному хакерстві та тестуванні на проникнення злом паролів має вирішальне значення для отримання доступу до системи чи сервера.
У системах і базах даних паролі рідко зберігаються у вигляді звичайного тексту.
Паролі завжди хешуються перед збереженням у базі даних, а хеш порівнюється під час процесу перевірки.
Залежно від використовуваного шифрування різні системи зберігають хеші паролів по-різному. А якщо у вас є хеші, ви можете легко зламати будь-який пароль.
У цій статті ми розглянемо, як зламати хеші паролів за допомогою зручного та чудового інструменту командного рядка Hashcat.
Тож почнемо.
Але перед тим…
Що таке хеш-функція?
Хешування — це процес перетворення звичайного вхідного тексту в текстовий рядок фіксованого розміру за допомогою певної математичної функції, відомої як хеш-функція. Будь-який текст, незалежно від довжини, можна перетворити на випадкову комбінацію цілих чисел і букв за допомогою алгоритму.
- Введені дані стосуються повідомлення, яке буде хешовано.
- Хеш-функція — це алгоритм шифрування, такий як MD5 і SHA-256, який перетворює рядок на хеш-значення.
- І, нарешті, результатом є хеш-значення.
Що таке Hashcat?
Hashcat це найшвидший інструмент відновлення пароля. Він був розроблений для зламу складних паролів за короткий проміжок часу. І цей інструмент також здатний здійснювати атаки зі списку слів і атаки грубою силою.
Hashcat має два варіанти. На основі CPU та GPU (графічного процесора). Інструмент на основі графічного процесора може зламати хеші за менший час, ніж процесор. Ви можете перевірити вимоги до драйвера GPU на їхньому офіційному веб-сайті.
особливості
- Безкоштовний і з відкритим кодом
- Можна реалізувати понад 200 варіантів типу хешу.
- Підтримує кілька операційних систем, таких як Linux, Windows і macOS.
- Доступна підтримка кількох платформ, таких як CPU та GPU.
- Одночасно можна зламати кілька хешів.
- Підтримуються файли Hex-salt і Hex-charset, а також автоматичне налаштування продуктивності.
- Доступна вбудована система бенчмаркінгу.
- Розподілені мережі злому можуть підтримуватися за допомогою накладень.
Ви також можете побачити інші функції на їх веб-сайті.
Встановлення Hashcat
По-перше, переконайтеся, що ваша система Linux оновлена найновішими програмами та інструментами.
Для цього відкрийте термінал і введіть:
$ sudo apt update && sudo apt upgrade
Hashcat зазвичай попередньо встановлено в Kali Linux. Інструмент можна знайти в розділі злому паролів. Але якщо вам потрібно встановити його вручну в будь-якому дистрибутиві Linux, введіть наступну команду в терміналі.
$ sudo apt-get install hashcat
Використання інструменту
Щоб розпочати роботу з Hashcat, нам знадобляться деякі хеші паролів. Якщо у вас немає хешу для зламу, ми спочатку створимо кілька хешів.
Щоб створити хеші за допомогою командного рядка, просто дотримуйтеся наведеного нижче формату.
echo -n "input" | algorithm | tr -d "-">>outputfiename
Наприклад, ви бачите, що я перетворив деякі слова на хеші за допомогою алгоритму md5 нижче.
┌──(root💀kali)-[/home/writer/Desktop] └─# echo -n "techukraine.net" | md5sum | tr -d "-">>crackhash.txt echo -n "password123" | md5sum | tr -d "-">>crackhash.txt echo -n "Webtechnology" | md5sum | tr -d "-">>crackhash.txt echo -n "microsoftteams" | md5sum | tr -d "-">>crackhash.txt echo -n "recyclebin" | md5sum | tr -d "-">>crackhash.txt
Вихідні дані буде збережено у файлі crackhash.txt.
Тепер ми перевіримо хеші, які були збережені в даному файлі.
┌──(root💀kali)-[/home/writer/Desktop] └─# cat crackhash.txt 066d45208667198296e0688629e28b14 482c811da5d5b4bcd497ffeaa98491e3 72a2bc267579aae943326d17e14a8048 2192d208d304b75bcd00b29bc8de5024 caae8dd682acb088ed63e2d492fe1e13
Ви бачите, тепер у нас є кілька хешів для зламу. Це процедура створення хешу за допомогою обраного вами алгоритму.
Наступний крок — запустити інструмент Hashcat на вашій машині Linux. Просто використовуйте наступну команду, щоб використовувати Hashcat.
$ hashcat --help
З’являться всі параметри, які потрібно знати, щоб запустити інструмент. На терміналі ви можете знайти всі режими атаки та хешування.
Загальна форма команди така
$ hashcat -a num -m num hashfile wordlistfile
Тут «num» представляє конкретну атаку та режим хешування, який потрібно використовувати. Якщо прокрутити термінал, то можна знайти точні цифри для кожної атаки та режиму хешування, наприклад, для md4 – число 0, а для алгоритму sha256 – число 1740.
Список слів, який я збираюся використовувати, це список слів rockyou. Ви можете легко знайти цей список слів у шляху /usr/share/wordlists.
Ви навіть можете скористатися командою locate, щоб знайти шлях до списку слів.
┌──(root💀kali)-[/home/writer] └─# locate rockyou.txt
І, нарешті, щоб зламати хеші за допомогою файлу списку слів, скористайтеся такою командою.
$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt
Після виконання цієї команди ви можете отримати помилку виконання (помилка винятку довжини маркера), яку можна легко вирішити.
Щоб вирішити цю проблему, збережіть кожен хеш окремо в іншому файлі. Ця помилка виникає, якщо у вас низька швидкість процесора або графічного процесора. Якщо ваш комп’ютер має високошвидкісний процесор, ви можете легко зламати всі хеші одночасно як один файл.
Тому після виправлення помилки і всього, результат буде таким.
┌──(root💀kali)-[/home/writer/Desktop] └─# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt hashcat (v6.1.1) starting... OpenCL API (OpenCL 1.2 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project] ============================================================================================================================= * Device #1: pthread-Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz, 2403/2467 MB (1024 MB allocatable), 4MCU Minimum password length supported by kernel: 0 Maximum password length supported by kernel: 256 Hashes: 1 digests; 1 unique digests, 1 unique salts Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates Rules: 1 Dictionary cache built: * Filename..: rockyou.txt * Passwords.: 14344405 * Bytes.....: 139921671 * Keyspace..: 14344398 * Runtime...: 1 sec 8276b0e763d7c9044d255e025fe0c212: [email protected] Session..........: hashcat Status...........: Cracked Hash.Name........: MD5 Hash.Target......: 8276b0e763d7c9044d255e025fe0c212 Time.Started.....: Sun Dec 12 08:06:15 2021 (0 secs) Time.Estimated...: Sun Dec 12 08:06:15 2021 (0 secs) Guess.Base.......: File (rockyou.txt) Guess.Queue......: 1/1 (100.00%) Speed.#1.........: 1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8 Recovered........: 1/1 (100.00%) Digests Progress.........: 4096/14344398 (0.03%) Rejected.........: 0/4096 (0.00%) Restore.Point....: 0/14344398 (0.00%) Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1 Candidates.#1....: 123456 -> pampam Started: Sun Dec 12 08:06:13 2021 Stopped: Sun Dec 12 08:06:16 2021
У наведеному вище результаті, після деталей кешу словника, можна помітити, що хеш було зламано, а пароль виявлено.
Висновок
Сподіваюся, ви краще зрозуміли використання Hashcat для злому паролів.
Вам також може бути цікаво дізнатися про різні інструменти грубої сили для тестування на проникнення та деякі з найкращих інструментів пентестування.