Установка и проверка Hydra

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

Введение

В этой лабораторной работе вы научитесь устанавливать и проверять Hydra, универсальный инструмент для взлома паролей (password-cracking tool) методом перебора (brute-forcing) для сетевых логинов по различным протоколам. Упражнения охватывают установку пакета, проверку версии и базовое тестирование команд для обеспечения надлежащей функциональности.

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

Установка Hydra в вашу систему

На этом шаге вы установите Hydra, мощный инструмент для взлома паролей (password-cracking tool), используемый для тестирования сетевой безопасности. Hydra выполняет атаки методом перебора (brute-force attacks) против систем входа в систему и поддерживает более 30 протоколов, включая HTTP, FTP, SSH и другие. Мы установим его на вашу LabEx VM, которая обеспечивает безопасную среду для обучения.

Примечание: Бесплатные пользователи не могут подключаться к Интернету, поэтому Hydra уже предустановлена в лабораторной среде. Вы можете перейти к пункту 4 в списке (проверить, установлена ли Hydra). Перейдите на версию Pro, чтобы самостоятельно попрактиковаться в установке Hydra.

  1. Сначала нам нужно обновить список пакетов. Это гарантирует, что вы установите последнюю доступную версию Hydra и ее зависимости:
sudo apt update

Команда sudo предоставляет вам права администратора, а apt update обновляет список доступных пакетов вашей системы.

  1. Теперь установите Hydra с помощью менеджера пакетов apt. Флаг -y автоматически подтверждает любые запросы во время установки:
sudo apt install -y hydra
  1. Процесс установки автоматически обработает все необходимые зависимости (dependencies). Это дополнительные программные компоненты, необходимые для правильной работы Hydra. Дождитесь завершения процесса - вы увидите сообщение, когда он будет завершен.

  2. После установки давайте убедимся, что Hydra правильно установлена и доступна. Команда which показывает, где система находит исполняемый файл Hydra:

which hydra
which hydra

Ожидаемый вывод:

/usr/bin/hydra

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

Проверка установки Hydra с помощью проверки версии

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

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

  1. Начнем с базовой проверки версии. Введите эту команду в своем терминале:
hydra -v
  1. После запуска вы должны увидеть вывод, подобный следующему:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes.

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

  1. Для получения более технических сведений о вашей установке Hydra, включая то, как она была скомпилирована, используйте опцию -V в верхнем регистре:
hydra -V
  1. Эта команда отобразит дополнительную информацию о сборке, которая может быть полезна для устранения неполадок или при сообщении о проблемах.

Эти простые проверки выполняют несколько важных задач:

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

Если какая-либо из этих команд завершается неудачно или выдает ошибку, это, вероятно, означает, что Hydra установлена неправильно или отсутствует в PATH вашей системы, и вам потребуется устранить неполадки установки.

Определение пути к исполняемому файлу Hydra

На этом шаге вы узнаете, как найти, где установлена Hydra в вашей системе. Когда мы устанавливаем программное обеспечение, такое как Hydra, система помещает его исполняемый файл в определенные каталоги. Знание этого пути необходимо, потому что:

  1. Это помогает вам убедиться, что установка прошла успешно
  2. Этот путь понадобится вам при создании скриптов или псевдонимов (aliases)
  3. Системным администраторам часто необходимо проверять местоположение исполняемых файлов для аудита безопасности (security audits)

Начнем с основной команды для определения местоположения Hydra:

  1. Используйте команду which, чтобы найти исполняемый файл Hydra. Эта команда выполняет поиск в переменной среды PATH вашей системы, чтобы найти, где установлена Hydra:
which hydra
  1. Вывод покажет вам полный путь, где находится основной исполняемый файл Hydra. Типичная система Linux покажет что-то вроде:
/usr/bin/hydra
  1. Теперь давайте получим больше информации об этом исполняемом файле. Следующая команда объединяет ls -l (которая показывает детали файла) с which hydra (чтобы получить путь):
ls -l $(which hydra)
  1. Это дает вам важную информацию, включая:
    • Права доступа к файлу (кто может читать/писать/выполнять его)
    • Владелец файла (обычно root для программ, установленных системой)
    • Размер файла и дату изменения
    • Фактический путь

Пример вывода:

-rwxr-xr-x 1 root root 123456 Jan 1 00:00 /usr/bin/hydra
  1. Чтобы углубиться еще больше, мы можем проверить, какой тип файла представляет собой исполняемый файл Hydra. Это особенно полезно, когда вам нужно убедиться, что это подлинный двоичный файл (binary) , а не скрипт или символическая ссылка (symlink):
file $(which hydra)
  1. Вывод сообщает вам, что это скомпилированный двоичный файл (не скрипт), и показывает технические детали о его архитектуре и связывании (linking):
