Подбор пароля к архиву RAR с помощью hashcat

Установка rar2john.exe на Windows

1. Скачайте John the Ripper Jumbo:

2. Распакуйте архив, например, в C:\john\.

3. В папке C:\john\run\ находятся утилиты:

  • john.exe — основной бинарник
  • rar2john.exe — извлечение хеша из RAR
  • zip2john.exe — извлечение хеша из ZIP

4. Добавьте путь в переменную окружения PATH:

setx PATH "%PATH%;C:\john\run"

Для работы hashcat требуется хеш архива, который можно получить с помощью утилиты rar2john (идёт в составе John the Ripper).

Windows:

rar2john.exe "C:\path\myarchive.rar" > rar.hash

В файле rar.hash появится строка с хешем:

  • RAR3 → …:$rar3$…
  • RAR5 → …:$rar5$…

Для hashcat:

  • RAR3 → -m 12500
  • RAR5 → -m 13000

Убрать из файла префикс, вместе с :

Только цифры, 8 знаков:

hashcat -m 13000 -a 3 rar.hash ?d?d?d?d?d?d?d?d

Маленькие буквы + цифры + фиксированный символ @ (6 знаков):

hashcat -m 13000 -a 3 rar.hash ?l?l?l?d?d@

Свой класс символов и инкремент:

hashcat -m 13000 -a 3 rar.hash -1 ?l?u?d@#_.- --increment ?1?1?1?1?1?1?1?1

Чтобы не было ошибок CUDA

hashcat.exe  --backend-ignore-cuda -m 13000 hello-p.txt -a 3 -1 ?l?d@ ?1?1?1?1?1?1?1?1  -w 4

Базовая словарная атака:

hashcat -m 13000 -a 0 rar.hash rockyou.txt

С правилами (мутации слов):

hashcat -m 13000 -a 0 rar.hash rockyou.txt -r rules\best64.rule

Два словаря склеиваются попарно:

hashcat -m 13000 -a 1 rar.hash dict1.txt dict2.txt

Словарь + маска (слово + 4 цифры):

hashcat -m 13000 -a 6 rar.hash rockyou.txt ?d?d?d?d

Маска + словарь (3 буквы + слово):

hashcat -m 13000 -a 7 rar.hash ?l?l?l rockyou.txt

Hashcat RAR Cheatsheet

Сценарий Команда
RAR5, 8 цифр подряд `hashcat -m 13000 -a 3 rar.hash ?d?d?d?d?d?d?d?d`
RAR5, буквы+цифры+@ (6 зн.) `hashcat -m 13000 -a 3 rar.hash ?l?l?l?d?d@`
RAR3, слово + год (4 цифры) `hashcat -m 12500 -a 6 rar.hash rockyou.txt ?d?d?d?d`
RAR5, словарь `hashcat -m 13000 -a 0 rar.hash rockyou.txt`
RAR5, словарь + правила `hashcat -m 13000 -a 0 rar.hash 10k-most-common.txt -r rules\best64.rule`
Маска: свой класс символов `hashcat -m 13000 -a 3 rar.hash -1 ?l?u?d@#_.- –increment ?1?1?1?1?1?1?1?1`
Маска + словарь (3 буквы + слово) `hashcat -m 13000 -a 7 rar.hash ?l?l?l rockyou.txt`
Словарь + маска (слово + 4 цифры) `hashcat -m 13000 -a 6 rar.hash rockyou.txt ?d?d?d?d`
Показать найденный пароль `hashcat -m 13000 rar.hash –show`
Сессия + восстановление `hashcat –session rarjob -m 13000 -a 3 rar.hash ?d?d?d?d?d?d?d?d` → `hashcat –session rarjob –restore`

Сессия (можно ставить на паузу/возобновлять):

hashcat --session rarjob -m 13000 -a 3 rar.hash ?d?d?d?d?d?d?d?d

Управление во время работы:

  • p — пауза
  • s — статус
  • q — выход

Возобновление сессии:

hashcat --session rarjob --restore

Показать найденный пароль:

hashcat -m 13000 rar.hash --show

  • Не использовать -O для RAR5 (часто вызывает ошибки).
  • Указать устройство: -D 1 (CPU), -D 2 (GPU).
  • Ограничить нагрузку: –gpu-temp-retain=75 –workload-profile=2.
  • Для длинных масок использовать –increment.

  • nvrtcCompileProgram(): NVRTC_ERROR_INVALID_OPTION → обновить драйверы NVIDIA/CUDA, убрать -O.
  • Kernel … optimized.cl: not available → не использовать -O для -m 13000.
  • ./OpenCL/: No such file or directory → запускать из папки hashcat.
  • Separator unmatched → проверить, что хеш скопирован полностью.
  • Найден неправильный пароль → заново извлечь хеш rar2john.

