Анализ статистики взлома в реальном времени

Kali LinuxBeginner
Практиковаться сейчас

Введение

Hashcat — это мощный и популярный инструмент для восстановления паролей. При запуске сеанса взлома, особенно того, который может занять много времени, крайне важно отслеживать его прогресс и производительность. Hashcat предоставляет подробный экран статуса в реальном времени, который дает представление о скорости атаки, предполагаемом времени до завершения, производительности оборудования и многом другом.

В этой лаборатории вы научитесь запускать базовый сеанс Hashcat и интерпретировать его статистику в реальном времени. К концу вы сможете эффективно отслеживать задачи по взлому паролей, чтобы обеспечить их оптимальную работу.

Запуск сеанса Hashcat

На этом шаге вы начнете сеанс взлома паролей с использованием Hashcat. Мы будем использовать предварительно настроенный файл хешей и словарный файл, расположенные в вашем каталоге ~/project.

Сначала давайте рассмотрим файлы, которые мы будем использовать. Файл hashes.txt содержит один хеш MD5, а wordlist.txt содержит небольшой список потенциальных паролей.

Базовая команда для запуска словарной атаки с Hashcat: hashcat -m <hash_type> -a <attack_mode> <hash_file> <wordlist_file>.

  • -m 0 указывает, что тип хеша — MD5.
  • -a 0 указывает, что режим атаки — "Straight" (прямая) или словарная атака.

Теперь откройте терминал и выполните следующую команду, чтобы начать сеанс. Hashcat инициализируется и начнет попытки взлома хеша.

hashcat -m 0 -a 0 hashes.txt wordlist.txt

При запуске Hashcat вы увидите вывод, похожий на следующий. Пока не беспокойтесь обо всех деталях; просто дайте ему работать.

hashcat (v6.2.x) starting...

...

OpenCL Platform #1: The pocl project
====================================
* Device #1: pthread-skylake-avx512, 2047/4095 MB (1023 MB allocatable), 2MCU

...

Session..........: hashcat
Status...........: Running
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: ...
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:   XX.X kH/s (X.XXms) @ Accel:X Loops:X Thr:X Vec:X
Recovered........: 0/1 (0.00%) Digests
Progress.........: 0/5 (0.00%)
Rejected.........: 0/0 (0.00%)
Restore.Point....: 0/1 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: password -> hashcat
Hardware.Mon.#1..: Temp: N/A Util: N/A Core: N/A Mem: N/A Bus: N/A

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>

Оставьте сеанс запущенным и переходите к следующему шагу.

Нажмите 's', чтобы просмотреть экран статуса

На этом шаге вы научитесь вручную запрашивать обновление статуса у запущенного сеанса Hashcat.

