KB / Статті / Hashcat та John the Ripper: зламування хешів
UA EN

Hashcat та John the Ripper: зламування хешів

✍ admin 📅 09.06.2026 👁 125 переглядів

Навіщо зламувати хеші?

У CTF та пентесті часто знаходять дампи баз даних з хешами паролів. Мета — відновити оригінальні паролі для доступу до систем.

Крок 1: Визначити тип хешу

# Інструмент hash-identifier
hash-identifier

# Або hashid
hashid '$2y$10$abcdefghijklmnopqrstuuVGEEkG9psOFMWgRdJR0gk'

# Або онлайн: https://hashes.com/en/tools/hash_identifier

Поширені типи та їх вигляд:

MD5:        5f4dcc3b5aa765d61d8327deb882cf99
SHA1:       5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
SHA256:     5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
bcrypt:     $2y$10$...   (починається з $2y$ або $2b$)
MD5crypt:   $1$salt$hash
SHA512crypt:$6$salt$hash
NTLM:       aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0

Hashcat

Hashcat використовує GPU — значно швидший за John на більшості систем.

Базовий синтаксис

hashcat -m <тип> -a <атака> <хеш/файл> <словник>

Режими атаки (-a)

0 — словникова атака (dictionary)
1 — комбінаторна (два словники)
3 — brute-force/mask
6 — словник + маска
7 — маска + словник

Визначення -m (mode)

# Показати всі типи
hashcat --help | grep -i md5
hashcat --help | grep -i sha

# Поширені:
# 0    — MD5
# 100  — SHA1
# 1400 — SHA256
# 1800 — sha512crypt $6$
# 3200 — bcrypt $2*$
# 1000 — NTLM
# 5600 — NetNTLMv2

Приклади

Словникова атака:

# MD5 зі словником rockyou.txt
hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

# bcrypt — повільно, але можливо
hashcat -m 3200 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

# Зберігати прогрес
hashcat -m 0 -a 0 hash.txt rockyou.txt --session=mysession
hashcat --session=mysession --restore  # відновити

Brute-force з маскою:

# ?l = lowercase, ?u = uppercase, ?d = digit, ?s = special, ?a = all

# 4-значний PIN
hashcat -m 0 -a 3 hash.txt ?d?d?d?d

# 8 символів, лише цифри та малі літери
hashcat -m 0 -a 3 hash.txt ?l?l?l?l?d?d?d?d

# Пароль що починається з великої, 7 малих
hashcat -m 0 -a 3 hash.txt ?u?l?l?l?l?l?l?l

Із правилами (rules):

# Правила модифікують слова зі словника (додають цифри, замінюють символи)
hashcat -m 0 -a 0 hash.txt rockyou.txt -r /usr/share/hashcat/rules/best64.rule
hashcat -m 0 -a 0 hash.txt rockyou.txt -r /usr/share/hashcat/rules/rockyou-30000.rule

Показати знайдені паролі:

hashcat -m 0 hash.txt --show

John the Ripper

John зручніший для початківців та добре працює без GPU.

Базове використання

# John сам визначає тип хешу
john hash.txt

# Зі словником
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt

# Показати зламані
john --show hash.txt

# Конкретний формат
john --format=bcrypt hash.txt
john --format=Raw-MD5 hash.txt

# Список форматів
john --list=formats

Підготовка хешів для John

# /etc/shadow формат
unshadow /etc/passwd /etc/shadow > combined.txt
john combined.txt

# ZIP архів
zip2john archive.zip > zip.hash
john zip.hash

# PDF
pdf2john document.pdf > pdf.hash
john pdf.hash

# SSH ключ з паролем
ssh2john id_rsa > ssh.hash
john ssh.hash --wordlist=rockyou.txt

Онлайн-ресурси

Якщо хеш швидкий (MD5, SHA1) — спробуйте спочатку онлайн: - crackstation.net — великі таблиці для MD5, SHA1, SHA256 - hashes.com — база зламаних хешів - md5decrypt.net

Словники

# Rockyou — стандарт для CTF
/usr/share/wordlists/rockyou.txt   # Kali Linux
# або завантажити з GitHub SecLists

# SecLists — великий набір словників
git clone https://github.com/danielmiessler/SecLists

# Корисні списки:
SecLists/Passwords/Common-Credentials/10-million-password-list-top-1000000.txt
SecLists/Passwords/Leaked-Databases/rockyou.txt

Алгоритм для CTF

1. Отримали хеш → визначте тип (hash-identifier/hashid)
2. Швидкий хеш (MD5/SHA1) → спробуйте crackstation онлайн
3. Не знайдено → hashcat/john зі словником rockyou.txt
4. Не вийшло → додайте правила (best64.rule)
5. Знаєте формат пароля → brute-force з маскою
6. bcrypt/sha512crypt → тільки словник, GPU обов'язковий
Коментарі (0)
Увійди, щоб залишити коментар.
Коментарів поки немає.
Вперше тут?
Новачок на Bastion?
Почни з гайду користувача.
Відкрити гайд →
?