RAR5, 8 цифр:

hashcat -m 13000 -a 3 rar.hash ?d?d?d?d?d?d?d?d

RAR5, словарь + правила:

hashcat -m 13000 -a 0 rar.hash .\wordlists\10k-most-common.txt -r .\rules\best64.rule

RAR3, слово + год (4 цифры):

hashcat -m 12500 -a 6 rar.hash rockyou.txt ?d?d?d?d

RAR5, свой набор символов, длины 6–10:

hashcat -m 13000 -a 3 rar.hash -1 ?l?u?d@#_.- --increment --increment-min 6 --increment-max 10 ?1?1?1?1?1?1?1?1?1?1

Работа со словарями в hashcat

Словарь — это обычный текстовый файл (.txt), где каждая строка содержит один пароль. Hashcat использует словари для быстрой проверки хешей против известных паролей.

Пример словаря:

123456
password
qwerty
letmein
welcome1
admin123

Запуск словарной атаки:

hashcat -m 13000 -a 0 rar.hash rockyou.txt
  • -m 13000 — режим (RAR5, для RAR3 использовать -m 12500)
  • -a 0 — словарная атака
  • rar.hash — файл с хешем, извлечённый с помощью rar2john
  • rockyou.txt — словарь паролей

Можно указать сразу несколько файлов:

hashcat -m 13000 -a 0 rar.hash dict1.txt dict2.txt

Правила позволяют изменять пароли из словаря на лету: добавлять цифры, менять регистр, подставлять символы.

Пример:

hashcat -m 13000 -a 0 rar.hash rockyou.txt -r rules\best64.rule
  • best64.rule — набор правил, входящий в hashcat
  • из password получится Password, Password1, P@ssword и т. д.

Иногда словарь слишком большой, его можно уменьшить:

Оставить только строки до 8 символов:

grep -E '^.{1,8}$' rockyou.txt > short.txt

Удалить дубликаты:

sort rockyou.txt | uniq > unique.txt

  • -a 1 — склеивание слов из двух словарей
  • -a 6 — словарь + маска
  • -a 7 — маска + словарь

Примеры:

Словарь + 4 цифры:

hashcat -m 13000 -a 6 rar.hash rockyou.txt ?d?d?d?d

3 буквы + слово из словаря:

hashcat -m 13000 -a 7 rar.hash ?l?l?l rockyou.txt

  • Словари позволяют находить слабые пароли намного быстрее, чем полный брутфорс.
  • Всегда начинайте с маленьких словарей (top-1000, 10k-most-common).
  • Для более серьёзных проверок используйте rockyou.txt и правила (rules).
  • Огромные словари (CrackStation, HIBP) применять стоит только при необходимости.

Правила (rules) в hashcat

Правила (rules) позволяют изменять пароли из словаря «на лету» и генерировать их варианты. Каждое правило — это строка, содержащая одну или несколько команд. Команды применяются последовательно к каждому слову словаря.

Пример:

  • Слово: password
  • Правило: c$1
  • Результат: Password1

Команда Действие Пример
l все буквы маленькие PASSWORDpassword
u все буквы заглавные passwordPASSWORD
c первая буква заглавная passwordPassword
C инвертировать регистр PaSsWoRdpAsSwOrD
t поменять регистр букв passwordPASSWORD / Password
d удвоить слово catcatcat
r перевернуть слово doggod
$X добавить символ X в конец passpass1
^X добавить символ X в начало word@word
sXY заменить символ X на Y password (sao) → p@ssword
: ничего не делать (NOP) adminadmin

Файл rules/custom.rule:

c       # Первая буква заглавная
c$1     # Первая буква заглавная + "1" в конце
u$2024  # Все заглавные + добавить "2024"
s$a@    # Заменить "a" на "@"
c$!     # Первая заглавная + добавить "!"

Запуск с применением правил:

hashcat -m 13000 -a 0 rar.hash rockyou.txt -r rules/custom.rule

Hashcat уже содержит несколько популярных наборов правил:

  • rules/best64.rule → 64 самых эффективных правил
  • rules/d3ad0ne.rule → расширенный набор
  • rules/T0XlC.rule → очень мощный, но медленный

Пример запуска:

hashcat -m 13000 -a 0 rar.hash rockyou.txt -r rules\best64.rule

Можно использовать сразу несколько файлов правил:

hashcat -m 13000 -a 0 rar.hash rockyou.txt -r rules/best64.rule -r rules/d3ad0ne.rule

  • Правила делают словари гораздо эффективнее.
  • С их помощью можно добавлять цифры, менять регистр, заменять буквы на символы и комбинировать варианты.
  • Грамотно подобранные правила увеличивают эффективность атаки в десятки раз.