Введение
В этом лабораторном практикуме вы узнаете, как управлять интервалами подключения инструмента для взлома паролей Hydra. Лабораторный практикум демонстрирует, как настроить Hydra для введения задержек между попытками подключения, позволяя управлять темпом атаки и потенциально избегать обнаружения.
Лабораторный практикум начинается с настройки базового SSH-сервера на виртуальной машине LabEx с использованием OpenSSH. Вы установите сервер, проверите его статус и подтвердите, что он прослушивает порт 22. Затем вы запустите Hydra с настройками по умолчанию, а затем измените команду, добавив опцию -W 5, которая вводит 5-секундную паузу между попытками подключения. Наконец, вы наблюдете за влиянием этой корректировки времени на общий темп атаки.
Настройка SSH-сервера
На этом шаге мы настроим базовый SSH-сервер на виртуальной машине LabEx. SSH (Secure Shell) — это криптографический сетевой протокол для безопасного управления сетевыми службами по незащищенной сети. Он широко используется для удаленного входа в командную строку и выполнения удаленных команд.
Сначала нам нужно установить сервер OpenSSH. OpenSSH — это набор инструментов сетевого уровня, связанных с безопасностью, основанных на протоколе Secure Shell, и это наиболее распространённая реализация SSH.
Откройте терминал на виртуальной машине LabEx. Вы можете использовать стандартный терминал Xfce.
Выполните следующую команду для обновления списка пакетов:
sudo apt update
Эта команда синхронизирует файлы индекса пакетов из их источников. Это хорошая практика перед установкой любого нового программного обеспечения. Возможно, вам потребуется ввести пароль, но помните, что пользователь labex имеет права sudo без пароля.
Далее установите сервер OpenSSH:
sudo apt install openssh-server -y
Флаг -y автоматически отвечает «да» на все запросы во время установки, делая процесс неинтерактивным.
После завершения установки SSH-сервер должен автоматически запуститься. Вы можете проверить его состояние с помощью следующей команды:
sudo service ssh status
Чтобы подтвердить, что SSH-сервер работает, вы можете проверить, прослушивает ли порт SSH (порт 22). Используйте команду netstat:
netstat -tulnp | grep 22
Вы должны увидеть вывод, похожий на этот:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
Это указывает на то, что SSH-сервер прослушивает порт 22 для подключений IPv4 и IPv6.
Теперь, когда SSH-сервер настроен, вы можете подключиться к нему с другого компьютера с помощью SSH-клиента. Однако в рамках этого практикума мы сосредоточимся на использовании Hydra для взлома пароля SSH.
Запуск Hydra с настройками по умолчанию
На этом шаге мы запустим Hydra для попытки взлома пароля SSH. Мы будем использовать простой список имен пользователей и паролей и наблюдать за темпом атаки с настройками тайминга по умолчанию.
Сначала создадим файл списка имен пользователей с именем users.txt в каталоге ~/project. Этот файл будет содержать одно имя пользователя: labex.
В терминале выполните следующую команду для создания файла users.txt:
echo "labex" > ~/project/users.txt
Далее создайте файл списка паролей с именем passwords.txt в каталоге ~/project. Этот файл будет содержать несколько распространённых паролей, включая правильный пароль для пользователя labex.
Важно: Вы должны выполнить следующие команды в терминале рабочего стола, так как переменная окружения PASSWORD доступна только в среде рабочего стола.

В терминале рабочего стола выполните следующие команды для создания файла passwords.txt:
echo "password" > ~/project/passwords.txt
echo "123456" >> ~/project/passwords.txt
echo "$PASSWORD" >> ~/project/passwords.txt
Переменная окружения $PASSWORD содержит фактический пароль для пользователя labex в этой среде.
Теперь мы можем запустить Hydra с настройками тайминга по умолчанию. Основной синтаксис Hydra:
hydra [options] <target> <service> [MODULE-OPTIONS]
В нашем случае целевой хост — localhost (сама виртуальная машина LabEx), служба — ssh, и мы будем использовать созданные нами списки имен пользователей и паролей.
Выполните следующую команду в терминале:
hydra -L ~/project/users.txt -P ~/project/passwords.txt localhost ssh
Давайте разберём эту команду:
hydra: Команда для запуска инструмента Hydra.-L ~/project/users.txt: Указывает файл списка имен пользователей по адресу~/project/users.txt.-P ~/project/passwords.txt: Указывает файл списка паролей по адресу~/project/passwords.txt.localhost: Целевой хост (в данном случае — локальная машина).ssh: Служба для атаки (SSH).
Hydra начнёт попытки входа в SSH-сервер, используя имена пользователей и пароли из списков. Вы увидите вывод, отображающий ход атаки. Он будет проверять каждую комбинацию имени пользователя и пароля. Поскольку правильный пароль из переменной окружения $PASSWORD находится в файле passwords.txt, Hydra должен найти его относительно быстро.

