Packages and Binaries:
hydra
Hydra is a parallelized login cracker which supports numerous protocols to attack. It is very fast and flexible, and new modules are easy to add.
This tool makes it possible for researchers and security consultants to show how easy it would be to gain unauthorized access to a system remotely.
It supports: 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 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.
Installed size: 960 KB
How to install: sudo apt install hydra
- libapr1
- libbson-1.0-0
- libc6
- libfbclient2
- libfreerdp2-2
- libgcrypt20
- libidn12
- libmariadb3
- libmemcached11
- libmongoc-1.0-0
- libpcre3
- libpq5
- libssh-4
- libssl1.1
- libsvn1
- libtinfo6
- libwinpr2-2
- zlib1g
dpl4hydra
Generates a (d)efault (p)assword (l)ist as input for THC hydra
hydra
A very fast network logon cracker which supports many different services
hydra-wizard
Wizard to use hydra from command line
pw-inspector
A tool to reduce the password list
hydra-gtk
Hydra is a parallelized login cracker which supports numerous protocols to attack. It is very fast and flexible, and new modules are easy to add.
This tool makes it possible for researchers and security consultants to show how easy it would be to gain unauthorized access to a system remotely.
It supports: 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 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.
This package provides the GTK+ based GUI for hydra.
Installed size: 110 KB
How to install: sudo apt install hydra-gtk
Источник
Как взломать почту при помощи hydra из Kali Linux
Сегодня мы рассмотрим не совсем новый но достаточно надежный инструмент который позволяет осуществить взлом почты на таких известных системах как Майл, Яндекс, Рамблер, Gmail, неважно. Этот способ универсален и применим ко всем сервисам. Ведь почта, нынче — это буквально ключ от всего. Имея доступ к e-mail’у можно восстановить пароли от соц. сетей, слить личную переписку и даже получить доступ ко всем контактам из телефонной книги. Итак как взломать почту? Читаем далее!
Как взломать почту при помощи Hydra
Запускаем графическую оболочку скрипта hydra. Это многофункциональный брутфорсер паролей с помощью которого мы сейчас попробуем подобрать passдля одного из моих тестовых ящиков на mail.ru
В появившемся окне, на вкладке «Target» прописываем в строке «Single Target» адрес smtp-сервера исходящей почты нужного сервиса. Порт 465 и протокол выбираем соответственно SMTP. Ставим галочку использовать SSL-соединение. И отмечаем пункт, отвечающий за отображение результатов брутфорса в реальном времени.
В соседней вкладочке «Password» указываем ящик, на который будет производиться атака. В пункте Password листа указываем путь к словарю. Найти их довольно просто, в том же гугле, всего лишь стоит набрать словари для брута. На всякий случай ещё ставим галочку отвечающую за проверку логина в качестве возможного пароля и идём дальше.
В «Tuning» меняем метод на HTTP.
Во вкладке «Specific» пишем полной адрес почтового сервиса где расположен наш ящик.
Долгожданная последняя вкладка. Выдыхаем, и жмём на «Start». Перебор начался. В случае успешной попытки логина, прога выдаст соответствующее сообщение, говорящее о том, что валидный пароль к данной почте подобран.
Взлом занял около 5 минут. Примерно столько по времени брутятся все ящики, пароль от которых состоит из даты рождения, клички пса или номера мобильного телефона.
Буквально несколько лет назад электронку моего хорошего знакомого ломанули просто из-за красивого ника. И он очень долго и упорно доказывал майловскому саппорту, что ящик принадлежит ему уже много лет.
Благо, та история со счастливым концом. Ящик восстановили и передали в руки владельца. Но это только потому, что товарищ сам много лет проработал админом и имея врождённый дар красноречия смог убедить коллег из техподдержки.
А теперь задумайтесь, чтобы было, реши злоумышленник не палиться? Сливал бы по тихой грусти на внешний винт рабочие переписки. Договора, контракты, личные фотографии.
Затем продал бы эту историю в даркнете, а человек при этом так бы и не допёр, где таилась утечка. Поэтому, мой вам совет. Всегда устанавливайте на электронку мега-большой и сложный пароль.
В идеале сконфигурированный с помощью генератора случайных символов. И не забывайте менять его раз в 2-3 недели. Установите двухфакторную аутентификацию, чтобы заходить в ящик только после подтверждения на личном смартфоне.
Ну и до кучи, старайтесь не использовать электронку для решения жизненно-важных вопросов. Личная встреча куда надёжней и безопасней. Однако, увы таковая не всегда возможна. Особенно в наше тяжёлое время.
Как создать пароль для брута самостоятельно я показывал вам в этом видео:
Источник
Статья THC-Hydra: очень быстрый взломщик сетевого входа в систему (часть первая)
Программа hydra поддерживает огромное количество служб, благодаря своей быстроте и надёжности она завоевала заслуженную признательность среди тестеров на проникновение. Будучи очень мощной и гибкой, программу hydra нельзя отнести к простым и легко дающимся новичкам. Не надо отчаиваться, если вам не удалось оседлать hydra, я рекомендую вам посмотреть на программу BruteX. Она значительно автоматизирует процесс подбора, более того, она использует ту же самую hydra, но сама вводит необходимые ключи и даже не нужно искать файлы с именами и паролями, поскольку они поставляются вместе с программой. Если я вас заинтересовал, то рекомендую статью «BruteX: программа для автоматического брутфорса всех служб».
Этот инструмент — THC-Hydra — предназначен только для законных целей.
Программа прекрасно компилируется и работает на Linux, Windows/Cygwin, Solaris, FreeBSD/OpenBSD, QNX (Blackberry 10) и OSX. Лучше всех пользователям Kali Linux – у них программа уже установлена.
В настоящее время поддерживаются следующие протоколы: Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 и v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC и XMPP.
Ну т. е. правда — много.
Прибавилось ли понимания после увиденного синтаксиса? )) Не переживайте, сейчас рассмотрим опции THC-Hydra, а потом углубимся в понимание работы с этой программой.
Как использовать hydra
Пароли для Hydra
THC-Hydra поставляется без логинов/паролей. Нам нужно самим где-то их раздобыть. И вот здесь нам поможет недавняя статья «Списки слов для атаки по словарю: пароли, имена пользователей, каталоги». Изучайте её, скачивайте свои пароли.
Ещё файлы с дефолтными паролями позволяет генерировать утилита от hydra — dpl4hydra.sh. Чтобы узнать, какие устройства есть в базе, зайдите сюда.
Чтобы воспользоваться программой dpl4hydra.sh на Kali Linux, нам сначала нужно её скачать (по какой-то причине авторы Kali не включили её в стандартную установку).
По идее, должен сгенерироваться файл с дефолтными паролями устройств D-Link, но этого не происходит из-за каких-то ошибок парсинга. Пусть нас это не огорчает, ведь ссылку на статью с паролями я уже дал.
Графический интерфейс Hydra
Кстати, для пользователей Linux доступен графический интерфейс (GTK gui), для его запуска наберите
Использование Hydra в командной строке
Для использования в командной строке синтаксис следующий:
- Для атаки одной цели или сети, вы можете использовать новый стиль ://
hydra [некоторые опции командной строки] ПРОТОКОЛ://ЦЕЛЬ:ПОРТ/ОПЦИИ
- Старая старый синтаксис также поддерживается, а если вы хотите, то дополнительно можете задать цели из текстового файла, при этом вы *должны* использовать этот синтаксис:
hydra [некоторые опции командной строки] [-s порт] ЦЕЛЬ ПРОТОКОЛ ОПЦИИ
Через опции командной строки вы определяете, какие логины и пароли перебирать, нужно ли использовать SSL, во сколько потоков осуществлять атаку и т.д.
ПРОТОКОЛ — это протокол, который вы хотите атаковать, например, ftp, smtp, http-get или любой из доступных
ЦЕЛЬ — это целевая машина, которую вы хотите атаковать
TARGET is the target you want to attack
ОПЦИИ дополнительные значения, которые задаются для модуля ПРОТОКОЛ
Первое — выберите вашу цель
есть три способа задать цель для атаки:
- единичная цель в командной строке: просто введите IP или DNS адрес
- диапазон подсети в командной строке:
- список хостов в текстовом файле: один хост на строку (подробности ниже)
Второе — выберите ваш протоколов
Старайтесь избегать telnet, так как нельзя надёжно определить, соединение успешно или нет. Используйте сканер портов, чтобы увидеть, какие протоколы включены на целе.
Третье — проверьте, имеет ли модуль дополнительные параметры
hydra -U ПРОТОКОЛ
например,
Четвёртое — порт назначение
Это необязательно! Если на удалённой машине используется порт по умолчанию для этой службы, то программа hydra сама знает, какие порты используется для ПРОТОКОЛов
Если вы задали использовать SSL (опция «-S»), то по умолчанию будет использоваться обычный порт SSL.
Если вы используете нотацию «://», то вы должны использовать квадратные скобки [ ], если вы хотите цель для атак определить адресами IPv6 или CIDR («192.168.0.0/24»)
Обратите внимание, что hydra делает все атаки только на IPv4!
Если вы хотите атаковать адреса IPv6 вы должны добавить опцию «-6». Тогда все атаки будут на IPv6.
Если вы хотите задать цели через текстовый файл, вы не можете использовать обозначение ://, используйте старый стиль и задайте протокол (и опции модуля):
Логины и пароли Hydra
Есть много разных опций, как атаковать с логинами и паролями.
Опциями -l для логина и -p для пароля, вы можете сказать hydra использовать только эти логин и/или пароль для попытки.
С -L для логинов и -P для паролей вы указываете текстовые файлы с записями, например:
Дополнительно вы также можете пробовать пароли, основанные на логины, это делается опцией «-e».
Опция «-e» имеет три параметра:
- s — пробовать логин как пароль
- n — пробовать пустой пароль
- r — перестановка в логине символов с зада на перёд и использование получившегося слова в качестве пароля
К примеру, если вы хотите попробовать логин в качестве пароля и пустой пароль, то вам нужно в командной строке указать «-e sn».
Для пароля кроме -p/-P есть ещё пара режимов:
Вы можете использовать текстовый файл, в котором логины и пароли разделены двоеточием, например:
Это популярный стиль записи листинга дефольтных значений аккаунта. В таком же виде генерирует файлы dpl4hydra.sh (генератор дефолтных логинов и паролей для hydra).
Использовать такой текстовый файл нужно с опцией -C, обратите внимание, что в этом режиме нельзя использовать опции -l/-L/-p/-P (хотя -e nsr можно).
И наконец, есть режим брутфорса с опцией -x (её нельзя использовать с -p/-P/-C):
Набор символов определяет ‘a’ для букв в нижнем регистре, ‘A’ — для букв в вернем регистре, ‘1’ — для цифр, а для всего другого используйте их реальные символы.
Примеры:
- -x 1:3:a генерирует пароли длинной от 1 до 3 символов, состоящие только из букв в нижнем регистре
- -x 2:5:/ генерирует пароли длинной от 2 до 5 символов, содержание только слэши
- -x 5:8:A1 генерирует пароли длинной от 5 до 8 символов, с большими буквами и цифрами
Пример:
Специальные опции для модулей
Через третий параметр командной строки (ЦЕЛЬ СЛУЖБА ОПЦИИ) или после ключа -m , вы можете передать модулю одну опцию.
Многие модули используют их, а некоторые требуют их!
Чтобы получить дополнительную информацию по опции модуля, наберите
Специальные опции могут быть переданы через параметр -m или третьей опцией в командной строке или в формате сжуба://цель/опция.
Примеры (они все означают одно и то же):
Возобновление прерванной/оборванной сессии
Когда hydra прерывается командой Control-C , убивается или вылетает с ошибкой, она оставляет файл «hydra.restore» в котором содержится вся необходимая информация для восстановления сессии. Этот файл сессии пишется каждые 5 минут.
Примечание: файл hydra.restore НЕ может быть скопирован между различными платформами (например с little indian на big indian или с solaris на aix)
Как сканировать/взламывать через прокси
Переменная среды HYDRA_PROXY_HTTP определяет веб прокси (это работает только для службы http/www!)
Следующий синтаксис является валидными:
Источник
Статья Брутфорс веб-сайтов с Hydra (часть вторая инструкции по Hydra)
Первая часть здесь: «THC-Hydra: очень быстрый взломщик сетевого входа в систему». Рекомендуется начать знакомство именно с неё, т. к. она содержит подробное описание синтаксиса и инструкцию по работе с Hydra.
В этой части рассмотрены трудные моменты по перебору паролей на веб-сайтах. Трудными они являются из-за того, что все веб-сайты разные и содержат разные поля в формах. А названия этих полей нужно обязательно указать в Hydra. Более того, даже если указать всё правильно, это не означает, что Hydra будет работать корректно — в Интернете (в том числе англоязычном) очень много вопросов по этому поводу. В этой части будут рассмотрены эти проблемы и даны рекомендации как правильно настроить Hydra для перебора паролей на сайтах.
Помощь по модулям http-post-form и http-get-form
По умолчанию эти модули сконфигурированы на следование максимум по пяти редиректам подряд. Они всегда собирают новые куки для одинаковых URL без значений.
Параметр принимает три величины разделённых двоеточием «:», плюс опциональную величину.
(Примечание: если вам нужно двоеточие в строке опции в качестве значения, экранируйте его так «:», но не экранируйте «» на «\».)
Первое — это URL страницы на сервере, принимающей GET или POST.
Второе — это величины POST/GET (принятые хоть от браузера, прокси и т. д.) имена пользователя и пароли будут символизируют заполнители «^USER^» и «^PASS^» (параметры формы).
Третье — это строка, которая проверяет на *неверный* логин (по умолчанию).
Строке, соответствующей условию введения неверных учётных данных может предшествовать строка «F=», строке, соответствующей условию введения верных учётных данных должна предшествовать «S=».
Здесь многие ошибаются. Вы должны проверить веб-приложение, на что похожа строка, выдаваемая при неверных учётных данных и скопировать её в этот параметр!
Следующие параметры опциональные:
- C=/page/uri определяет другую страницу для сбора базовых куки
- (h|H)=My-Hdr: foo для отправки заданных пользователем HTTP заголовка при каждом запросе
- ^USER^ и ^PASS^ также могут быть внесены в этот заголовок!
Справка: ‘ h ‘ добавит заданный пользователем заголовок в конец не обращая внимания, был ли он уже отправлен Hydra или нет.
‘ H ‘ заменит значение существующего заголовка той строкой, которая задана пользователем или добавит заголовок в конец
Обратите внимание, что если вам нужно двоеточие : в ваших заголовках, то его нужно экранировать обратным слэшем ().
Все двоеточия, которые не являются разделителями опций, должны быть экранированы (смотрите примеры выше и ниже).
Вы можете задать заголовок без экранирования двоеточий, но таким образом вы не сможете разместить двоеточия в самих значениях заголовка, поскольку они будут интерпретироваться в hydra как разделители.
Рассмотрим все элементы:
-L logins.txt -P passwords.txt — это имена пользователей и пароли, как их можно задать рассказывается в первой части — если вы не понимаете этот фрагмент, то начните чтение с первой части.
http-post-form — это протокол, точнее говоря, это указание на то, что брутфорсится форма ввода (form) сайта (http), которая отправляет параметры методом POST (post).
Вместо http-post-form может быть указан http-get-form — в случае, если форма отправляет параметры методом GET.
example.org – адрес сайта для подбора паролей
-m — ключ, который говорит о том, что сейчас будет передана специальная опция для модуля (в данном случае для модуля http-post-form)
«/signin.php:login_username=^USER^&login_password=^PASS^ lease login» — эта и есть передаваемая опция, уберём кавычки и разделим её на три части, разделителем служит двоеточие
/signin.php — адрес страницы, куда передаются данные формы, должен начинаться со слеша
login_username=^USER^&login_password=^PASS^ – это строка, которая передаётся форме. О ней подробнее рассказывалось чуть выше. ^USER^ – это заполнитель, который будет заменяться на имя пользователя. ^PASS^ – это заполнитель для пароля.
Слова login_username и login_password — это названия полей формы, они у каждой формы свои, их нужно задавать самому.
Please login — это строка, которую hydra будет искать в присланном от сайта ответе после введения учётных данных. Если эта строка присутствует, значит попытка аутентификация провалилась, учётные данные неверны и нужно пробовать следующие логины и пароли. Если эта строка отсутствует, значит произошёл вход. Эта строка индивидуальна для каждого сайта и вам самостоятельно нужно её выявлять и задавать.
Как видно, достаточно запутанно, плюс к этому, есть ещё и подводные камни. Давайте будем разбираться на конкретных примерах.
Как ввести данные в Hydra для перебора пароля на сайте
Рассмотрим на примере конкретного сайта. Форму можно исследовать двумя способами — статическим и динамическим. Давайте рассмотрим оба способа последовательно.
Дан сайт с адресом Example Domain. На этом сайте есть форма для ввода пароля:
Задача — составить команду для hydra под эту форму.
В форме видим строку
Значит будем использовать метод http-post-form, итак, начнёт писать нашу команду
111111 и 222222 – это предполагаемое имя и пароль пользователя (можно указать файлы для перебора)
http-post-form — это указание на используемый модуль (на используемый протокол)
example.org – это адрес сайта (обязательно без конечного слэша).
Теперь нам нужно составить строку, состоящую из трёх величин, разделённых двоеточием
Глядя на форму мы видим, что она свои данные передаёт на страницу ?signin — поставим перед ним слеш и первый элемент строки готов:
Форма содержит следующие поля: login_username, login_password, cookieuser
login_username передаёт имя пользователя, т. е. ^USER^, поэтому login_username=^USER^, login_password передаёт пароль пользователя, т. е. поэтому ^PASS^ login_password=^PASS^, есть есть cookieuser, присвоем ей статичную величину cookieuser=1, теперь полученные отрезки объединяем символом &:
Теперь третий элемент — то, что мы будем искать в ответе. Например, в форме есть строка «Введите Ваше имя пользователя и пароль». Практически наверняка после входа на сайт эта строка не отображается — поскольку она больше не нужна. Поэтому мы выбираем её для поиска: если она найдена, перебор будет продолжаться, если в ответе нет этой строки, значит мы успешно вошли, т. е. угадали логин и пароль.
Ещё можно попробовать ввести любые учётные и посмотреть на ошибку, которую выдаёт веб-сайт. Эту ошибку (часть этой строки) и нужно использовать.
Т.е. мы составили три подстроки, исходя из анализа формы:
Эту строку нужно взять в двойные кавычки и перед ней поставить ключ -m. Т.е. наша строка для брутфорса теперь выглядит так
Для большинства сайтов этот алгоритм будет работать.
Но для конкретного этого сайта, даже при подстановке верных учётных данных hydra не может распознать, что пароль подобран. Это первый подводный камень:
Hydra и проблема для сайтов с редиректом
Для анализа проблемы я буду использовать ключ -d
Вот кусочек из сообщения отладки:
Это то, что отправляет сервер в ответ на попытку авторизации. Оказывается, никакие сообщения об ошибке не показываются, вообще ничего не показывается –происходит только редирект…
Повторюсь, такие ситуации не часты — скорее, это исключения. «Нормальные» сайты показывают нам нормальные сообщения об ошибках. В крайнем случае, даже при редиректе можно попытаться найти какое-то отличие в ответах для заголовков при верной и при ошибочной авторизации.
Например, т. к. для рассматриваемого сайта я знаю верные учётные данные, то я могу ввести их и, оставаясь в режиме отладки, посмотреть на разницу вывода:
Ну можно кричать «Эврика!», ведь заголовок ответа другой, а именно — при вводе верных учётных данных устанавливается куки, т. е. нам нужно искать строку Set-Cookie. Причём, если эта строка есть — значит всё прошло успешно. Перед этой строкой мы поставим S=, это даст указание hydra, что если строка найдена, то это успех, а не провал:
Т.е. теперь всё работает, при вводе ложных данных, hydra понимает, что данные ложные. А при вводе верных данных — понимает, что имя и пароль угаданы.
Все сайты разные, и для каждого движка нужно тестировать, прежде чем начинать атаку.
Взлом пароля для WordPress c hydra
Динамический анализ форм
Давайте теперь проведём динамический анализ формы. Я буду делать браузере Chrome (в Firefox также есть функционал для веб-разработчиков).
Переходим на сайт, который мы будем брутфорсить. Находим страницу авторизации https://notcodeby.net/blogs/wp-login.php. Теперь открываем в браузере Настройки и управление Google Chrome → Дополнительные инструменты → Инструменты разработчика
В них находим вкладку Network.
Вводим в форму любые учётные данные и нажимаем Войти.
Смотрим на нашу панель разработчика:
Нас интересует строка, которая содержит адрес страницы wp-login.php и метод отправки POST. Кликаем на неё. Там где Form Data выбираем view source:
Интересующая нас строка:
Я в качестве имени пользователя и пароля вводил 111111 и 222222, именно их мы и заменяем на ^USER^ и ^PASS^:
Так, передаваемая из формы строка готова:
Тем где General, найдите строку с Request URL:
В моём случае это
Т.е. данные передаются на страницу wp-login.php
Там же можно увидеть и метод:
Посмотрев на страницу видим, при неверных учётных данных в ответе присутствует слово «ОШИБКА». Тем не менее, не нужно сильно наедятся, что программа правильно будет работать с русскими буквами. Надежнее посмотреть HTML код и найти там что-нибудь характерное на латинице, например — login_error.
Теперь можно составить окончательный запрос для брутфорса WordPress с hydra:
Этот алгоритм является рабочим. Но на практике бывают исключения. Например, при попытке брутфорсить свой собственный сайт у меня появляется ошибка сервера 503. Хотя на других сайтах вполне работает.
Взлом пароля для phpMyAdmin c hydra
Есть хорошая и плохая новости. Хорошая новость заключается в том, что я уже подготовил примерную строку для перебора паролей в phpMyAdmin:
Т.е. в phpMyAdmin есть защита от брутфорсинга гидрой. Конечно, эта опция должна быть включена (так и есть по умолчанию) и сервер должен быть настроен соответствующим образом.
Т.е. налицо простая и эффективная защита от брутфорсинга (хотя, говорят, это можно обойти)…
Помощь по модулям http-get и http-post
Оба этих модуля требуют страницу для аутентификации
Источник