Hashcat — це інструмент для вибуху паролів і один із основних інструментів інформаційної безпеки. Цим я збираю цю статтю для запису та підсумовування на випадок надзвичайних ситуацій. Це також може допомогти користувачам мережі, які прочитали цю статтю.
Hashcat — це найшвидша програма для злому паролів у світі. Це розподілений інструмент з відкритим кодом, який підтримує кілька платформ і алгоритмів.
Офіційно: https://hashcat.net/hashcat/
Github:https://github.com/hashcat/hashcat
https://github.com/hashcat/hashcat/releases 下载最新版压缩包,解压根据自己的平台运行 hashcat64.exe 或者 hashcat32.exe
Вкажіть тип хеша, який потрібно зламати, після чого слідує число, що відповідає типу хеша
Вкажіть режим злому, який потрібно використовувати, його значення звертається до наступних параметрів:
- [ Атака Режими ] - # | режим ===+===== 0 | Прямий # Прямий злом словника 1 | комбінація # комбінований крек 3 | Груба сила # Маска насильницький злом 6 | Hybrid Wordlist + Mask # Dictionary+Mask Crack 7 | Hybrid Mask + Wordlist # Mask+Dictionary Crack
Увімкніть режим інкрементного злому та дозвольте hashcat виконати злом у вказаному діапазоні довжин пароля
Мінімальна довжина пароля, яка безпосередньо дорівнює цілому числу. Налаштуйте режим інкременту, щоб використовувати
максимальну довжину пароля, а потім безпосередньо дорівнювати цілому числу. Налаштуйте режим інкременту, щоб використовувати
--outfile Вказує хеш після успішного злому та місце зберігання відповідного пароля відкритого тексту
- -optimized-kernel-enable Увімкніть оптимізоване ядро (обмеження довжини пароля)
--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
--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
код
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
Якщо ви хочете відобразити зламаний пароль безпосередньо, ви можете безпосередньо видалити файл.
bash
bash
hashcat -a 1 -m 0 '5416d7cd6ef195a0f7622a9c56b55e84' hashpass1.txt hashpass1.txt
bash
echo -n admin888 |openssl MD5 7fef6171469e80d32c0559f88b377245
Зламати значення MD5 для admin888 :
bash
hashcat -A 6 -m 0 '7fef6171469e80d32c0559f88b377245' hashpass.txt -O
bash
hashcat -A 7 -m 0 '7fef6171469e80d32c0559f88b377245' 'admi? л? Д? Д? d' hashpass.txt -O
To 23323323 MD5 Encryption:
bash
$ echo -n 23323323 |openssl MD5 5a745e31dbbd93f4c86d1ef82281688b
Використовуйте hashcat для злому:
bash
hashcat -a 3 -m 0 --force '5a745e31dbbd93f4c86d1ef82281688b' '? Д? Д? Д? Д? Д? Д? Д? d' -O
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 означає ? л? У, тобто великі та малі літери.
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, тобто великі та малі літери + цифри.
admin23323 Значення MD5 a9991129897a44e0d1c2855c3d7dccc4
bash
hashcat -a 3 -m 0 -1 '? л? У? d' --force 'a9991129897a44e0d1c2855c3d7dccc4' 'адмін? 1? 1? 1? 1? 1' -O
Пароль для перегляду 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
Перегляньте файл пароля /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 і використовував основний дисплей, щоб успішно запустити:
bash
hashcat -a 0 -m 3000 --force '921988ba001dc8e14a3b108f3fa6cb6d' password.txt
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-features | Num | Визначте функції клієнта мозку, див. нижче | Визначте функціональність клієнта | –brain-client-features=3 |
| –brain-host | Str | Хост сервера мозку (IP або домен) | IP або домен головного сервера | –brain-host=127.0.0.1 |
| – порт мозку | порт | порт сервера мозку | Порт головного сервера | –brain-port=13743 |
| –brain-password | Str | brain server authentication password | Пароль автентифікації головного сервера | –brain-password=e8acfc7280c48009 |
| –brain-session | Hex | Перевизначає автоматично розрахований мозковий сеанс | Автоматично перезаписувати вже розрахований основний сеанс | –brain-session=0x2ae611db |
| –brain-session-whitelist | Hex | Дозволити лише певні сеанси, розділені комами | Дозволено лише задані розмови, розділені комами | –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>