Использование режима подробности Hydra

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

Введение

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

Сначала вы запустите базовую атаку на вход в FTP против тестовой цели (127.0.0.1) без подробной информации, используя списки имен пользователей и паролей, созданные в каталоге ~/project (users.txt и passwords.txt). Затем вы повторно запустите атаку с использованием опции -v для отображения более подробной информации о каждой попытке, и, наконец, используйте опцию -V для отображения каждой попытки в реальном времени. Сравнивая вывод этих различных уровней подробности, вы поймете, как эффективно использовать опции подробности Hydra для лучшего мониторинга и устранения неполадок.

Запуск атаки на FTP без подробностей

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

Прежде чем начать, давайте разберем базовый синтаксис Hydra:

hydra [options] [service://server[:port]] [OPT]
  • hydra: Команда для запуска инструмента Hydra.
  • [options]: Различные параметры для настройки атаки, такие как списки имен пользователей, списки паролей и параметры подключения.
  • [service://server[:port]]: Указывает службу для атаки (например, ftp, ssh, http), адрес целевого сервера и необязательно номер порта.
  • [OPT]: Дополнительные параметры, специфичные для атакуемой службы.

Теперь перейдите в каталог ~/project, который является вашим стандартным рабочим каталогом в этой лабораторной среде:

cd ~/project

Далее вы создадите простой список имен пользователей и список паролей для вашей атаки.

  1. Создание списка имен пользователей:

    Создайте файл с именем users.txt в каталоге ~/project. Этот файл будет содержать список имен пользователей, по одному имени на строке. Используйте текстовый редактор nano для создания и редактирования файла:

    nano users.txt
    

    Добавьте следующие имена пользователей в файл:

    user1
    user2
    user3
    

    Чтобы сохранить файл в nano:

    1. Нажмите Ctrl + X для выхода.
    2. Нажмите Y для подтверждения сохранения.
    3. Нажмите Enter для подтверждения имени файла.
  2. Создание списка паролей:

    Аналогично, создайте файл с именем passwords.txt в каталоге ~/project. Этот файл будет содержать список паролей, по одному паролю на строке. Используйте nano для создания и редактирования файла:

    nano passwords.txt
    

    Добавьте следующие пароли в файл:

    password123
    password
    123456
    

    Сохраните файл и выйдите из nano (Ctrl+X, Y, Enter).

  3. Запуск атаки FTP без подробной информации:

    Теперь вы запустите атаку Hydra на целевой FTP-сервер. Для демонстрации вы будете использовать тестовую цель 127.0.0.1. Важно: Не пытайтесь атаковать системы без явного разрешения.

    Выполните следующую команду в вашем терминале:

    hydra -L users.txt -P passwords.txt ftp://127.0.0.1
    

    Давайте разберем эту команду:

    • -L users.txt: Указывает файл со списком имен пользователей. Поскольку вы находитесь в каталоге ~/project, вы можете использовать относительный путь users.txt.
    • -P passwords.txt: Указывает файл со списком паролей. Аналогично, вы можете использовать относительный путь passwords.txt.
    • ftp://127.0.0.1: Указывает FTP-службу и адрес целевого сервера.

    Примечание: Поскольку на 127.0.0.1 нет работающего FTP-сервера, атака завершится неудачно. Однако эта команда демонстрирует базовый синтаксис для запуска атаки FTP без подробной информации. Hydra будет пытаться использовать каждую комбинацию имени пользователя и пароля, но отобразит результаты только в случае успешного входа. Если успешного входа не будет, будет отображено сообщение, указывающее, что пароль не был взломан.

    Вывод будет похож на этот:

    Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
    
    Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 09:45:40
    [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
    [DATA] attacking ftp://127.0.0.1:21/
    1 of 1 target completed, 0 valid password found
    Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-05-30 09:45:52
    

    Как видите, без режима подробной информации Hydra предоставляет минимальный вывод — только основную информацию о настройках атаки, атакуемой цели и конечном результате. Индивидуальные попытки входа не отображаются.

Повторный запуск с параметром -v для подробностей

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

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

Вы будете продолжать использовать те же списки имен пользователей и паролей (users.txt и passwords.txt), которые вы создали на предыдущем шаге. Убедитесь, что вы по-прежнему находитесь в каталоге ~/project.

  1. Повторный запуск атаки FTP с подробным выводом:

    Выполните следующую команду в вашем терминале:

    hydra -L users.txt -P passwords.txt -v ftp://127.0.0.1
    

    Давайте разберем эту команду:

    • -L users.txt: Указывает файл со списком имен пользователей.
    • -P passwords.txt: Указывает файл со списком паролей.
    • -v: Включает подробный вывод. Это новая опция, которую вы добавляете.
    • ftp://127.0.0.1: Указывает FTP-службу и адрес целевого сервера.

    Примечание: Как и на предыдущем шаге, поскольку на 127.0.0.1 нет работающего FTP-сервера, атака завершится неудачно. Однако эта команда демонстрирует использование опции -v.

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

    Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
    
    Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 09:45:54
    [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
    [DATA] attacking ftp://127.0.0.1:21/
    [VERBOSE] Resolving addresses ... [VERBOSE] resolving done
    Process 1216: Can not connect [unreachable], retrying (1 of 1 retries)
    Process 1218: Can not connect [unreachable], retrying (1 of 1 retries)
    Process 1217: Can not connect [unreachable], retrying (1 of 1 retries)
    ...
    [ERROR] Child with pid 1220 terminating, can not connect
    [ERROR] Child with pid 1224 terminating, can not connect
    [ERROR] Child with pid 1219 terminating, can not connect
    ...
    [VERBOSE] Disabled child 7 because of too many errors
    [VERBOSE] Disabled child 8 because of too many errors
    ...
    1 of 1 target completed, 0 valid password found
    Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-05-30 09:46:07
    

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

    • Подробности разрешения DNS
    • Отдельные попытки подключения и повторные попытки процессов
    • Конкретные сообщения об ошибках для каждого неудачного подключения
    • Информация о процессах-потомках, которые были отключены из-за ошибок

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

Запуск с параметром -V для отображения попыток

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

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

Вы будете продолжать использовать те же списки имен пользователей и паролей (users.txt и passwords.txt) из предыдущих шагов. Убедитесь, что вы по-прежнему находитесь в каталоге ~/project.

  1. Повторный запуск атаки FTP с выводом -V:

    Выполните следующую команду в вашем терминале:

    hydra -L users.txt -P passwords.txt -V ftp://127.0.0.1
    

    Давайте разберем эту команду:

    • -L users.txt: Указывает файл со списком имен пользователей.
    • -P passwords.txt: Указывает файл со списком паролей.
    • -V: Включает вывод, ориентированный на попытки. Это новая опция, которую вы добавляете.
    • ftp://127.0.0.1: Указывает FTP-службу и адрес целевого сервера.

    Примечание: Как и прежде, поскольку на 127.0.0.1 нет работающего FTP-сервера, атака завершится неудачно. Однако эта команда демонстрирует использование опции -V.

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

    Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
    
    Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 09:46:09
    [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
    [DATA] attacking ftp://127.0.0.1:21/
    [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 1 of 9 [child 0] (0/0)
    [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password" - 2 of 9 [child 1] (0/0)
    [ATTEMPT] target 127.0.0.1 - login "user1" - pass "123456" - 3 of 9 [child 2] (0/0)
    [ATTEMPT] target 127.0.0.1 - login "user2" - pass "password123" - 4 of 9 [child 3] (0/0)
    ...
    1 of 1 target completed, 0 valid password found
    Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-05-30 09:46:21
    

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

    • IP-адрес цели
    • Имя пользователя и пароль, которые проверяются (в кавычках)
    • Номер попытки и общее количество попыток
    • Идентификатор процесса-потомка, обрабатывающего попытку
    • Повторные попытки при сбоях подключений (показаны как REDO-ATTEMPT)

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

Сравнение уровней подробности вывода

На этом шаге вы сравните различные уровни подробности, которые вы использовали на предыдущих шагах: отсутствие подробного вывода, -v (подробный вывод) и -V (отображение попыток). Понимание различий между этими уровнями позволит вам выбрать наиболее подходящий уровень детализации для ваших конкретных потребностей при использовании Hydra.

Давайте подведем итог характеристикам каждого уровня подробности:

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

  • -v (Подробный вывод): Эта опция предоставляет подробную техническую информацию о процессе подключения, включая разрешение DNS, отдельные попытки подключения процесса, механизмы повторных попыток и подробные сообщения об ошибках. Она особенно полезна для устранения неполадок с подключением и понимания причин, по которым атака может терпит неудачу на сетевом уровне.

  • -V (Отображение попыток): Эта опция отображает каждую попытку входа в структурированном формате, показывая конкретные комбинации имени пользователя и пароля, которые проверяются, счетчики попыток и информацию о дочерних процессах. Она обеспечивает отличную наглядность прогресса атаки без перегрузки техническими подробностями о сетевых подключениях.

Для дальнейшей иллюстрации различий рассмотрим, что вы видите, когда Hydra пытается атаковать FTP-сервер:

  • Отсутствие подробного вывода: Вы видите только основную конфигурацию и конечные результаты:

    [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
    [DATA] attacking ftp://127.0.0.1:21/
    1 of 1 target completed, 0 valid password found
    
  • -v (Подробный вывод): Вы видите подробную информацию о подключении и обработке ошибок:

    [VERBOSE] Resolving addresses ... [VERBOSE] resolving done
    Process 1216: Can not connect [unreachable], retrying (1 of 1 retries)
    [ERROR] Child with pid 1220 terminating, can not connect
    [VERBOSE] Disabled child 7 because of too many errors
    
  • -V (Отображение попыток): Вы видите каждую конкретную попытку входа с учетными данными:

    [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 1 of 9 [child 0] (0/0)
    [ATTEMPT] target 127.0.0.1 - login "user2" - pass "password" - 5 of 9 [child 4] (0/0)
    [REDO-ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 10 of 18 [child 0] (1/9)
    

Выбор правильного уровня подробности:

Выбор уровня подробности зависит от ваших конкретных потребностей и предпочтений.

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

Подводя итог, экспериментируя с различными уровнями подробности, вы можете лучше понять, как работает Hydra, и выбрать наиболее подходящий уровень детализации для ваших конкретных потребностей. Опция -V особенно полезна для отслеживания прогресса атаки, а -v — для отладки проблем с подключением.

Резюме

В этом лабораторном практикуме вы изучили режимы подробности Hydra, выполнив атаку на вход в FTP. Вы начали с выполнения базовой атаки на эмуляторе FTP-сервера (127.0.0.1) без подробного вывода, используя списки имен пользователей и паролей, созданные в каталоге ~/project. Это продемонстрировало поведение Hydra по умолчанию, где информация о подробных попытках входа подавляется.

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