Подробное руководство по 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 типа паролей при переборе. «n» – для пустого пароля, «s» – для пароля, который полностью совпадает с именем пользователя, «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 актуальных хоста, получает имя пользователя и пароль.
Продолжение следует...