Подбор пароля к архиву RAR с помощью hashcat
0) Извлечение хеша из архива
Установка rar2john.exe на Windows
Вариант 1. Готовая сборка John the Ripper
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
- 23800 | RAR3-p (Compressed)
- 23700 | RAR3-p (Uncompressed)
- 13000 | RAR5
Убрать из файла префикс, вместе с :
1) Брутфорс (маски, -a 3)
Только цифры, 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
—
2) Словарные атаки (а=0)
Базовая словарная атака:
hashcat -m 13000 -a 0 rar.hash rockyou.txt
С правилами (мутации слов):
hashcat -m 13000 -a 0 rar.hash rockyou.txt -r rules\best64.rule
3) Комбинаторные атаки
Два словаря склеиваются попарно:
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` | 
4) Управление и вывод результатов
Сессия (можно ставить на паузу/возобновлять):
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
5) Производительность и стабильность
- Не использовать-Oдля RAR5 (часто вызывает ошибки).
- Указать устройство:-D 1(CPU),-D 2(GPU).
- Ограничить нагрузку:–gpu-temp-retain=75 –workload-profile=2.
- Для длинных масок использовать–increment.
6) Частые ошибки и решения
- 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.
7) Готовые сценарии
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
1. Подключение словаря
Запуск словарной атаки:
hashcat -m 13000 -a 0 rar.hash rockyou.txt
- -m 13000— режим (RAR5, для RAR3 использовать- -m 12500)
- -a 0— словарная атака
- rar.hash— файл с хешем, извлечённый с помощью- rar2john
- rockyou.txt— словарь паролей
2. Использование нескольких словарей
Можно указать сразу несколько файлов:
hashcat -m 13000 -a 0 rar.hash dict1.txt dict2.txt
3. Словари + правила (rules)
Правила позволяют изменять пароли из словаря на лету: добавлять цифры, менять регистр, подставлять символы.
Пример:
hashcat -m 13000 -a 0 rar.hash rockyou.txt -r rules\best64.rule
- best64.rule— набор правил, входящий в hashcat
- изpasswordполучитсяPassword,Password1,P@sswordи т. д.
4. Фильтрация словаря
Иногда словарь слишком большой, его можно уменьшить:
Оставить только строки до 8 символов:
grep -E '^.{1,8}$' rockyou.txt > short.txt
Удалить дубликаты:
sort rockyou.txt | uniq > unique.txt
5. Комбинаторные атаки со словарями
- -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
6. Где взять словари
Итог
- Словари позволяют находить слабые пароли намного быстрее, чем полный брутфорс.
- Всегда начинайте с маленьких словарей (top-1000,10k-most-common).
- Для более серьёзных проверок используйтеrockyou.txtи правила (rules).
- Огромные словари (CrackStation, HIBP) применять стоит только при необходимости.
Правила (rules) в hashcat
Правила (rules) позволяют изменять пароли из словаря «на лету» и генерировать их варианты. Каждое правило — это строка, содержащая одну или несколько команд. Команды применяются последовательно к каждому слову словаря.
Пример:
- Слово:password
- Правило:c$1
- Результат:Password1
Базовые команды
| Команда | Действие | Пример | 
|---|---|---|
| l | все буквы маленькие | PASSWORD→password | 
| u | все буквы заглавные | password→PASSWORD | 
| c | первая буква заглавная | password→Password | 
| C | инвертировать регистр | PaSsWoRd→pAsSwOrD | 
| t | поменять регистр букв | password→PASSWORD/Password | 
| d | удвоить слово | cat→catcat | 
| r | перевернуть слово | dog→god | 
| $X | добавить символ Xв конец | pass→pass1 | 
| ^X | добавить символ Xв начало | word→@word | 
| sXY | заменить символ XнаY | password(sao) →p@ssword | 
| : | ничего не делать (NOP) | admin→admin | 
Примеры правил
Файл 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
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
Итог
- Правила делают словари гораздо эффективнее.
- С их помощью можно добавлять цифры, менять регистр, заменять буквы на символы и комбинировать варианты.
- Грамотно подобранные правила увеличивают эффективность атаки в десятки раз.