Как в hashcat продолжить перебор с места остановки (сессии hashcat)
Программа hashcat поддерживает работу с сессиями, позволяющими восстанавливать прерванное сканирование. Информация об этих сессиях, в том числе об опциях, с которыми была запущена программа, а также о точке восстановления, записываются в файл с расширением .restore. Формат файла .restore является пользовательским форматом, разработанным специально для hashcat.
hashcat поддерживает возобновления задач по взлому для любого и каждого типа хеша, режима атаки, типа ввода (даже stdin – стандартного ввода) и т.д. Даже не имеет значения, почему работа остановилась пока у вас есть файл .restore. В этом файле содержится вся необходимая информация для hashcat чтобы она могла продолжить взлом. Конечно, также должны иметься директории/словари/маски/правила/хеши/файлы хешей и прочего, используемого в первоначальной задаче по взлому. Неважно, случился ли у вас перебой с электричеством или вы просто решили остановить задачу по взлому поскольку решили вздремнуть рядом со своим железом, с опцией --restore вы должны иметь возможность восстановить работу по взлому.
Важно знать, что файл .restore обновляется автоматически, каждый раз, когда меняется соответствующая строка в окне статуса:
Restore.Point....:
…а не тогда, когда изменяется эта строка (hashcat должен достичь следующей контрольной точки восстановления):
Progress.........:
Вторая самая важная вещь, которую нужно помнить, это то, что остановка hashcat через функцию Checkpoint, путём нажатия 'c', приведёт к тому, что программа будет продолжать перебор до тех пор, пока не будет обновлён файл восстановления. При этом принудительный выход из hashcat, когда нажимается 'q', приведёт к немедленному выходу из программы и файл для восстановления обновлён не будет! Нажимая 'q' вместо 'c' вы теряете проделанную работу между последним обновлением файла восстановления и моментом выхода, поскольку при выходе файл restore не обновляется!
Файл .restore будет автоматически удалён при завершении всей работы по взлому (когда закончились кандидаты в пароли) или когда каждый хеш в списке взломан.
Для отключения поддержки восстановления вы можете использовать опцию --restore-disable.
Если вы хотите указать другой путь для файла восстановления вы можете использовать опцию --restore-file-path.
Безымянная сессия
Если вы не указали имя сессии, то будет использовано дефолтное имя "hashcat", т.е. будет создан файл hashcat.restore.
Для возобновления работы по этой сессии достаточно указать опцию --restore:
./hashcat64.bin --restore
…а имя сессии указывать не нужно, поскольку она была дефолтной.
Также не нужно указывать какие-либо опции – все они сохранились в файле .restore и будут автоматически взяты из него.
Рассмотрим теперь именные сессии. В качестве имени возьмём session_name.
Допустим, вы запустили взлом пароля следующей командой:
hashcat64.exe -m 2500 -a 3 --session session_name -1 ?l?d?u 25739_1504275368.hccapx ?1?1?1?1?1?1?1?1
…и пока она была запущена вы нажали 'c' (или 'q' для выхода) или же она была остановлена/убита по каким-либо другим причинам.
Командой для возобновления этой задачи по взлому будет:
hashcat --session session_name --restore
Команда с --restore не нуждается в каких-либо дополнительных аргументах или опциях кроме --session. Вы не можете добавить или изменить какие-либо аргументы когда вы возобновляете работу.
Могу ли я восстановить работу hashcat по частично выполненному перебору на другом компьютере или возможно ли добавить новый GPU в мою систему?
Да! Вам только нужно убедиться, что у вас есть все необходимые файлы и что они не изменились.
Самым важным файлом в этом случае является .restore (имя зависит от имени сессии, которую вы указали с параметром --session). Вам нужно скопировать на новый компьютер по крайней мере оригинальный список хешей и файл .restore. Если вы использовали другие файлы – с масками, правилами и т.д., то их также нужно скопировать на новый компьютер.
Также, если вы переместились на другой ПК, убедитесь, что все пути являются теми же и все файлы существуют.
Связанные статьи:
- Взлом рукопожатий (handshake) с использованием графического процессора в Windows (100%)
- Взлом паролей MS Office, PDF, 7-Zip, RAR, TrueCrypt, Bitcoin/Litecoin wallet.dat, htpasswd в Hashcat (100%)
- Базовое и продвинутое использование oclHashcat (Hashcat) для взлома WPA/WPA2 паролей из хендшейков (100%)
- Виды атак Hashcat (100%)
- Семейство программ *Hashcat: как научиться взламывать пароли, создавать и оптимизировать словари (100%)
- Автоматизированный взлом Wi-FI WEP с Besside-ng и Wesside-ng (RANDOM - 10.7%)
Спасибо за статью, выручили.
команда для старта дефолтной сессии в винде не "hashcat64.bin --restore", а
Всё верно, спасибо за дополнение!
Подскажите, можно ли в hashcat начать перебор "с середины" словаря, просто указав номер строки? К примеру моя сессия не сохранилась, но я приблизительно знаю, откуда продолжить?
В принципе, да, такое возможно. Но всё не так просто, как может показаться.
Во-первых, кандидаты в пароли из словаря, а также сгенерированные по маске используются не последовательно, а по определённому алгоритму, говоря по-простому, в разнобой. Из этого, кстати, вопрос — с какой стати вы думаете, что знаете, на какой именно строке был остановлен брут-форс?
Во-вторых, как следует из первого пункта, невозможно просто взять и указать строку в словаре, но можно указать степень прогресса.
В-третьих, степерь прогресса в файле hashcat.restore хранится в бинарном формате. А это означает, что редактировать их предётся в HEX редакторе.
В-четвёртых, прежде чем редактировать файл hashcat.restore, нужно знать, что и в каком месте файла писать.
В этом может помочь описание структуры файла .restore: https://hashcat.net/wiki/doku.php?id=restore
Вам нужно или искать утилиты, которые умеют редактировать файлы .restore, или хотя бы искать описание алгоритма как конвертировать значение прогресса в соответствующее шестнадцатеричное число. К примеру, при атаке по маске, шестнадцатеричное значение 3000 соответствовало:
Значение E016 соответствовало:
Значение 1026 соответствовало:
Значение C033 соответствовало: