Введение
Hashcat — это мощный и популярный инструмент для восстановления паролей. При запуске сеанса взлома Hashcat требует эффективного способа управления результатами. Крайне важно понимать, какие пароли были успешно взломаны, а какие остались нераскрытыми.
В этой лабораторной работе вы изучите основы управления выводом Hashcat. Мы рассмотрим hashcat.potfile, в котором автоматически сохраняются взломанные пароли. Вы также узнаете, как использовать параметры командной строки, такие как --show для отображения взломанных паролей, -o для сохранения результатов в отдельный файл и --left для идентификации хешей, которые еще не были взломаны. Освоение этих функций необходимо для любого эффективного процесса аудита или восстановления паролей.
Понимание назначения hashcat.potfile
На этом этапе вы узнаете о hashcat.potfile — важнейшем компоненте Hashcat. Чтобы избежать повторного взлома одних и тех же хешей в будущих сеансах, Hashcat автоматически сохраняет каждый успешно взломанный хеш и соответствующий ему пароль в открытом виде в специальный файл. Этот файл называется "potfile". По умолчанию он называется hashcat.potfile и находится в каталоге ~/.local/share/hashcat/.
Давайте запустим базовую атаку по словарю, чтобы взломать несколько хешей. Это приведет к созданию файла potfile. У нас есть файл hashes.txt, содержащий MD5-хеши, и файл wordlist.txt с потенциальными паролями.
Выполните следующую команду, чтобы начать атаку:
hashcat -m 0 -a 0 hashes.txt wordlist.txt
Разбор команды:
-m 0: указывает тип хеша, где0соответствует MD5.-a 0: указывает режим атаки, где0— это прямая атака по словарю.hashes.txt: входной файл, содержащий хеши для взлома.wordlist.txt: файл словаря, содержащий пароли для перебора.
Вы увидите, как запускается Hashcat. Поскольку наш словарь содержит правильные пароли для всех хешей, процесс завершится быстро.
...
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: 0 secs
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: ... H/s (0.00ms) @ Accel:128 Loops:1 Thr:1 Vec:8
Recovered........: 4/4 (100.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 5/5 (100.00%)
Rejected.........: 0/5 (0.00%)
Restore.Point....: 5/5 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: password -> testing
Hardware.Mon.#1..: Temp: 46c Fan: 33%
...
Started: ...
Stopped: ...
Вывод показывает, что все 4 хеша были восстановлены. Это означает, что файл hashcat.potfile был создан и заполнен этими результатами.
Просмотр пар хеш-пароль в файле potfile
На этом этапе мы напрямую изучим содержимое hashcat.potfile. Это поможет вам понять, как Hashcat хранит взломанные учетные данные. Формат прост и эффективен: каждая строка содержит хеш, двоеточие в качестве разделителя и взломанный пароль в открытом виде.
Чтобы просмотреть содержимое potfile, используйте команду cat. Файл находится в скрытой директории в вашей домашней папке.
cat ~/.local/share/hashcat/hashcat.potfile
В выводе будут отображены пары хеш-пароль, которые были успешно взломаны на предыдущем этапе.
5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab
Как видите, файл содержит четыре хеша из hashes.txt, которые совпали с паролями в wordlist.txt. Хотя прямой просмотр potfile полезен для понимания его структуры, в реальных сценариях с тысячами взломанных паролей он может стать загроможденным и трудным для чтения. На следующем этапе вы узнаете более эффективный способ просмотра результатов для конкретной задачи.
Использование '--show' для отображения взломанных паролей для конкретного списка хешей
На этом этапе вы узнаете более практичный метод проверки результатов. Вместо того чтобы вручную читать весь potfile, можно использовать опцию --show. Эта команда дает Hashcat указание сравнить заданный список хешей с его potfile и отобразить только те хеши из этого списка, которые уже были взломаны. При этом никакой новый процесс взлома не запускается.
Это чрезвычайно полезно, когда вы хотите быстро увидеть результаты для конкретного целевого списка, не просматривая потенциально огромный potfile, содержащий результаты множества различных сеансов.
Выполните следующую команду, чтобы отобразить взломанные хеши из нашего файла hashes.txt:
hashcat -m 0 --show hashes.txt
Hashcat мгновенно проверит potfile и выведет результаты в чистом, читаемом формате.
5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab
Вывод выглядит аккуратно и дает прямой ответ на вопрос: "Какие хеши из hashes.txt я уже взломал?". Это рекомендуемый способ проверки взломанных паролей для конкретного сеанса.
Сохранение взломанных паролей в отдельный файл с помощью '-o'
На этом этапе вы узнаете, как сохранять результаты взлома в отдельный файл. Хотя potfile является отличной внутренней базой данных для Hashcat, вам часто требуется чистый выходной файл для отчетов или анализа. Это достигается с помощью опции -o (или --outfile).
Когда вы добавляете -o к своей команде атаки в сочетании с --show, Hashcat извлекает взломанные пары хеш-пароль из potfile и записывает их в указанный выходной файл. Это особенно полезно, когда хеши уже были взломаны и существуют в potfile, так как вы можете быстро извлечь и сохранить эти результаты в отдельный файл.
Давайте выполним команду с обеими опциями --show и -o, чтобы сохранить взломанные результаты.
hashcat -a 0 -m 0 --show -o cracked.txt hashes.txt wordlist.txt
Hashcat мгновенно проверит potfile и запишет все пары взломанных паролей в cracked.txt.
Теперь давайте просмотрим содержимое нашего нового выходного файла.
cat cracked.txt
Вывод будет представлять собой чистый список взломанных пар.
5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab
Этот файл cracked.txt теперь является портативной записью успешных результатов конкретной атаки, отделенной от основного potfile.
Использование '--left' для поиска невзломанных хешей
На этом этапе вы узнаете, как определить, какие хеши остались невзломанными. Это так же важно, как и знание того, что вы уже решили, поскольку позволяет сосредоточить усилия на последующих атаках (например, при использовании другого словаря или режима атаки). Для этой цели Hashcat предоставляет опцию --left.
Флаг --left отображает хеши из вашего входного списка, которых нет в potfile.
Давайте посмотрим, какие хеши из hashes.txt все еще не взломаны.
hashcat -m 0 --left hashes.txt
Поскольку все хеши в нашем списке были взломаны, вывод будет пустым (невзломанных хешей не осталось).
Вы также можете комбинировать --left с опцией -o, чтобы сохранить эти оставшиеся хеши в новый файл. Это распространенная практика для создания списка задач для следующей попытки взлома.
hashcat -m 0 --left -o uncracked.txt hashes.txt
Теперь проверьте содержимое файла uncracked.txt.
cat uncracked.txt
Поскольку все хеши были взломаны, файл uncracked.txt будет пустым.
Резюме
В этой лабораторной работе вы изучили основные методы управления и интерпретации вывода Hashcat. Эти навыки являются фундаментальными для организации эффективного процесса взлома паролей.
Вы узнали:
- Роль
hashcat.potfileкак автоматической базы данных для всех взломанных паролей. - Как использовать
hashcat --showдля аккуратного отображения взломанных паролей из конкретного списка хешей. - Как использовать опцию
-oдля сохранения взломанных паролей в отдельный файл для отчетов и анализа. - Как использовать опцию
--leftдля изоляции невзломанных хешей, что позволяет эффективно сосредоточить будущие усилия.
Освоив эти функции управления выводом и файлами, вы сможете проводить более организованные, эффективные и результативные сеансы восстановления паролей с помощью Hashcat.



