Взлом веб-страницы входа в систему с помощью Hydra в Kali Linux

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

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

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

Hydra - самый быстрый взломщик сетевых логинов, поддерживающий множество протоколов атаки. Он очень быстр и гибок, а новые модули легко добавляются. Этот инструмент позволяет исследователям и консультантам по безопасности продемонстрировать, как легко можно получить несанкционированный доступ к системе удаленно. Hydra была написана ван Хаузером, а ее дополнительная поддержка осуществляется Дэвидом Мачеяком. В последнем обновлении разработка Hydra перенесена в публичный репозиторий github по адресу: https://github.com/vanhauser-thc/thc-hydra.

Hydra протестирована на компиляцию под Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry и доступна под GPLv3 со специальным расширением лицензии OpenSSL.

THC Hydra поддерживает такие протоколы: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP(S)-FORM-GET, HTTP(S)-FORM-POST, HTTP(S)-GET, HTTP(S)-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB(NT), SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 и v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC и XMPP.

Сравнение hydra с другими средствами взлома

Наряду с hydra существует множество инструментов для взлома логинов, однако ни один из них не поддерживает огромный список протоколов и распараллеленную поддержку взлома логинов, как это делает hydra. В таблицах ниже приведены результаты сравнения возможностей, сервисов и скорости работы с medusa и ncrack.

Особенности

Функция Hydra Medusa Ncrack
Лицензия AGPLv3 GPLv2 Условия GPLv2 + Nmap
Поддержка IPv6 Да Нет Нет
Графический пользовательский интерфейс Да Да Нет
Поддержка интернационализации (RFC 4013) Да Нет Нет
Поддержка HTTP-прокси Да Да Нет
Поддержка SOCKS-прокси Да Нет Нет
Поддерживаемые протоколы 51 22 7

Сравнение скоростей

Скорость (в с) Hydra Medusa Ncrack
1 задача / FTP-модуль 11.93 12.97 18.01
4 задачи / FTP-модуль 4.20 5.24 9.01
16 задач / модуль FTP 2.44 2.71 12.01
1 задача / модуль SSH v2 32.56 33.84 45.02
4 задачи / модуль SSH v2 10.95 Broken Missed
16 задач / модуль SSH v2 5.14 Broken Missed

Это было краткое и простое знакомство с системой Hydra. Теперь перейдем к установке.

Установка Hydra в kali linux

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

  • Все платформы UNIX (Linux, *bsd, Solaris и т.д.)
  • MacOS (в основном клон BSD)
  • Windows с Cygwin (как IPv4, так и IPv6)
  • Мобильные системы на базе Linux, MacOS или QNX (например, Android, iPhone, Blackberry 10, Zaurus, iPaq).

Чтобы загрузить, сконфигурировать, скомпилировать и установить hydra, просто введите в терминале

Если у вас Ubuntu/Debian, то вам понадобятся некоторые библиотеки зависимостей:

Если вы не нашли эти библиотеки в своем репозитории, то необходимо загрузить и установить их вручную.

Как использовать Hydra

Поздравляем, теперь вам удалось установить hydra на свою систему. На самом деле, Hydra поставляется в двух вариантах: GUI-gtk и моя любимая версия CLI. Кроме того, у Hydra есть версия с управлением CLI, которая называется "hydra-wizard". Вы будете получать пошаговое руководство, вместо того чтобы набирать все команды и аргументы вручную в терминале. Чтобы запустить hydra, наберите в терминале :

CLI

CLI-мастера конфигурации

Графический интерфейс

После ввода 'hydra' на экране появятся команды помощи, как показано ниже:

Перебор веб-логинов с помощью Hydra

Hydra поддерживает несколько сервисов брутфорсинга, как я уже упоминал, один из них используется для брутфорсинга веб-логинов, таких как форма входа в социальные сети, форма входа в банковскую систему, логин вашего маршрутизатора и т.д. Это "http[s]-{get|post}-form", который будет обрабатывать данный запрос. В этом руководстве я покажу вам, как перебрать уязвимые веб-логины. Прежде чем запускать hydra, необходимо знать некоторые необходимые аргументы, приведенные ниже:

  • Цель : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
  • Имя пользователя: admin (если вы не уверены, проверьте это перебором)
  • Список паролей : "Расположение списка файлов словаря, содержащего возможные пароли".
  • Параметры формы : "В общем случае для получения формы параметров запроса следует использовать tamper data или proxy. Но здесь я использую iceweasel, основанный на firefox, network developer toolbar."

