Hashcat — це інструмент для вибуху паролів і один із основних інструментів інформаційної безпеки. Цим я збираю запис і підсумок цієї статті.

Опубліковано в · автор:Майстер відновлення пароля документа

Hashcat — це інструмент для вибуху паролів і один із основних інструментів інформаційної безпеки. Цим я збираю цю статтю для запису та підсумовування на випадок надзвичайних ситуацій. Це також може допомогти користувачам мережі, які прочитали цю статтю.

Вступ

Hashcat — це найшвидша програма для злому паролів у світі. Це розподілений інструмент з відкритим кодом, який підтримує кілька платформ і алгоритмів.

Офіційно: https://hashcat.net/hashcat/

Github:https://github.com/hashcat/hashcat

安装

Windows

https://github.com/hashcat/hashcat/releases 下载最新版压缩包,解压根据自己的平台运行 hashcat64.exe 或者 hashcat32.exe

常用参数

-m Тип хеша злому

Вкажіть тип хеша, який потрібно зламати, після чого слідує число, що відповідає типу хеша

-a Режим злому

Вкажіть режим злому, який потрібно використовувати, його значення звертається до наступних параметрів:

- [ Атака Режими ] - 

  # | режим 
 ===+===== 
  0 | Прямий                 # Прямий злом словника 
  1 | комбінація              # комбінований крек 
  3 | Груба сила             # Маска насильницький злом 
  6 | Hybrid Wordlist + Mask  # Dictionary+Mask Crack 
  7 | Hybrid Mask + Wordlist  # Mask+Dictionary Crack

–increment

Увімкніть режим інкрементного злому та дозвольте hashcat виконати злом у вказаному діапазоні довжин пароля

–increment-min

Мінімальна довжина пароля, яка безпосередньо дорівнює цілому числу. Налаштуйте режим інкременту, щоб використовувати

–increment-max

максимальну довжину пароля, а потім безпосередньо дорівнювати цілому числу. Налаштуйте режим інкременту, щоб використовувати

–force

-o

--outfile Вказує хеш після успішного злому та місце зберігання відповідного пароля відкритого тексту

-o

- -optimized-kernel-enable Увімкніть оптимізоване ядро (обмеження довжини пароля)

-d

--opencl-devices Вкажіть пристрої opencl, які я тут підтримую, такий:


Код


* Пристрій #1: Intel(R) Core(TM) i7-9750H ЦП @ 2,60 ГГц, пропущено. 
* Пристрій #2: Intel(R) UHD Графіка 630, 384/1536 МБ Розподіляється, 24MCU 
* Пристрій #3: AMD Radeon Pro 555X Compute Engine, 1024/4096 MB розподіляється, 12MCU

-D

--opencl-device-types  Вкажіть тип пристрою opencl, який підтримує такі типи пристроїв:


bash


1 | CPU2 | GPU3 | FPGA, DSP, Копроцесор

Зазвичай використовується  -D 2  для визначення злому графічного процесора

злому маски

правила маскування


bash


 ?  | набір символів===+== 
 l | abcdefghijklmnopqrstuvwxyz          # Малі букви a-z 
 u | ABCDEFGHIJKLMNOPQRSTUVWXYZ          # Великі літери A-Z 
 d | 0123456789                          # Цифри 0-9 
 h | 0123456789abcdef                    # Цифри + abcdef 
 H | 0123456789ABCDEF                    # Цифри + ABCDEF 
 s |  ! "#$%&'()*+,-./:; <=>? @[\]^_`{|}~   # Спеціальні символи     
 а | ? л? У? Д? s                            #  Всі видимі символи на клавіатурі 
 b |  0 - 0xff                         #  Можливо, використовується для відповідності 

правило спеціальної маски


bash


--custom-charset1 [символи] еквівалентно  -1 
--custom-charset2 [символи] еквівалентно  -2 
--custom-charset3 [символи] еквівалентно  -3 
--custom-charset4 [символи] еквівалентно  -4

використовувати   у масці? 1、? 2、? 3、? 4  для представлення

Деякі випадки:


bash


--custom-charset1 abcd123456! @-+

У цей час? 1 означає  abcd123456! @-+


bash


--custom-charset2 ? л? d

У цей час? 2 означає  ? л? d  тобто  ? h цифри + малі літери:


bash


-3 abcdef -4 123456

У цей час ? 3? 3? 3? 3? 4? 4? 4? 4  означає, що перші чотири цифри можуть бути  abcdef, а останні чотири цифри можуть бути  123456

Dictionary Crack


код


1q2w3e4r` Значення MD5 `5416d7cd6ef195a0f7622a9c56b55e84


bash


hashcat -a 0 -m 0 '5416d7cd6ef195a0f7622a9c56b55e84' hashpass.txt -o success.txt

Видаліть зламаний пароль

Іноді під час злому з'являється наступна підказка:


Код


Інформація: Усі Хеші Знайдено у Потфайлі!  використовувати --show to display them.

