Введение
В этой лабораторной работе вы научитесь устанавливать и проверять 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.
- Сначала нам нужно обновить список пакетов. Это гарантирует, что вы установите последнюю доступную версию Hydra и ее зависимости:
sudo apt update
Команда sudo предоставляет вам права администратора, а apt update обновляет список доступных пакетов вашей системы.
- Теперь установите Hydra с помощью менеджера пакетов apt. Флаг
-yавтоматически подтверждает любые запросы во время установки:
sudo apt install -y hydra
Процесс установки автоматически обработает все необходимые зависимости (dependencies). Это дополнительные программные компоненты, необходимые для правильной работы Hydra. Дождитесь завершения процесса - вы увидите сообщение, когда он будет завершен.
После установки давайте убедимся, что Hydra правильно установлена и доступна. Команда
whichпоказывает, где система находит исполняемый файл Hydra:
which hydra

Ожидаемый вывод:
/usr/bin/hydra
Этот вывод подтверждает, что Hydra установлена правильно. Расположение /usr/bin/ означает, что инструмент доступен в масштабе всей системы, поэтому вы можете запускать его из любого каталога в вашем терминале. В следующих шагах мы рассмотрим, как использовать мощные функции Hydra.
Проверка установки Hydra с помощью проверки версии
На этом шаге мы проверим, правильно ли установлена Hydra, проверив номер ее версии. Это важная первая проверка, поскольку она подтверждает три важные вещи: что программное обеспечение установлено правильно, что ваша система может его найти (через PATH) и что оно готово к использованию.
При работе с инструментами командной строки, такими как Hydra, проверка версии всегда является хорошей отправной точкой. Это помогает вам убедиться, что вы работаете с правильным инструментом, и предоставляет вам основную информацию о вашей установке.
- Начнем с базовой проверки версии. Введите эту команду в своем терминале:
hydra -v
- После запуска вы должны увидеть вывод, подобный следующему:
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 в этом примере) и некоторую информацию об авторских правах. Номер версии особенно важен при следовании учебным пособиям или документации, поскольку разные версии могут иметь немного разные функции.
- Для получения более технических сведений о вашей установке Hydra, включая то, как она была скомпилирована, используйте опцию
-Vв верхнем регистре:
hydra -V
- Эта команда отобразит дополнительную информацию о сборке, которая может быть полезна для устранения неполадок или при сообщении о проблемах.
Эти простые проверки выполняют несколько важных задач:
- Они подтверждают, что Hydra установлена и работает
- Они проверяют, что ваша система может найти команду Hydra (то есть она находится в вашем PATH)
- Они предоставляют вам информацию о том, какую версию вы используете
- Они помогают выявить любые немедленные проблемы с установкой
Если какая-либо из этих команд завершается неудачно или выдает ошибку, это, вероятно, означает, что Hydra установлена неправильно или отсутствует в PATH вашей системы, и вам потребуется устранить неполадки установки.
Определение пути к исполняемому файлу Hydra
На этом шаге вы узнаете, как найти, где установлена Hydra в вашей системе. Когда мы устанавливаем программное обеспечение, такое как Hydra, система помещает его исполняемый файл в определенные каталоги. Знание этого пути необходимо, потому что:
- Это помогает вам убедиться, что установка прошла успешно
- Этот путь понадобится вам при создании скриптов или псевдонимов (aliases)
- Системным администраторам часто необходимо проверять местоположение исполняемых файлов для аудита безопасности (security audits)
Начнем с основной команды для определения местоположения Hydra:
- Используйте команду
which, чтобы найти исполняемый файл Hydra. Эта команда выполняет поиск в переменной среды PATH вашей системы, чтобы найти, где установлена Hydra:
which hydra
- Вывод покажет вам полный путь, где находится основной исполняемый файл Hydra. Типичная система Linux покажет что-то вроде:
/usr/bin/hydra
- Теперь давайте получим больше информации об этом исполняемом файле. Следующая команда объединяет
ls -l(которая показывает детали файла) сwhich hydra(чтобы получить путь):
ls -l $(which hydra)
- Это дает вам важную информацию, включая:
- Права доступа к файлу (кто может читать/писать/выполнять его)
- Владелец файла (обычно root для программ, установленных системой)
- Размер файла и дату изменения
- Фактический путь
Пример вывода:
-rwxr-xr-x 1 root root 123456 Jan 1 00:00 /usr/bin/hydra
- Чтобы углубиться еще больше, мы можем проверить, какой тип файла представляет собой исполняемый файл Hydra. Это особенно полезно, когда вам нужно убедиться, что это подлинный двоичный файл (binary) , а не скрипт или символическая ссылка (symlink):
file $(which hydra)
- Вывод сообщает вам, что это скомпилированный двоичный файл (не скрипт), и показывает технические детали о его архитектуре и связывании (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 - это ваша первая точка отсчета при работе с этим инструментом, поскольку она подробно объясняет все доступные команды и параметры.
- Чтобы отобразить основное меню справки, которое показывает общую структуру команд и общие параметры, выполните эту простую команду в своем терминале:
hydra -h
- Вывод отобразит информацию о версии 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
...
- Для получения справки по конкретному протоколу, которая показывает расширенные параметры для конкретных служб (таких как HTTP или FTP), используйте следующий формат команды:
hydra -U SERVICE
Замените SERVICE фактическим именем протокола, с которым вы работаете, например http, ftp или ssh. Это отобразит специализированные параметры для этой конкретной службы.
- Чтобы узнать все доступные сервисные модули (service modules), с которыми может работать Hydra, выполните эту команду (обратите внимание, что 'foo' и 'bar' здесь просто заполнители):
hydra -l foo -p bar -U
- Полный вывод справки предоставляет важную информацию, включая:
- Обязательные и необязательные параметры для каждого модуля
- Практические примеры использования
- Полный список поддерживаемых протоколов
- Настройки, связанные с производительностью, для настройки ваших тестов
Помните, что справочная система Hydra является контекстно-зависимой - отображаемая информация изменяется в зависимости от того, какие параметры вы объединяете с флагами -h или -U.
Тестирование Hydra с помощью фиктивной команды
На этом шаге вы выполните безопасную тестовую команду с Hydra, чтобы проверить ее основные функции, не атакуя какие-либо реальные системы. Это важный первый шаг, чтобы понять, как работает Hydra, прежде чем использовать ее в реальных сценариях.
- Сначала создайте тестовый список паролей. Этот файл будет содержать примеры паролей, которые Hydra будет пытаться использовать во время теста:
echo -e "password\n123456\nqwerty" > ~/project/test_passwords.txt
- Создайте тестовый список имен пользователей. Аналогично, этот файл содержит примеры имен пользователей, которые Hydra будет пытаться использовать:
echo -e "admin\ntest\nroot" > ~/project/test_usernames.txt
- Теперь мы запустим Hydra в тестовом режиме против localhost (вашей собственной машины). Это совершенно безопасно, потому что мы нацелены на себя и используем тестовые учетные данные, которые на самом деле не сработают:
hydra -L ~/project/test_usernames.txt -P ~/project/test_passwords.txt 127.0.0.1 ssh -t 1 -vV
- Вы должны увидеть вывод, показывающий попытку теста. Этот вывод демонстрирует, как 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)
- Команда использует следующие безопасные параметры, которые важно понимать:
-L: Указывает путь к файлу списка имен пользователей, который мы создали-P: Указывает путь к файлу списка паролей, который мы создали-t 1: Ограничивает Hydra 1 параллельным соединением (делает тест медленнее, но безопаснее)-vV: Включает подробный вывод (verbose output), чтобы мы могли видеть, что делает Hydrassh: Указывает, что мы тестируем протокол SSH (хотя этот тест не удастся)
Этот тест демонстрирует основную работу Hydra без какого-либо риска, показывая, как она систематически перебирает различные комбинации имени пользователя/пароля. Вывод показывает предпринятые попытки, хотя ни одна из них не увенчается успехом против вашей локальной машины.
Резюме
В этой лабораторной работе вы узнали, как установить и проверить инструмент для взлома паролей Hydra в системе LabEx VM. Процесс включал в себя обновление пакетов, установку Hydra через apt и подтверждение пути установки в /usr/bin/hydra. Вы также проверили установку, проверив версию Hydra с помощью команд hydra -v и hydra -V.
Кроме того, вы изучили основные функции Hydra, определив путь к исполняемому файлу с помощью which hydra и протестировав такие команды, как hydra -h. Эти шаги гарантировали, что Hydra правильно установлен и готов к практическому использованию в сценариях тестирования безопасности.