Вывод будет примерно таким:
Hydra vX.X (c) XXXX by van Hauser/THC - use help for legal stuff
Hydra starting at YYYY-MM-DD HH:MM:SS
[DATA] 1 task/1 service to scan
[DATA] attacking ssh://localhost:22
[STATUS] X.XX tries/min
[STATUS] X of X passwords tested (X.XX%)
[22][ssh] host: localhost login: labex password: [actual_password]
Hydra finished.
Важная строка — [22][ssh] host: localhost login: labex password: [actual_password]. Это указывает, что Hydra успешно нашёл пароль для пользователя labex.
Обратите внимание на скорость, с которой Hydra пытается подобрать пароли. Это настройки тайминга по умолчанию. На следующем шаге мы изменим тайминг, чтобы увидеть, как это повлияет на темп атаки.
Добавление -W 5 для 5-секундных интервалов
На этом шаге мы добавим опцию -W 5 к команде Hydra. Эта опция вводит 5-секундную задержку между каждой попыткой входа. Это полезно для предотвращения блокировки учетных записей или обнаружения системами обнаружения вторжений.
Опция -W в Hydra задаёт таймаут ожидания ответа от целевой службы. По умолчанию Hydra использует очень короткий таймаут. Увеличение этого таймаута может помочь, когда целевая служба медленно отвечает или есть проблемы с задержкой сети.
Выполните следующую команду в терминале:
hydra -L ~/project/users.txt -P ~/project/passwords.txt -W 5 localhost ssh
Единственное отличие этой команды от предыдущей — добавление опции -W 5.
Теперь Hydra будет пытаться войти в SSH-сервер, но будет ждать 5 секунд после каждой неудачной попытки входа, прежде чем попробовать следующий пароль.
Наблюдайте за выводом. Вы заметите, что темп атаки значительно медленнее, чем на предыдущем шаге. Hydra всё равно найдёт правильный пароль («labex»), но это займёт больше времени.
Вывод будет примерно таким:
Hydra vX.X (c) XXXX by van Hauser/THC - use help for legal stuff
Hydra starting at YYYY-MM-DD HH:MM:SS
[DATA] 1 task/1 service to scan
[DATA] attacking ssh://localhost:22
[STATUS] X.XX tries/min
[STATUS] X of X passwords tested (X.XX%)
[22][ssh] host: localhost login: labex password: labex
Hydra finished.
Однако ключевое различие — время, необходимое для достижения сообщения Hydra finished.. С опцией -W 5 потребуется как минимум 10 секунд (2 неудачных попытки * 5 секунд/попытка), прежде чем Hydra найдёт правильный пароль.
На следующем шаге мы обсудим влияние этого изменения на темп атаки и последствия для тестирования безопасности.
Наблюдение за влиянием на темп атаки
На этом шаге мы проанализируем влияние опции -W 5 на темп атаки Hydra.
Как вы наблюдали на предыдущих шагах, добавление -W 5 значительно замедлило атаку. Без опции -W 5 Hydra пытается выполнить входы так быстро, как только возможно, ограниченное только задержкой сети и временем ответа сервера. С -W 5 Hydra делает паузу в 5 секунд после каждой неудачной попытки входа.
Это различие в темпе атаки имеет несколько важных последствий:
Блокировка учетной записи: Многие системы имеют политики блокировки учетных записей, которые отключают учетную запись после определённого количества неудачных попыток входа. Замедлив темп атаки с помощью
-W 5, вы можете снизить риск срабатывания этих политик блокировки и избежать блокировки целевой учетной записи.Системы обнаружения вторжений (IDS): Системы IDS отслеживают сетевой трафик на предмет подозрительной активности, такой как атаки методом перебора паролей. Быстрая серия неудачных попыток входа — явный признак атаки методом перебора паролей и может вызвать тревогу. Замедлив темп атаки, вы можете затруднить обнаружение атаки системой IDS.
Потребление ресурсов: Быстрый темп атаки может потреблять значительные ресурсы как на атакующей машине, так и на целевом сервере. Замедление темпа атаки может снизить потребление ресурсов и сделать атаку менее заметной.
Время завершения: Наиболее очевидное влияние — увеличение времени, необходимого для завершения атаки. Если у вас большой список паролей, добавление задержки между попытками может значительно увеличить общее время, необходимое для взлома пароля.
В заключение, опция -W в Hydra позволяет контролировать темп атаки и балансировать потребность в скорости с риском обнаружения и блокировки учетной записи. Выбор правильного значения для -W зависит от конкретной цели и целей атаки. Для тестирования проникновения часто лучше быть скрытным и избегать обнаружения, даже если это означает, что атака займёт больше времени.
Этот лабораторный практикум продемонстрировал базовый пример использования Hydra для взлома пароля SSH. В реальных сценариях злоумышленники часто используют гораздо более длинные списки имен пользователей и паролей и более сложные методы для обхода мер безопасности. Важно использовать надёжные и уникальные пароли и внедрять соответствующие меры безопасности для защиты от атак методом перебора паролей.
Резюме
В этом практическом занятии вы изучили, как контролировать интервалы соединений Hydra для управления темпом атаки и избегания обнаружения.
Выполненные ключевые шаги:
- Настройка SSH-сервера с использованием OpenSSH и проверка его прослушивания на порту 22
- Создание списков имен пользователей и паролей для тестирования Hydra
- Запуск Hydra с настройками по умолчанию для наблюдения за быстрым темпом атаки
- Добавление опции
-W 5для введения 5-секундных задержек между попытками подключения - Наблюдение за тем, как контроль времени влияет на скорость атаки и помогает избежать блокировки учетных записей и систем обнаружения
Опция -W позволяет сбалансировать скорость атаки и скрытность, делая её важным параметром для эффективного тестирования проникновения, минимизируя риск срабатывания мер безопасности.


