Установка Hashcat и системный бенчмарк

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

Введение

Hashcat широко признан как один из самых быстрых и передовых инструментов для восстановления паролей. Он поддерживает широкий спектр алгоритмов хеширования и может использовать как центральные процессоры (CPU), так и графические процессоры (GPU) для ускорения процесса взлома паролей.

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

К концу этой лабораторной работы вы будете уверенно владеть начальной настройкой и оценкой Hashcat.

Установка Hashcat с помощью менеджера пакетов apt

На этом шаге вы установите Hashcat в вашей системе Ubuntu. Мы будем использовать менеджер пакетов apt, который является стандартным инструментом для управления программным обеспечением в дистрибутивах Linux на базе Debian, таких как Ubuntu.

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

sudo apt update

Вы увидите, как из репозиториев загружаются списки пакетов.

Далее вы можете установить Hashcat. Флаг -y используется для автоматического ответа "да" на любые запросы в процессе установки, делая его неинтерактивным.

sudo apt install hashcat -y

Теперь система загрузит и установит Hashcat и его зависимости. Вы увидите вывод, детализирующий ход установки. Пример вывода может выглядеть следующим образом (точные пакеты и версии могут отличаться):

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  hashcat-data ocl-icd-libopencl1
The following NEW packages will be installed:
  hashcat hashcat-data ocl-icd-libopencl1
0 upgraded, 3 newly installed, 0 to remove and XX not upgraded.
Need to get X,XXX kB of archives.
After this operation, XX.X MB of additional disk space will be used.
...
Setting up hashcat-data (X.X.X+ds1-1) ...
Setting up ocl-icd-libopencl1:amd64 (X.X.X-1) ...
Setting up hashcat (X.X.X+ds1-1) ...
Processing triggers for man-db (X.X.X-1) ...
Processing triggers for libc-bin (X.X.X-0ubuntu1) ...

Как только командная строка вернется, Hashcat будет установлен в вашей системе.

Проверка установки Hashcat командой 'hashcat --version'

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

Выполните следующую команду, чтобы отобразить установленную версию Hashcat:

hashcat --version

Если установка прошла успешно, команда выведет номер версии бинарного файла Hashcat. Вывод должен быть похож на следующий:

vX.X.X

Отображение номера версии подтверждает, что операционная система может найти и выполнить программу hashcat.

Вывод доступных вычислительных устройств с помощью 'hashcat -I'

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

Чтобы увидеть список всех совместимых OpenCL-устройств в вашей системе, вы можете использовать флаг -I (заглавная i).

Выполните следующую команду:

hashcat -I

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

Вывод будет выглядеть примерно так:

hashcat (vX.X.X) starting...

OpenCL Info:
============

Platform ID #1
  Vendor  : ...
  Name    : ...
  Version : OpenCL X.X ...

  Device ID #1
    Type           : CPU
    Vendor ID      : XXX
    Vendor         : ...
    Name           : Intel(R) Xeon(R) ...
    Version        : OpenCL X.X ...
    Processor(s)   : X
    Clock          : XXXX MHz
    ...

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

Запуск системного бенчмарка для MD5 с помощью 'hashcat -b -m 0'

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

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

  • -b или --benchmark: Указывает Hashcat запустить режим бенчмарка вместо реальной сессии взлома.
  • -m 0: Указывает тип хеша для бенчмарка. Число 0 соответствует алгоритму MD5. MD5 — это очень распространенный и относительно быстрый алгоритм хеширования.

Теперь выполните команду бенчмарка в вашем терминале:

hashcat -b -m 0

Hashcat начнет процесс бенчмарка. Он протестирует указанный алгоритм (MD5) на всех обнаруженных устройствах и сообщит о скорости. Процесс может занять около минуты. Вывод будет подробным, но самая важная часть — это сводка скорости в конце.

hashcat (vX.X.X) starting in benchmark mode...

... (initialization messages) ...

Benchmark relevant options:
===========================
* Hash-Type: 0 (MD5)

... (device information) ...

[s]tatus [p]ause [r]esume [b]ypass [q]uit =>

... (status updates) ...

Benchmark.Final:
================
* Hash-Type: 0 (MD5)

Speed.Dev.#1.:   XXX.X MH/s (XX.XXms)

...

Дождитесь завершения бенчмарка, прежде чем переходить к следующему шагу.

Строка Speed.Dev.#1. показывает производительность вашего основного устройства (в данном случае, CPU).

Интерпретация результатов скорости бенчмарка

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

Вернитесь к выводу команды hashcat -b -m 0 из предыдущего шага. Ключевой информацией является строка, начинающаяся со слова Speed.

Speed.Dev.#1.:   XXX.X MH/s (XX.XXms)

Давайте разберем это:

  • Speed.Dev.#1.: Это относится к скорости Устройства №1 (Device #1), которое вы определили на Шаге 3 (вероятно, ваш CPU).
  • XXX.X MH/s: Это самая важная метрика. Она означает "Мегахешей в секунду" (Mega Hashes per second). Значение 100.0 MH/s означает, что ваша система может вычислить и проверить 100 миллионов хешей MD5 каждую секунду. Чем выше это число, тем быстрее ваша система может выполнять атаки методом полного перебора (brute-force) или словарные атаки.
  • (XX.XXms): Это значение указывает на задержку (latency) или время, затраченное на пакет операций, что более актуально для тонкой настройки производительности. Для базового бенчмарка основным показателем производительности является значение H/s.

Скорость, которую вы видите, специфична для алгоритма MD5 (-m 0). Если бы вы проводили бенчмарк более сложного алгоритма, такого как bcrypt (-m 3200), скорость была бы значительно ниже (измерялась бы в H/s или kH/s вместо MH/s), поскольку bcrypt намеренно разработан так, чтобы быть медленным в вычислениях.

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

Резюме

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

В этой лабораторной работе вы приобрели следующие навыки:

  • Установка инструмента Hashcat в системе Linux с использованием менеджера пакетов apt.
  • Проверка установки программного обеспечения путем проверки его версии.
  • Определение доступных вычислительных устройств CPU и GPU, которые Hashcat может использовать.
  • Запуск системного бенчмарка производительности для конкретного алгоритма хеширования (MD5).
  • Интерпретация результатов бенчмарка для понимания возможностей вашей системы по взлому хешей.

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