Введение
В этой лабораторной работе вы научитесь проводить атаки методом перебора против сервисов SSH с помощью Hydra — популярного инструмента для взлома паролей в сфере кибербезопасности. Упражнение охватывает установку Hydra, настройку целевого сервера со слабыми учетными данными и выполнение атак с использованием подготовленных словарей.
Вы получите практический опыт настройки тестовой среды SSH и анализа возможностей Hydra по проведению брутфорс-атак. Эта лабораторная работа демонстрирует сценарии реальных атак, закрепляя принципы этичного хакинга в контролируемой среде.
Установка Hydra
На этом этапе мы установим Hydra — мощный инструмент для взлома паролей, используемый для атак методом перебора на различные сетевые службы. Hydra особенно полезна при тестировании на проникновение, так как она может систематически перебирать различные комбинации имен пользователей и паролей для получения доступа к защищенным системам. Она поддерживает множество протоколов, включая SSH (который мы будем использовать в этой работе), FTP, HTTP и другие.
Сначала откройте терминал в вашей виртуальной среде LabEx. Терминал — это ваш основной интерфейс для выполнения команд в Linux. Убедитесь, что вы находитесь в рабочей директории по умолчанию, где мы будем выполнять все наши действия:
cd ~/projectПеред установкой любого нового программного обеспечения рекомендуется обновить список пакетов. Это гарантирует, что вы получите последнюю доступную версию Hydra и всех её зависимостей:
sudo apt updateТеперь установим Hydra с помощью менеджера пакетов apt, который управляет установкой ПО в системах на базе Debian, таких как Ubuntu. Флаг
-yавтоматически подтверждает установку:sudo apt install -y hydraПосле установки проверим, правильно ли установлена Hydra, узнав её версию. Команда
head -n 1выводит только первую строку вывода, содержащую информацию о версии:hydra -h | head -n 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.Hydra также предлагает версию с графическим интерфейсом для тех, кто предпочитает визуальные инструменты. Хотя в этой лабораторной работе мы будем использовать версию для командной строки, вы можете при желании установить версию GTK+ GUI с помощью команды:
sudo apt install -y hydra-gtk
Настройка целевого SSH-сервера
На этом этапе мы настроим локальный SSH-сервер, который будет служить нашей целью для взлома паролей на последующих этапах. Это позволит нам практиковать методы тестирования на проникновение в контролируемой среде. SSH (Secure Shell) — это протокол, используемый для безопасного удаленного входа между компьютерами, и мы настроим его уязвимую версию в учебных целях.
Сначала убедитесь, что вы находитесь в рабочей директории по умолчанию. Это важно для того, чтобы все файлы лабораторной работы были организованы в одном месте:
cd ~/projectУстановите пакет сервера OpenSSH. Это программное обеспечение превратит вашу машину в SSH-сервер, способный принимать удаленные соединения:
sudo apt install -y openssh-serverСоздайте специальную тестовую учетную запись пользователя со слабым паролем (исключительно в демонстрационных целях). В реальных сценариях именно такие слабые пароли и ищут злоумышленники:
sudo useradd -m testuser echo "testuser:password123" | sudo chpasswdНастройте SSH для разрешения аутентификации по паролю (временно для этой лабораторной работы). По умолчанию во многих системах аутентификация по паролю отключена в целях безопасности, но мы включаем её здесь, чтобы продемонстрировать работу атак методом перебора:
sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_configПерезапустите службу SSH, чтобы изменения вступили в силу. Службы часто требуют перезапуска после изменения конфигурации:
sudo service ssh restartПроверьте, запущен ли SSH-сервер. Эта команда проверяет, активен ли наш SSH-сервер и ожидает ли он соединений:
sudo service ssh statusВы должны увидеть вывод, указывающий на то, что служба активна (running). Если нет, возможно, на предыдущих этапах возникла ошибка, требующая устранения.
Протестируйте SSH-соединение локально. Эта финальная проверка подтверждает, что всё работает, прежде чем мы перейдем к фазе атаки:
ssh testuser@localhost -o StrictHostKeyChecking=noПри появлении запроса введите пароль
password123. После успешного входа введитеexit, чтобы вернуться в основную сессию. Опция-o StrictHostKeyChecking=noпредотвращает запрос SSH на проверку отпечатка сервера, что допустимо в данной лабораторной среде.
Подготовка списков имен пользователей и паролей
На этом этапе мы создадим текстовые файлы, содержащие потенциальные имена пользователей и пароли, которые Hydra будет использовать для попыток аутентификации по SSH. Эти файлы необходимы для атак по словарю. Атака по словарю работает путем систематического перебора всех возможных комбинаций имен пользователей и паролей из заранее определенных списков, поэтому подготовка качественных списков имеет решающее значение.
Сначала убедитесь, что вы находитесь в рабочей директории по умолчанию. Это поможет поддерживать порядок в файлах проекта и упростит ссылки на них в дальнейшем:
cd ~/projectСоздайте файл со списком имен пользователей с помощью текстового редактора nano. Распространенные имена пользователей часто проверяются первыми при брутфорс-атаках, так как во многих системах используются стандартные или предсказуемые логины:
nano usernames.txtДобавьте следующие распространенные имена пользователей (нажмите Ctrl+O для сохранения, затем Ctrl+X для выхода):
admin root testuser user guestСоздайте файл со списком паролей. Слабые пароли, подобные этим, используются часто и зачастую становятся первыми целями при тестировании безопасности:
nano passwords.txtДобавьте следующие распространенные пароли:
password password123 123456 qwerty letmeinУбедитесь, что файлы созданы правильно, выведя их содержимое. Этот этап проверки гарантирует отсутствие опечаток или проблем с форматированием в ваших списках:
cat usernames.txt cat passwords.txtВы должны увидеть созданные вами списки в терминале.
(Опционально) Сгенерируйте дополнительные варианты паролей с помощью crunch. Этот инструмент помогает создавать более полные списки паролей, автоматически генерируя комбинации на основе заданных шаблонов:
sudo apt install -y crunch crunch 4 6 0123456789 -o num_passwords.txtЭто создаст числовые пароли длиной от 4 до 6 символов. Команда задает минимальную длину (4), максимальную длину (6) и набор символов (цифры 0-9).
Запуск Hydra против SSH
На этом этапе мы будем использовать Hydra для выполнения атаки методом перебора на наш локальный SSH-сервер. Брутфорс — это метод перебора множества комбинаций логин/пароль до тех пор, пока не будет найдена верная. Мы будем использовать словари, подготовленные ранее, чтобы автоматизировать этот процесс.
Сначала перейдите в директорию проекта, содержащую ваши словари. Это гарантирует, что Hydra сможет найти созданные нами файлы:
cd ~/projectТеперь запустим Hydra со специфическими параметрами. Структура команды указывает Hydra, что атаковать и каким образом. Разберем её подробно:
hydra -L usernames.txt -P passwords.txt ssh://localhost -t 4 -vVПояснение параметров:
-L usernames.txt: Указывает на наш список возможных имен пользователей.-P passwords.txt: Указывает на наш файл словаря паролей.ssh://localhost: Целевой сервис SSH на этой машине.-t 4: Контролирует скорость, ограничивая количество одновременных попыток до 4.-vV: Отображает подробный прогресс выполнения в терминале.
Во время работы Hydra будет отображать каждую попытку в режиме реального времени. Когда она найдет верные учетные данные, они четко появятся в выводе следующим образом:
[22][ssh] host: localhost login: testuser password: password123
(Опционально) Чтобы сохранить результаты на постоянной основе, мы можем записать их в файл. Это полезно для документирования или дальнейшего анализа:
hydra -L usernames.txt -P passwords.txt ssh://localhost -t 4 -o results.txtПосле завершения сканирования вы можете просмотреть сохраненные результаты с помощью команды:
cat results.txt
Резюме
В этой лабораторной работе вы научились проводить атаку методом перебора на SSH с помощью Hydra — мощного инструмента для взлома паролей. Упражнение охватило установку Hydra, настройку SSH-сервера для тестирования и создание целевых списков имен пользователей и паролей.
Вы попрактиковались в выполнении атак по словарю и анализе результатов, наглядно увидев, как слабые учетные данные могут быть скомпрометированы. Этот практический опыт подчеркивает критическую необходимость использования надежных паролей и безопасных методов аутентификации в сфере кибербезопасности.


