Скачиваний:
11
Добавлен:
10.04.2023
Размер:
1.92 Mб
Скачать
  1. Перебор логинов и паролей в Hydra

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

Общий синтаксис:

$ hydra опции логины пароли -s порт адрес_цели модуль параметры_модуля

Опции:

  • -R - восстановить ранее прерванную сессию Hydra;

  • -S - использовать SSL для подключения;

  • -s - указать порт;

  • -l - использовать логин;

  • -L - выбирать логины из файла со списком;

  • -p - использовать пароль;

  • -P - использовать пароль из файла со списком;

  • -M - взять список целей из файла;

  • -x - генератор паролей;

  • -u - по умолчанию hydra проверяет все пароли для первого логина, эта опция позволяет проверить один пароль для всех логинов;

  • -f - выйти, если правильный логин/пароль найден;

  • -o - сохранить результат в файл;

  • -t - количество потоков для программы;

  • -w - время между запросами в секундах;

  • -v - подробный вывод;

  • -V - выводить тестируемые логины и пароли.

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

Команда пишется следующим образом:

$ hydra <адрес сервера (в нашем случае это localhost)> -V -l <определенный логин*> -P <список из паролей (можно в формате txt/lst)> http-post-form “/mutillidae/index.php?page=login.php:username=^USER^&password=^PASS^&login-php-submit-button=Login:F=<Сообщение при попытке неверной авторизации**>”

*Обратите внимание, что если вы используете список логинов, а не один логин, то нужно использовать опцию -L, а не -l.

**Чтобы узнать это сообщение, просто зайдите на mutillidae, введите любой логин и пароль и посмотрите, какую ошибку он выведет. Например: Password incorrect

!!! Обратите внимание на рисунок 2 (строка 1, 15) и на то, что в кавычках команды. Именно там вы и нашли правильную форму (синтаксис) запроса (15 строка) и ссылку для авторизации (строка 1). Можете просто зайти на сервер, нажать на кнопку с целью войти в профиль и убедиться, что действительно у них одинаковые url строки.

!!! Бардовым цветом выделены в команде те элементы, которые вы должны вписать сами.

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

Рис.3. Пример команды hydra

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

  • URL страницы на сервере, принимающей GET или POST.

  • величины POST/GET (принятые хоть от браузера, прокси и т. д.(см. рис. 2. строка 1)) имена пользователя и пароли будут символизируют заполнители "^USER^" и "^PASS^" (параметры формы).

  • строка, которая проверяет на *неверный* пароль (по умолчанию).

Если пароль был подобран, то высветится следующая информация (см. рис. 3):

1 of 1 target successfully completed, 1 valid password found

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

Рис. 3. Успешная атака на localhost.

Да, при большом списке может действительно отобраться несколько верных паролей и логинов. Но если вдруг из вашего списка каждый пароль и каждый логин оказывается верным, то вы неправильно ввели форму http-post(get)-form. (то, что в кавычках). См. рис. 4. На нем изображена ситуация, когда hydra определила, что для заданного логина все пароли из списка оказались верными.

Рис. 4. Пример явно неправильного запроса.

Во вкладке View log можно посмотреть всю историю попыток залогиниться. При брутфорсинге их будет очень много.

Рис. 5. История попыток входа.

Санкт-Петербург

2022

Соседние файлы в предмете Комплексное обеспечение защиты информации объекта информатизации