Сервисный модуль: http-post-form

Справка по модулю http-post-form:

Модуль http-post-form требует страницу и параметры для веб-формы. По умолчанию этот модуль настроен на выполнение не более 5 перенаправлений подряд. Он всегда собирает новый cookie с того же URL без переменных Параметры принимают три значения, разделенные ":", плюс необязательные значения. (Примечание: если в строке параметров в качестве значения требуется двоеточие, то его следует экранировать с помощью "\:", но не следует экранировать "\" с помощью "\\\").
Синтаксис:

  • Первое - это страница на сервере, на которую нужно выполнить GET или POST (URL).
  • Второе - переменные POST/GET (берутся из браузера, прокси-сервера и т.д. с заменой имен пользователей и паролей на "^USER^" и "^PASS^" (FORM PARAMETERS)).
  • Третья строка - это строка проверки на *неправильный* вход (по умолчанию) Перед строкой проверки недействительного входа может стоять "F=", перед строкой проверки успешного входа - "S=".

Именно здесь большинство людей ошибаются. Вы должны проверить в webapp, как выглядит строка с неудачным условием, и поместить ее в этот параметр!

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

C=/page/uri для определения другой страницы для сбора начальных cookies с (h|H)=My-Hdr\: foo для отправки определенного пользователем HTTP-заголовка с каждым запросом ^USER^ и ^PASS^ также могут быть помещены в эти заголовки!

'h' добавит пользовательский заголовок в конец запроса, независимо от того, отправляется он уже Гидрой или нет. 'H' заменит значение этого заголовка, если оно существует, на значение, заданное пользователем, или добавит заголовок в конец.

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

Получение параметров поста с помощью браузера, iceweasel/firefox

В браузере Firefox нажмите клавиши 'CTRL + SHIFT + Q'. Затем откройте страницу входа в систему http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, и вы заметите, что на вкладке "Разработчик сети" появился текст. В нем говорится о том, какие файлы нам передаются. Видим, что все они передаются методом GET, так как мы еще не отправляли никаких данных методом POST.

Как использовать Hydra

Чтобы получить параметры пост-формы, введите в форму имя пользователя и пароль. На вкладке "Разработчик сети" вы заметите новый метод POST. Дважды щелкните на этой строке, на вкладке "Заголовки" нажмите кнопку "Изменить и отправить" справа. В теле запроса скопируйте последнюю строку, например "tfUName=asu&tfUPass=raimu". "tfUName" и "tfUPass" - это необходимые нам параметры. Как показано ниже:

Как использовать Hydra

В Kali Linux существует множество списков слов, выберите подходящий или просто воспользуйтесь файлом rockyou.txt, расположенным в каталоге /usr/share/wordlists/, как показано ниже:

Как использовать Hydra

Итак, теперь мы получили все необходимые аргументы и готовы запустить hydra. Вот шаблон команды:

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

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

  • l <имя пользователя> : это слово, содержащее имя пользователя, используйте -L <FILE> для обращения к списку возможных имен пользователей в файле.
  • P <FILE> : представляет собой список возможных паролей в файле, используйте -p <password> для буквального использования одного слова пароля вместо его угадывания.
    testapp.vunlwebapp.com : является именем хоста или целью.
  • http-post-form : это сервисный модуль, который мы используем
  • "/Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout" = 3 необходимых параметра, синтаксис следующий:
    { URL страницы}:{Параметры формы post body запроса}:S={Найти все, что находится на странице после успешного входа в систему}
  • v = режим Verbose
  • V = показать login:pass для каждой попытки
  • f = Завершить работу программы, если найдена пара логин:пароль

Теперь позволим hydra попытаться взломать пароль, на это нужно время, так как это атака по словарю. Как только вам удалось найти пару login:password, hydra немедленно завершит работу и покажет валидный пароль.

Как использовать Hydra

Hydra может многое, так как в этом руководстве мы только научились перебирать логины в Интернете с помощью hydra, мы изучили только один протокол - протокол http-post-form. Мы также можем использовать hydra против других протоколов, таких как ssh, ftp, telnet, VNC, proxy и т.д.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий