Подбор пароля к архиву 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— извлечение хеша из RARzip2john.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— файл с хешем, извлечённый с помощьюrar2johnrockyou.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
Итог
- Правила делают словари гораздо эффективнее.
- С их помощью можно добавлять цифры, менять регистр, заменять буквы на символы и комбинировать варианты.
- Грамотно подобранные правила увеличивают эффективность атаки в десятки раз.