Подробное руководство по Hydra. Часть 1

Подробное руководство по Hydra. Часть 1

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение

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

Введение

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

В настоящее время этот инструмент поддерживает следующие протоколы: adam6500, afp, asterisk, cisco, cisco-enable, cvs, firebird, ftp, ftps, http[s]-{head|get|post}, http[s]-{get|post}-form, http-proxy, http-proxy-urlenum, icq, imap[s], irc, ldap2[s], ldap3[-{cram|digest}md5][s], mssql mysql(v4), mysql5, ncp, nntp, oracle, oracle-listener, oracle-sid, pcanywhere, pcnfs, pop3[s], postgres, rdp, radmin2, redis, rexec, rlogin, rpcap, rsh, rtsp, s7-300, sapr3, sip, smb, smtp[s], smtp-enum, snmp, socks5, ssh, sshkey, svn, teamspeak, telnet[s], vmauthd, vnc, xmpp.

Для большинства протоколов поддерживается SSL (например, https-get, ftp-SSL и т.д.). Если это невозможно, поиск необходимых библиотек осуществляется во время компиляции, однако доступных сервисов будет меньше. Чтобы просмотреть доступные варианты, следует ввести в командную строку «hydra».

Перебор пароля конкретного пользователя

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

hydra -l ignite -P pass.txt 192.168.1.141 ftp
  • здесь опция -l отвечает за имя пользователя; -P – указывает на списки паролей и IP-адреса хоста для службы ftp.

Таким образом, человек смог узнать, что пользователь ignite имеет пароль «123».

Перебор имени пользователя по паролю

Допустим, что у человека есть корректный пароль, но он понятия не имеет, какому пользователю данный пароль принадлежит. Например, есть пароль для входа в систему по ftp. Он может перебрать корректные имена пользователей, чтобы найти подходящее. Следует использовать опцию -L для указания списка имен пользователей и опцию -p для обозначения конкретного пароля.

hydra -L users.txt -p 123 192.168.1.141 ftp

В данном случае список имен пользователей – это «users.txt», для него используется опция —L, а пароль – «123», для его указания используется опция —p по ftp.

Брутфорс (полный перебор) имени пользователя и пароля

Если человек не знает ни имя пользователя, ни пароль, он может выполнить атаку брутфорс на оба значения («username» и «password»), используя списки слов для них обоих. Для выполнения атаки потребуются параметры —P и —U.

hydra -L users.txt -P pass.txt 192.168.1.141 ftp
  • «users.txt» – это список слов с именами пользователей, «pass.txt» – это список с паролями.

С помощью атаки теперь человек знает имя пользователя («ignite») и пароль («123»).

Режимы Verbose и Debug

Опция —V используется для включения вербального режима (англ. «verbose mode»), где во время каждой попытки будет отображаться комбинация «логин + пароль». В данном примере есть два списка слов «users.txt» и «pass.txt», таким образом, атака методом перебора заключается в создании различных комбинаций «логин + пароль». В режиме Verbose можно просмотреть все попытки ввода данных.

hydra -L users.txt -P pass.txt 192.168.1.141 ftp -V
  • «users.txt» включает в себя 5 логинов, а «pass.txt» – 7 паролей, так что количество попыток составило 35.

Опция —d используется для включения режима отладки (англ. «debug mode»). Программа показывает полную информацию об атаке с указанием времени ожидания, сокета, PID, RECV.

hydra -l ignite -P pass.txt 192.168.1.141 ftp -d

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

Дополнительные опции во время перебора пароля

У Hydra есть опция —e, которая проверит еще 3 типа паролей при переборе. « – для пустого пароля, « – для пароля, который полностью совпадает с именем пользователя, «r» – для пароля обратного имени пользователя. Все указанные варианты паролей должны быть проверены.

hydra -L users.txt -P pass.txt 192.168.1.141 ftp -V -e nsr

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

Сохранение выходных данных

Этот инструмент дает возможность сохранить результаты на диск. В основном это необходимо для ведения отчетности, лучшей читабельности результатов и улучшения практики в дальнейшем. Человек может сохранить результаты атаки в файл, используя параметр —o.

hydra -L users.txt -P pass.txt 192.168.1.141 ftp -o result.txt

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

hydra -L users.txt -P pass.txt 192.168.1.141 ftp -o result:json

Человек также использовал эту опцию для сохранения результатов в формате .json, эта опция является уникальной особенностью, предоставляемой Hydra.

Возобновление атаки брутфорс

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

hydra -L users.txt -P pass.txt 192.168.1.141 ftp
hydra -R

В данном примере человек сначала начал атаку, используя первую команду, затем остановил ее, нажав «CTRL + C», а после, используя вторую команду, возобновил нападение.

Создание паролей с различным набором символов

Для генерации паролей с различными наборами символов можно использовать опцию —x. Она используется как —x min:max:charset, где:

  • min задает минимальное количество символов в пароле;
  • max задает максимальное количество символов в пароле;
  • charset может включать «1» – для добавления чисел, «a» – для добавления строчных букв и «A» – для прописных букв. Любой другой добавленный символ помещается в список.

К примеру, возьмем значение «1:2:a1%.».

Сгенерированные пароли будут иметь длину от 1 до 2 символов и содержать строчные буквы, цифры и/или знаки процента и точки.

hydra -l ignite -x 1:3:1 ftp://192.168.1.141

Итак, в примере выше минимальная длина пароля равна 1, а максимальная длина – 3. Пароль будет содержать цифры, таким образом, пароль «123» подходит.

Чтобы лучше понять, что происходит, можно использовать режим —V, чтобы подробно просмотреть результаты.

Атака определенного порта, а не порта по умолчанию

Сетевые администраторы иногда меняют номер порта по умолчанию для некоторых служб по соображениям безопасности. В предыдущих командах Hydra проводила атаку методом перебора на службу ftp, просто указывая имя службы, а не порт, но, как уже становится понятно, порт по умолчанию может быть изменен. Инструмент поможет решить эту проблему с помощью опции —s. Если служба связана с другим портом по умолчанию, его можно определить также с помощью параметра —s.

nmap -sV 192.168.1.141
hydra -L users.txt -P pass.txt 192.168.1.141 ssh -s 2222

Итак, сначала пользователь попытался запустить сканирование Nmap на хосте. Оно показало ему все открытые порты, и ssh находится на порту 2222. Теперь следует выполнить команду Hydra с параметром —s и указанием номера порта.

Была осуществлена атака брутфорс службы ssh с указанием номера порта 2222.

Человек узнал имя пользователя («ignite») и пароль («123»).

Атака нескольких хостов

Человек опять выполняет перебор с использованием файла паролей «pass.txt» и файла имен пользователей «users.txt» на одном хосте, например, 191.168.1.141. Если есть несколько хостов, он может использовать опцию —M, с помощью которой произойдет атака всех хостов сразу.

hydra -L users.txt -P pass.txt -M hosts.txt ftp

Человек создает новый файл («hosts.txt»), он содержит все хосты. Затем он находит 2 актуальных хоста, получает имя пользователя и пароль.

Продолжение следует...

Источник


Report Page