Во время работы Hashcat ожидает ввода с клавиатуры для управления сеансом. В нижней части вывода вы увидите приглашение, похожее на [s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>. Это указывает на доступные команды.

Чтобы получить последние статистические данные, просто нажмите клавишу s на клавиатуре, а затем нажмите Enter. Hashcat немедленно выведет обновленный экран статуса в терминал.

Нажмите s прямо сейчас.

s

Вы увидите новый блок текста, очень похожий на первоначальный отчет о статусе. Это экран статистики в реальном времени, который мы разберем на следующих шагах.

Session..........: hashcat
Status...........: Running
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: ...
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:   XX.X kH/s (X.XXms) @ Accel:X Loops:X Thr:X Vec:X
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 4/5 (80.00%)
Rejected.........: 0/4 (0.00%)
Restore.Point....: 4/5 (80.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: labex -> labex
Hardware.Mon.#1..: Temp: N/A Util: N/A Core: N/A Mem: N/A Bus: N/A

Обратите внимание, что некоторые значения, такие как Recovered (Восстановлено) и Progress (Прогресс), изменились.

Интерпретация полей Speed, Progress и ETA

На этом шаге мы сосредоточимся на трех наиболее важных метриках на экране статуса: Speed (Скорость), Progress (Прогресс) и ETA (Ожидаемое время прибытия). Понимание этих полей поможет вам оценить производительность и продолжительность вашего сеанса взлома.

Рассмотрим пример строки статуса для каждого:

  • Speed.Dev.#1.........: XX.X kH/s (X.XXms)

    • Speed (Скорость): Эта строка показывает скорость взлома каждого устройства обработки (CPU, GPU и т. д.), идентифицируемого как #1, #2 и так далее. Скорость измеряется в хешах в секунду (H/s, kH/s, MH/s). Чем выше число, тем лучше. В нашем случае виртуальная машина использует CPU.
  • Progress.........: 4/5 (80.00%)

    • Progress (Прогресс): Это показывает, сколько кандидатных паролей было протестировано из общего числа в пространстве ключей. В этом примере 4/5 означает, что было протестировано 4 из 5 слов из нашего файла wordlist.txt.
  • Time.Estimated...: 0 secs

    • ETA (Estimated Time of Arrival - Ожидаемое время прибытия): Это поле, обозначенное как Time.Estimated, предоставляет оценку того, когда текущая атака будет завершена. Это рассчитывается на основе текущей скорости и оставшейся работы в поле Progress. Для очень коротких задач, подобных нашей, оно быстро станет 0 секунд.

Эти три метрики дают вам быстрый, общий обзор того, как работает ваш сеанс взлома.

Понимание счетчиков Rejected и Restore Point

На этом шаге мы рассмотрим еще несколько полезных полей на экране статуса: Recovered (Восстановлено), Rejected (Отклонено) и Restore.Point (Точка восстановления).

Давайте снова посмотрим на пример вывода:

  • Recovered........: 1/1 (100.00%) Digests

    • Recovered (Восстановлено): Это самое важное поле для результатов. Оно показывает, сколько хешей было успешно взломано. Здесь 1/1 означает, что один хеш в нашем целевом файле был найден. Как только это произойдет, Hashcat выведет взломанный пароль в терминал.
  • Rejected.........: 0/4 (0.00%)

    • Rejected (Отклонено): Этот счетчик отслеживает, сколько кандидатных паролей из вашего словаря или набора правил было пропущено. Пароль может быть отклонен, если он не соответствует требованиям к длине или символам для определенного типа хеша. При простой атаке MD5 со словарем это значение обычно равно нулю.
  • Restore.Point....: 4/5 (80.00%)

    • Restore Point (Точка восстановления): Это указывает точную позицию в словаре (или пространстве ключей), над которой в данный момент работает Hashcat. Если вы остановите и позже возобновите сеанс, Hashcat использует эту точку восстановления, чтобы продолжить с того места, где остановился, избавляя вас от необходимости начинать заново.

Отслеживая эти поля, вы можете контролировать успешные взломы и диагностировать потенциальные проблемы с вашими словарями.

Мониторинг температуры и загрузки оборудования

На этом заключительном шаге вы узнаете о разделе мониторинга оборудования на экране статуса Hashcat и о том, как правильно завершить сеанс.

Взлом паролей — это очень ресурсоемкая задача, которая может довести ваше оборудование до предела. Hashcat включает встроенный мониторинг, чтобы помочь вам следить за состоянием вашей системы.

Посмотрите на строку Hardware.Mon в выводе статуса:

  • Hardware.Mon.#1..: Temp: N/A Util: N/A Core: N/A Mem: N/A Bus: N/A
    • Temp (Температура): Показывает температуру устройства в градусах Цельсия.
    • Util (Загрузка): Показывает процент загрузки устройства (насколько оно занято).
    • Core/Mem (Ядро/Память): Показывает тактовые частоты ядра и памяти устройства.

Примечание: В нашей виртуализированной лабораторной среде эти значения отображаются как N/A (Неприменимо), поскольку Hashcat не может напрямую получить доступ к датчикам оборудования хоста. На физической машине с выделенным GPU эти поля будут отображать данные в реальном времени, что критически важно для предотвращения перегрева и обеспечения стабильной производительности.

Теперь, когда наш короткий сеанс завершен и мы проанализировали экран статуса, пора выйти из Hashcat. Для этого нажмите q, а затем Enter.

q

Hashcat остановит сеанс и вернет вас в командную строку.

Итоги

Поздравляем с завершением этой лабораторной работы!

Вы научились эффективно отслеживать запущенный сеанс Hashcat. Теперь вы знаете, как:

  • Запустить базовую словарную атаку с помощью Hashcat.
  • Использовать команду s для просмотра экрана статуса в реальном времени.
  • Интерпретировать ключевые показатели производительности, такие как Speed (Скорость), Progress (Прогресс) и ETA (Ожидаемое время завершения).
  • Понимать значение счетчиков Recovered (Восстановлено), Rejected (Отклонено) и Restore Point (Точка восстановления).
  • Распознавать поля мониторинга оборудования и их важность.

Эти навыки являются основополагающими для управления любой задачей по взлому паролей, позволяя отслеживать прогресс, диагностировать проблемы и обеспечивать безопасную и эффективную работу вашего оборудования.