/usr/bin/hydra: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=abcdef1234567890, for GNU/Linux 3.2.0, stripped

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

Запуск Hydra с командой справки

На этом шаге вы узнаете, как получить доступ к встроенной справочной документации Hydra, чтобы понять ее основное использование и синтаксис команд. Справочная система Hydra - это ваша первая точка отсчета при работе с этим инструментом, поскольку она подробно объясняет все доступные команды и параметры.

  1. Чтобы отобразить основное меню справки, которое показывает общую структуру команд и общие параметры, выполните эту простую команду в своем терминале:
hydra -h
  1. Вывод отобразит информацию о версии Hydra, за которой следует основной синтаксис команды. Это включает в себя:
  • Форматы обязательных параметров
  • Общие флаги параметров
  • Основные примеры использования
    Вот что вы обычно увидите:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]]

Options:
  -l LOGIN or -L FILE  login with LOGIN name, or load several logins from FILE
  -p PASS  or -P FILE  try password PASS, or load several passwords from FILE
  ...
  1. Для получения справки по конкретному протоколу, которая показывает расширенные параметры для конкретных служб (таких как HTTP или FTP), используйте следующий формат команды:
hydra -U SERVICE

Замените SERVICE фактическим именем протокола, с которым вы работаете, например http, ftp или ssh. Это отобразит специализированные параметры для этой конкретной службы.

  1. Чтобы узнать все доступные сервисные модули (service modules), с которыми может работать Hydra, выполните эту команду (обратите внимание, что 'foo' и 'bar' здесь просто заполнители):
hydra -l foo -p bar -U
  1. Полный вывод справки предоставляет важную информацию, включая:
  • Обязательные и необязательные параметры для каждого модуля
  • Практические примеры использования
  • Полный список поддерживаемых протоколов
  • Настройки, связанные с производительностью, для настройки ваших тестов

Помните, что справочная система Hydra является контекстно-зависимой - отображаемая информация изменяется в зависимости от того, какие параметры вы объединяете с флагами -h или -U.

Тестирование Hydra с помощью фиктивной команды

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

  1. Сначала создайте тестовый список паролей. Этот файл будет содержать примеры паролей, которые Hydra будет пытаться использовать во время теста:
echo -e "password\n123456\nqwerty" > ~/project/test_passwords.txt
  1. Создайте тестовый список имен пользователей. Аналогично, этот файл содержит примеры имен пользователей, которые Hydra будет пытаться использовать:
echo -e "admin\ntest\nroot" > ~/project/test_usernames.txt
  1. Теперь мы запустим Hydra в тестовом режиме против localhost (вашей собственной машины). Это совершенно безопасно, потому что мы нацелены на себя и используем тестовые учетные данные, которые на самом деле не сработают:
hydra -L ~/project/test_usernames.txt -P ~/project/test_passwords.txt 127.0.0.1 ssh -t 1 -vV
  1. Вы должны увидеть вывод, показывающий попытку теста. Этот вывод демонстрирует, как Hydra перебирает комбинации паролей, хотя на самом деле войти в систему не удастся:
[DATA] attacking ssh://127.0.0.1:22/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[INFO] Testing if password authentication is supported by ssh://127.0.0.1:22
[22][ssh] host: 127.0.0.1   login: admin   password: password
[22][ssh] host: 127.0.0.1   login: admin   password: 123456
[22][ssh] host: 127.0.0.1   login: admin   password: qwerty
...
[STATUS] attack finished for 127.0.0.1 (waiting for children to complete tests)
  1. Команда использует следующие безопасные параметры, которые важно понимать:
  • -L: Указывает путь к файлу списка имен пользователей, который мы создали
  • -P: Указывает путь к файлу списка паролей, который мы создали
  • -t 1: Ограничивает Hydra 1 параллельным соединением (делает тест медленнее, но безопаснее)
  • -vV: Включает подробный вывод (verbose output), чтобы мы могли видеть, что делает Hydra
  • ssh: Указывает, что мы тестируем протокол SSH (хотя этот тест не удастся)

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

Резюме

В этой лабораторной работе вы узнали, как установить и проверить инструмент для взлома паролей Hydra в системе LabEx VM. Процесс включал в себя обновление пакетов, установку Hydra через apt и подтверждение пути установки в /usr/bin/hydra. Вы также проверили установку, проверив версию Hydra с помощью команд hydra -v и hydra -V.

Кроме того, вы изучили основные функции Hydra, определив путь к исполняемому файлу с помощью which hydra и протестировав такие команды, как hydra -h. Эти шаги гарантировали, что Hydra правильно установлен и готов к практическому использованию в сценариях тестирования безопасности.