Це показує, що ми успішно зламали пароль раніше, тому Hashcat більше не відображається. Ви можете додати параметри  --show  пізніше, щоб відобразити пароль:


bash


hashcat -a 0 -m 0 'cbc8f5435c87e13c5d14e6ce92358d68' hashpass.txt --Показати 
cbc8f5435c87e13c5d14e6ce92358d68:123456@abc

Hashcat зберігає успішно зламаний файл пароля: ~/.hashcat/hashcat.potfile

Якщо ви хочете відобразити зламаний пароль безпосередньо, ви можете безпосередньо видалити файл.

Bulk Crack


bash


# Видаліть попередні успішні записи злому rm ~/.hashcat/hashcat.potfile# hash.txt — пароль для злому hashpass.txt — словник   Експортуйте результати злому в success.txt  і видаліть успішно зламані hashcat -a 0 -m 0 hash.txt hashpass.txt -o success.txt  Комбінований крек

багатословниковий крек


bash


hashcat -a 1 -m 0 '5416d7cd6ef195a0f7622a9c56b55e84' hashpass1.txt hashpass1.txt

Dictionary + Mask Crack


bash


echo -n admin888 |openssl MD5 
7fef6171469e80d32c0559f88b377245

Зламати значення MD5 для  admin888 :


bash


hashcat -A 6 -m 0 '7fef6171469e80d32c0559f88b377245' hashpass.txt -O

Mask + Dictionary Crack


bash


hashcat -A 7 -m 0 '7fef6171469e80d32c0559f88b377245' 'admi? л? Д? Д? d' hashpass.txt  -O

Crack Case

Digital Crack 8-bit MD5 Encryption

To 23323323 MD5 Encryption:


bash


$ echo -n 23323323 |openssl MD5 
5a745e31dbbd93f4c86d1ef82281688b

Використовуйте hashcat для злому:


bash


hashcat -a 3 -m 0 --force '5a745e31dbbd93f4c86d1ef82281688b' '? Д? Д? Д? Д? Д? Д? Д? d' -O

8-розрядне шифрування MD5 великих і малих літер crack


bash


$ echo -n PassWord |openssl MD5 
a9d402bfcde5792a8b531b3a82669585

Використовуйте hashcat для злому:


bash


hashcat -a 3 -m 0 -1 '? л? u' --force  'a9d402bfcde5792a8b531b3a82669585' '? 1? 1? 1? 1? 1? 1? 1? 1' -O

Тут визначається спеціальне правило  -1. У цей час  ? 1  означає  ? л? У, тобто великі та малі літери.

5-7-значні зашифровані верхні та нижні літери MD5 + цифрова тріщина

Admin88  Значення MD5  2792e40d60bac94b4b163b93566e65a9


bash


hashcat -a 3 -m 0 -1 '? л? У? d' --force  '2792e40d60bac94b4b163b93566e65a9' --increment --increment-min 5 --increment-max 7 '? 1? 1? 1? 1? 1? 1? 1' -O

Тут визначається спеціальне правило  -1. У цей час  ? 1  означає  ? л? У? d, тобто великі та малі літери + цифри.

admin Починаючи з 10 цифр MD5 зашифрованих великих і малих літер + цифрова тріщина

admin23323  Значення MD5  a9991129897a44e0d1c2855c3d7dccc4


bash


hashcat -a 3 -m 0 -1 '? л? У? d' --force  'a9991129897a44e0d1c2855c3d7dccc4' 'адмін? 1? 1? 1? 1? 1' -O

MySQL4.1/MySQL5

Пароль для перегляду MySQL:


MySQL


MySQL> select Password from mysql.user; 
+-------------------------------------------+ 
| Пароль                                  | 
+-------------------------------------------+ 
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
+-------------------------------------------+ 
4 rows in set (0.00 сек)

Потім почніть зламати словником:


bash


hashcat -a 0 -m 300 --force '81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' hashpass.txt -O

Linux /etc/shadow sha512crypt $6$, SHA512 (Unix)

Перегляньте файл пароля  /etc/shadow :


bash



