Введение
Hashcat — это мощный и популярный инструмент для восстановления паролей. Одной из его ключевых особенностей для эффективной работы является "potfile". Potfile (сокращение от "pot of gold file" — файл с горшочком золота) — это файл, в котором hashcat автоматически сохраняет успешно взломанные хеши и соответствующие им открытые тексты. Это предотвращает напрасную трату времени и ресурсов hashcat на повторное взламывание хешей, которые уже были решены в предыдущих сессиях.
В этой лаборатории вы изучите основы управления взломанными хешами с помощью potfile hashcat. Вы узнаете, как найти potfile, просмотреть его содержимое и использовать специальные флаги hashcat для запроса к нему или даже для его игнорирования при необходимости.
Понимание назначения Potfile
На этом шаге вы узнаете о фундаментальной роли potfile hashcat.
Potfile является одной из важнейших функций hashcat для обеспечения эффективности. Каждый раз, когда hashcat успешно взламывает хеш, он сохраняет результат в potfile. Основная цель этого — создать базу данных решенных хешей.
Перед началом новой сессии взлома hashcat проверяет хеши в вашем входном файле на соответствие записям в potfile. Если хеш уже присутствует в potfile, hashcat пропустит его, отобразив статус "Removed" (Удалено). Это гарантирует, что вы не будете тратить ценные циклы процессора/видеокарты на работу, которая уже была выполнена.
Стандартный формат записей в potfile прост и эффективен:
HASH:PLAINTEXT
Этот шаг является чисто концептуальным для построения вашего понимания. Команды для выполнения отсутствуют. Вы можете перейти к следующему шагу, чтобы узнать, где находится этот файл.
Определение местоположения файла hashcat.potfile по умолчанию
На этом шаге вы определите местоположение файла potfile по умолчанию, созданного hashcat.
По умолчанию hashcat не создает potfile в вашем текущем рабочем каталоге. Вместо этого он помещает его в специальную папку hashcat в домашнем каталоге пользователя, чтобы сохранить его постоянным между различными сессиями взлома и проектами. Расположение по умолчанию в системе Linux: ~/.local/share/hashcat/.
Давайте проверим существование файла. Используйте команду ls -l для вывода содержимого каталога hashcat.
ls -l ~/.local/share/hashcat/
В выводе вы должны увидеть hashcat.potfile вместе с другими возможными файлами, связанными с сессиями.
total 4
-rw-r--r-- 1 labex labex 42 May 20 10:30 hashcat.potfile
Теперь, когда вы нашли файл, следующим шагом будет просмотр его содержимого.
Просмотр содержимого Potfile
На этом шаге вы изучите содержимое файла hashcat.potfile, чтобы увидеть, как хранятся взломанные хеши.
Поскольку potfile является обычным текстовым файлом, вы можете использовать любой стандартный просмотрщик текстовых файлов командной строки, такой как cat, less или more, чтобы увидеть его содержимое. Для такого небольшого файла, как наш, cat подходит идеально.
Выполните следующую команду в терминале, чтобы отобразить содержимое файла potfile по умолчанию:
cat ~/.local/share/hashcat/hashcat.potfile
Вывод покажет хеш, который был взломан во время настройки лаборатории, за которым следует двоеточие (:) и затем пароль в открытом виде.
5f4dcc3b5aa765d61d8327deb882cf99:password
Этот простой формат HASH:PLAINTEXT делает файл легко читаемым и обрабатываемым как для людей, так и для самого hashcat.
Использование флага --show для запроса Potfile
На этом шаге вы узнаете, как использовать флаг --show для эффективного запроса potfile на наличие взломанных хешей.
Хотя вы можете вручную использовать cat и grep для работы с potfile, hashcat предоставляет гораздо более элегантный и интегрированный способ проверки того, были ли уже взломаны хеши из данного файла. Для этой цели используется флаг --show. Он принимает файл с хешами в качестве входных данных и выводит взломанные пароли для любых хешей, найденных в potfile.
Давайте используем его для проверки нашего файла hashes.txt.
hashcat -m 0 --show hashes.txt
Разберем команду:
hashcat: Сама программа.-m 0: Указывает режим хеширования.0соответствует MD5, что является типом хеша в нашем файлеhashes.txt. Это необходимо для корректной работы--show.--show: Этот флаг указывает hashcat выполнить операцию запроса вместо сессии взлома.hashes.txt: Входной файл, содержащий хеши, которые вы хотите проверить.
Команда выдаст следующий вывод, который идентичен содержимому potfile, поскольку наш хеш был найден.
5f4dcc3b5aa765d61d8327deb882cf99:password
Эта команда чрезвычайно полезна, когда у вас есть большой список хешей, и вы хотите быстро увидеть, какие из них были восстановлены ранее.
Удаление взломанных хешей из ввода с помощью --potfile-disable
На этом шаге вы узнаете, как hashcat автоматически избегает повторного взлома хешей и как вы можете переопределить это поведение с помощью флага --potfile-disable.
Сначала давайте посмотрим, что произойдет, когда вы попытаетесь запустить ту же задачу взлома снова. Поскольку хеш уже находится в potfile, hashcat должен распознать это и завершить работу мгновенно.
hashcat -m 0 -a 0 hashes.txt wordlist.txt --force
Обратите внимание на вывод. Hashcat сообщит, что все хеши были найдены в potfile, и не будет обрабатывать их повторно.
...
All hashes found in potfile!
NOTE: All hashes loaded from file hashes.txt are already cracked and were skipped.
To re-crack these hashes, you need to remove them from the potfile.
...
Теперь, что если вы хотите повторно взломать хеш, возможно, для целей тестирования производительности (benchmarking) или для проверки другого режима атаки? Вы можете использовать флаг --potfile-disable. Это указывает hashcat полностью игнорировать potfile как для чтения, так и для записи.
Выполните команду снова, но на этот раз добавьте флаг:
hashcat -m 0 -a 0 hashes.txt wordlist.txt --force --potfile-disable
На этот раз hashcat выполнит полную операцию взлома, поскольку он игнорирует potfile. Вы увидите прогресс статуса и статус "Cracked" в конце.
...
Session..........: hashcat
Status...........: Cracked
...
Cracked (1/1) hashes, (1/1) digests
...
Использование --potfile-disable является специфическим инструментом для конкретных ситуаций. В большинстве случаев вы хотите использовать potfile для экономии времени.
Резюме
В этой лабораторной работе вы освоили основные навыки управления взломанными хешами с помощью potfile hashcat.
Теперь вы понимаете, что potfile является важной функцией для повышения эффективности, действуя как база данных решенных хешей. Вы узнали, как:
- Найти стандартный potfile по пути
~/.local/share/hashcat/hashcat.potfile. - Просмотреть его содержимое с помощью стандартных команд Linux, таких как
cat. - Запросить potfile на наличие конкретных хешей из входного файла с помощью флага
--show. - Обойти функциональность potfile для конкретных сценариев использования с помощью флага
--potfile-disable.
Овладение использованием potfile является фундаментальным шагом на пути к тому, чтобы стать опытным пользователем hashcat, позволяя выполнять более эффективные и результативные задачи по восстановлению паролей.


