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