root@kali-linux:~# cat /etc/shadowroot:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1:18201:0:999999:7::: 
Демон:*:18024:0:99999:7::: 
Бін:*:18024:0:99999:7::: 
СИС:*:18024:0:99999:7::: 
Синхронізація:*:18024:0:99999:7::: 
Ігри:*:18024:0:99999:7::: 
Чоловік:*:18024:0:99999:7::: 
ЛП:*:18024:0:99999:7::: 
Пошта:*:18024:0:99999:7::: 
Новини:*:18024:0:99999:7::: 
УУКП:*:18024:0:99999:7::: 
Проксь:*:18024:0:99999:7::: 
www-дані:*:18024:0:99999:7::: 
Резервна копія:*:18024:0:99999:7::: 
Список:*:18024:0:99999:7::: 
irc:*:18024:0:99999:7::: 
Комарі:*:18024:0:99999:7::: 
нікога:*:18024:0:99999:7::: 
_apt:*:18024:0:99999:7::: 
systemd-timesync:*:18024:0:99999:7::: 
systemd-network:*:18024:0:99999:7::: 
systemd-resolve:*:18024:0:99999:7::: 
mysql:!: 18024:0:99999:7::: 
НТП:*:18024:0:99999:7::: 
messagebus:*:18024:0:99999:7::: 
arpwatch:!: 18024:0:99999:7::: 
Debian-exim:!: 18024:0:99999:7::: 
uuidd:*:18024:0:99999:7::: 
Червоні шкарпетки:!: 18024:0:99999:7::: 
ЦС:*:18024:0:99999:7::: 
rwhod:*:18024:0:99999:7::: 
Йодин:*:18024:0:99999:7::: 
Міредо:*:18024:0:99999:7::: 
dnsmasq:*:18024:0:99999:7::: 
Постгрес:*:18024:0:99999:7::: 
usbmux:*:18024:0:99999:7::: 
rtkit:*:18024:0:99999:7::: 
stunnel4:!: 18024:0:99999:7::: 
sshd:*:18024:0:99999:7::: 
Debian-snmp:!: 18024:0:99999:7::: 
ССЛХ:!: 18024:0:99999:7::: 
Пульс:*:18024:0:99999:7::: 
Мова-диспетчер:!: 18024:0:99999:7::: 
Авахі:*:18024:0:99999:7::: 
Санед:*:18024:0:99999:7::: 
inetsim:*:18024:0:99999:7::: 
Колір:*:18024:0:99999:7::: 
geoclue:*:18024:0:99999:7::: 
Кінг-Фішер:*:18024:0:99999:7::: 
Debian-gdm:*:18024:0:99999:7::: 
Драдіс:*:18024:0:99999:7::: 
яловичина-xss:*:18024:0:99999:7::: 
systemd-coredump:!!: 18082:

Ви бачите, що  root  має пароль. Метод шифрування поверхневого хеша  $6  використовувався раніше: sha512crypt $6$, SHA512 (Unix).


bash


# Маска злому кореневого пароля  не записує успішний злом у potfile hash  Вкажіть пристрій 2 (дисплей ядра) для запуску пароля   і ввімкніть оптимізований hashcat -a 3 -m 1800 --force  '$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1' '? л? л? л? l' -O -d 2 --potfile-disable# Маска для злому кореневого пароля Ігнорувати ім'я користувача Не записувати успішний злом у potfile hash Вкажіть пристрій 2 (основний дисплей), щоб запустити пароль   і ввімкнути оптимізацію hashcat -a 3 -m 1800 --force  'root:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1' '? л? л? л? l' -O -d 2 --username --potfile-disable

Процесор і незалежна графіка, які постачаються з macOS, не можуть бути зламані. Тут сам Гуогуан вручну перемикав  -d 2  і використовував основний дисплей, щоб успішно запустити:

Hashcat 是一款密码爆破神器,信息安全必备工具之一,特此收藏此文章记录总结

зламаний словник Windows LM Hash


bash


hashcat -a 0 -m 3000 --force '921988ba001dc8e14a3b108f3fa6cb6d' password.txt

Словник зламати Windows NTLM Hash


bash


hashcat -a 0 -m 1000 --force 'e19ccf75ee54e06b06a5907af13cef42' password.txt

розподілений злом

Параметри Тип Опис Розуміння Guoguang Приклад
–brain-server
Enable brain server Увімкнути головний сервер
-z, –brain-client
Enable brain client, activates -S Увімкніть розподілений клієнт
–brain-client-featuresNumВизначте функції клієнта мозку, див. нижче Визначте функціональність клієнта –brain-client-features=3
–brain-hostStrХост сервера мозку (IP або домен)IP або домен головного сервера–brain-host=127.0.0.1
– порт мозкупортпорт сервера мозку Порт головного сервера–brain-port=13743
–brain-passwordStrbrain server authentication passwordПароль автентифікації головного сервера–brain-password=e8acfc7280c48009
–brain-sessionHexПеревизначає автоматично розрахований мозковий сеанс Автоматично перезаписувати вже розрахований основний сеанс –brain-session=0x2ae611db
–brain-session-whitelistHexДозволити лише певні сеанси, розділені комами Дозволено лише задані розмови, розділені комами –brain-session-whitelist=0x2ae611db

Функції клієнта


bash


- [ brain Client Features ] -  # | Features 
 ===+== 
  1 | Надіслати Хешовані Паролі                       # Надіслати зламаний пароль 
  2 | Надіслати Атака Позиції                       #<29x2 9>Надіслати зламане розташування   3 | Send hashed passwords and attack positions  # Send hashed passwords and attack positions  # Send hashed passwords and attack positions<32x42>


Попередня стаття:Як використовувати hashcat Обмін технологіями
Наступна стаття:Налаштування параметрів режиму злому в підручнику з використання Hashcat (наддетальна інформація, варто зібрати)

Останні статті

Закріплена стаття