Игнорирование файлов восстановления Hydra

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии (LabEx) мы рассмотрим, как Hydra обрабатывает прерванные атаки и как эффективно возобновить их. Мы имитируем прерванную атаку Hydra на службу SSH на локальном хосте, создав простые списки имен пользователей и паролей, запустив атаку и затем вручную прервав ее с помощью Ctrl+C.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/single_username("Single Username Attack") hydra/HydraGroup -.-> hydra/single_password("Single Password Attack") hydra/HydraGroup -.-> hydra/ssh_attack("SSH Brute Force") hydra/HydraGroup -.-> hydra/multiple_targets("Multiple Targets Attack") hydra/HydraGroup -.-> hydra/session_management("Session Save and Restore") subgraph Lab Skills hydra/single_username -.-> lab-550770{{"Игнорирование файлов восстановления Hydra"}} hydra/single_password -.-> lab-550770{{"Игнорирование файлов восстановления Hydra"}} hydra/ssh_attack -.-> lab-550770{{"Игнорирование файлов восстановления Hydra"}} hydra/multiple_targets -.-> lab-550770{{"Игнорирование файлов восстановления Hydra"}} hydra/session_management -.-> lab-550770{{"Игнорирование файлов восстановления Hydra"}} end

Симуляция прерванной атаки

На этом этапе мы имитируем прерванную атаку Hydra. Это поможет нам понять, как Hydra обрабатывает прерывания и как можно позже возобновить атаки. Мы начнем с запуска простой атаки Hydra, а затем вручную прервем ее.

Сначала создадим простой список паролей. Откройте терминал в директории ~/project и используйте nano для создания файла с именем passwords.txt:

nano passwords.txt

Добавьте в файл несколько распространенных паролей, по одному паролю на строку. Например:

password
123456
qwerty

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

Теперь создадим простой файл с именами пользователей. Используйте nano для создания файла с именем users.txt:

nano users.txt

Добавьте в файл одно имя пользователя:

root

Сохраните файл и выйдите из nano.

Далее мы запустим атаку Hydra на службу SSH на localhost. Мы используем простую команду, которая, скорее всего, завершится успешно быстро, но мы вручную прервем ее, чтобы имитировать более длительную атаку.

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

hydra -L users.txt -P passwords.txt localhost ssh

Эта команда сообщает Hydra:

  • -L users.txt: Использовать файл users.txt для имен пользователей.
  • -P passwords.txt: Использовать файл passwords.txt для паролей.
  • localhost: Целевой объект - localhost.
  • ssh: Атаковать службу SSH.

Пока атака выполняется (вы должны увидеть, как Hydra пробует различные комбинации имен пользователей и паролей), нажмите Ctrl+C, чтобы прервать ее.

Вы должны увидеть вывод, похожий на следующий (точный вывод может отличаться):

Hydra v9.6 starting, press Enter to test creds or Ctrl+C to exit
[DATA] 1 task, 1 server, 1 userfile, 1 passfile, max 1 task(s) per 1 server, overall 1 task(s)
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target: localhost  login: root  password: password
[ATTEMPT] target: localhost  login: root  password: 123456
[ATTEMPT] target: localhost  login: root  password: qwerty
^C
3 of 3 target(s) completed, 0 valid password(s) found

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

Перезапуск с опцией -R и запись задержки

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

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

hydra -R -L users.txt -P passwords.txt localhost ssh

Эта команда похожа на предыдущую, но с добавлением опции -R.

  • -R: Возобновить ранее прерванную/сломавшуюся сессию.
  • -L users.txt: Использовать файл users.txt для имен пользователей.
  • -P passwords.txt: Использовать файл passwords.txt для паролей.
  • localhost: Целевой объект - localhost.
  • ssh: Атаковать службу SSH.

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

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

Hydra v9.6 starting, press Enter to test creds or Ctrl+C to exit
Resuming previous session
[DATA] 1 task, 1 server, 1 userfile, 1 passfile, max 1 task(s) per 1 server, overall 1 task(s)
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target: localhost  login: root  password: qwerty
3 of 3 target(s) completed, 0 valid password(s) found

Примечание: В этом примере задержка может быть очень короткой, так как в нашем списке было только несколько паролей. Однако при использовании более крупных списков паролей задержка будет более заметной. Кроме того, так как мы прервали атаку после того, как она уже попробовала 'password', '123456' и 'qwerty', атака может завершиться очень быстро.

Использование опции -I вместе с -R для пропуска задержки

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

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

hydra -I -R -L users.txt -P passwords.txt localhost ssh

В этой команде используются как опция -I, так и опция -R:

  • -I: Игнорировать существующий файл сессии / не создавать новый.
  • -R: Возобновить ранее прерванную/сломавшуюся сессию.
  • -L users.txt: Использовать файл users.txt для имен пользователей.
  • -P passwords.txt: Использовать файл passwords.txt для паролей.
  • localhost: Целевой объект - localhost.
  • ssh: Атаковать службу SSH.

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

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

Hydra v9.6 starting, press Enter to test creds or Ctrl+C to exit
[DATA] 1 task, 1 server, 1 userfile, 1 passfile, max 1 task(s) per 1 server, overall 1 task(s)
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target: localhost  login: root  password: password
[ATTEMPT] target: localhost  login: root  password: 123456
[ATTEMPT] target: localhost  login: root  password: qwerty
3 of 3 target(s) completed, 0 valid password(s) found

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

Подтверждение нового начала

На этом этапе мы убедимся, что использование опции -I вместе с -R действительно запускает новую атаку, игнорируя прогресс предыдущей сессии. Для этого мы изменим список паролей и убедимся, что Hydra пробует все пароли с начала.

Сначала изменим файл passwords.txt. Откройте его с помощью nano:

nano passwords.txt

Добавьте новый пароль в начало файла:

newpassword
password
123456
qwerty

Сохраните файл и выйдите из nano.

Теперь снова выполните команду Hydra с опциями -I и -R:

hydra -I -R -L users.txt -P passwords.txt localhost ssh

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

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

Hydra v9.6 starting, press Enter to test creds or Ctrl+C to exit
[DATA] 1 task, 1 server, 1 userfile, 1 passfile, max 1 task(s) per 1 server, overall 1 task(s)
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target: localhost  login: root  password: newpassword
[ATTEMPT] target: localhost  login: root  password: password
[ATTEMPT] target: localhost  login: root  password: 123456
[ATTEMPT] target: localhost  login: root  password: qwerty
4 of 4 target(s) completed, 0 valid password(s) found

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

Резюме

В этом лабораторном занятии мы смоделировали прерванную атаку Hydra на службу SSH на локальном хосте (localhost). Мы создали файлы users.txt и passwords.txt, содержащие соответственно имена пользователей и пароли. Затем мы запустили атаку Hydra, используя эти файлы и нацеливаясь на службу SSH.

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