Hydra нельзя отнести к простым и легко дающимся новичкам. Не надо отчаиваться, если вам не удалось оседлать hydra, я рекомендую вам посмотреть на программу BruteX. Она автоматизирует процесс подбора, более того, она использует ту же самую hydra, но сама вводит необходимые ключи и не нужно искать файлы с именами и паролями, поскольку они поставляются вместе с программой.
ПРОТОКОЛ — это протокол, который вы хотите атаковать, например, ftp, smtp, http-get или любой из доступных: 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.
ОПЦИИ Hydra
Пароли для Hydra
THC-Hydra поставляется без логинов/паролей. Нам нужно самим где-то их раздобыть. И вот здесь нам поможет недавняя статья: Списки слов для атаки по словарю: пароли, имена пользователей, каталоги
Чтобы воспользоваться программой dpl4hydra.sh на Kali Linux, нам сначала нужно её скачать (по какой-то причине авторы Kali не включили её в стандартную установку).
Теперь создаём необходимые для работы программы файлы:
Запускаем первый раз
Теперь можно сделать так:
чтобы скачать дефолтные пароли для всех брендов. А можно задать конкретный бренд, например, меня очень интересуют популярные роутеры D-Link, то я набираю
По идее, должен сгенерироваться файл с дефолтными паролями устройств D-Link, но этого не происходит из-за каких-то ошибок парсинга. Пусть нас это не огорчает, ведь ссылку на статью с паролями я уже дал.
Графический интерфейс Hydra
Кстати, для пользователей Linux доступен графический интерфейс (GTK gui), для его запуска наберите
Использование Hydra в командной строке
Для использования в командной строке синтаксис следующий:
Для атаки одной цели или сети, вы можете использовать новый стиль ://
hydra [некоторые опции командной строки] ПРОТОКОЛ://ЦЕЛЬ:ПОРТ/ОПЦИИ
Старая старый синтаксис также поддерживается, а если вы хотите, то дополнительно можете задать цели из текстового файла, при этом вы *должны* использовать этот синтаксис:
hydra [некоторые опции командной строки] [-s порт] ЦЕЛЬ ПРОТОКОЛ ОПЦИИ
Через опции командной строки вы определяете, какие логины и пароли перебирать, нужно ли использовать SSL, во сколько потоков осуществлять атаку и т.д.
Есть три способа задать цель для атаки:
Старайтесь избегать telnet, так как нельзя надёжно определить, соединение успешно или нет. Используйте сканер портов, чтобы увидеть, какие протоколы включены на целе.
Третье — проверьте, имеет ли модуль дополнительные параметры
например,
Четвёртое — порт назначение
Это необязательно! Если на удалённой машине используется порт по умолчанию для этой службы, то программа hydra сама знает, какие порты используется для ПРОТОКОЛов
Если вы задали использовать SSL (опция «-S»), то по умолчанию будет использоваться обычный порт SSL.
Если вы используете нотацию «://», то вы должны использовать квадратные скобки [ ], если вы хотите цель для атак определить адресами IPv6 или CIDR («192.168.0.0/24»)
Обратите внимание, что hydra делает все атаки только на IPv4!
Если вы хотите атаковать адреса IPv6 вы должны добавить опцию «-6». Тогда все атаки будут на IPv6.
Если вы хотите задать цели через текстовый файл, вы не можете использовать обозначение ://, используйте старый стиль и задайте протокол (и опции модуля):
Вы также можете указать порт для каждой цели, добавив «:<порт>» после каждой записи цели в файле, например:
Обратите внимание, если вы хотите присоединить цели IPv6, вы должны указать опцию -6 и должны поместить адреса IPv6 в квадратные скобки в файле (!) примерно так:
Есть много разных опций, как атаковать с логинами и паролями.
Опциями -l для логина и -p для пароля, вы можете сказать hydra использовать только эти логин и/или пароль для попытки.
С -L для логинов и -P для паролей вы указываете текстовые файлы с записями, например:
Дополнительно вы также можете пробовать пароли, основанные на логины, это делается опцией «-e».
Опция «-e» имеет три параметра:
К примеру, если вы хотите попробовать логин в качестве пароля и пустой пароль, то вам нужно в командной строке указать «-e sn».
Для пароля кроме -p/-P есть ещё пара режимов:
Вы можете использовать текстовый файл, в котором логины и пароли разделены двоеточием, например:
Это популярный стиль записи листинга дефольтных значений аккаунта. В таком же виде генерирует файлы dpl4hydra.sh (генератор дефолтных логинов и паролей для hydra).
Использовать такой текстовый файл нужно с опцией -C, обратите внимание, что в этом режиме нельзя использовать опции -l/-L/-p/-P (хотя -e nsr можно).
Пример:
И наконец, есть режим брутфорса с опцией -x (её нельзя использовать с -p/-P/-C):
-x минимальная_длина:максимальная_длина:набор_символов
Набор символов определяет ‘a’ для букв в нижнем регистре, ‘A’ — для букв в вернем регистре, ‘1’ — для цифр, а для всего другого используйте их реальные символы.
Примеры:
Пример:
ПРОТОКОЛ — это протокол, который вы хотите атаковать, например, ftp, smtp, http-get или любой из доступных: 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.
ОПЦИИ Hydra
Код:
-R восстановить предыдущую прерванную/оборванную сессию
-S выполнить SSL соединение
-s ПОРТ если служба не на порту по умолчанию, то можно задать порт здесь
-l ЛОГИН или -L ФАЙЛ с ЛОГИНАМИ (именами), или загрузить несколько логинов из ФАЙЛА
-p ПАРОЛЬ или -P ФАЙЛ с паролями для перебора, или загрузить несколько паролей из ФАЙЛА
-x МИНИМУМ:МАКСИМУМ:НАБОР_СИМВОЛОВ генерация паролей для брутфорса, наберите "-x -h" для помощи
-e nsr "n" — пробовать с пустым паролем, "s" — логин в качестве пароля и/или "r" — реверс учётных данных
-u зацикливаться на пользователя, а не на парлях (эффективно! подразумевается с использованием опции -x)
-C ФАЙЛ формат где "логин:пароль" разделены двоеточиями, вместо опции -L/-P
-M ФАЙЛ список серверов для атак, одна запись на строку, после двоеточия ':' можно задать порт
-o ФАЙЛ записывать найденные пары логин/пароль в ФАЙЛ вместо стандартного вывода
-f / -F выйти, когда пара логин/пароль подобрана (-M: -f для хоста, -F глобально)
-t ЗАДАЧИ количество запущенных параллельно ЗАДАЧ (на хост, по умолчанию: 16)
-w / -W ВРЕМЯ время ожидания ответов (32 секунды) / между соединениями на поток
-4 / -6 предпочитать IPv4 (по умолчанию) или IPv6 адреса
-v / -V / -d вербальный режим / показывать логин+пароль для каждой попытки / режим отладки
-q не печатать сообщения об ошибках соединения
-U подробные сведения об использовании модуля
server цель: DNS, IP или 192.168.0.0/24 (эта ИЛИ опция -M)
service служба для взлома (смотрите список поддерживаемых протоколов)
OPT некоторые модули служб поддерживают дополнительный ввод (-U для справки по модулю).
THC-Hydra поставляется без логинов/паролей. Нам нужно самим где-то их раздобыть. И вот здесь нам поможет недавняя статья: Списки слов для атаки по словарю: пароли, имена пользователей, каталоги
Чтобы воспользоваться программой dpl4hydra.sh на Kali Linux, нам сначала нужно её скачать (по какой-то причине авторы Kali не включили её в стандартную установку).
Код:
wget https:/raw.githubusercontent.com/vanhauser-thc/thc-hydra/master/dpl4hydra.sh
Код:
touch /usr/local/etc/dpl4hydra_full.csv /usr/local/etc/dpl4hydra_local.csv
Код:
sh dpl4hydra.sh refresh
Код:
sh dpl4hydra.sh all
Код:
sh dpl4hydra.sh d-link
Графический интерфейс Hydra
Кстати, для пользователей Linux доступен графический интерфейс (GTK gui), для его запуска наберите
Код:
xhydra
Для использования в командной строке синтаксис следующий:
Для атаки одной цели или сети, вы можете использовать новый стиль ://
hydra [некоторые опции командной строки] ПРОТОКОЛ://ЦЕЛЬ:ПОРТ/ОПЦИИ
Старая старый синтаксис также поддерживается, а если вы хотите, то дополнительно можете задать цели из текстового файла, при этом вы *должны* использовать этот синтаксис:
hydra [некоторые опции командной строки] [-s порт] ЦЕЛЬ ПРОТОКОЛ ОПЦИИ
Через опции командной строки вы определяете, какие логины и пароли перебирать, нужно ли использовать SSL, во сколько потоков осуществлять атаку и т.д.
- ПРОТОКОЛ — это протокол, который вы хотите атаковать, например, ftp, smtp, http-get или любой из доступных
- ЦЕЛЬ — это целевая машина, которую вы хотите атаковать
- ОПЦИИ дополнительные значения, которые задаются для модуля ПРОТОКОЛ
Есть три способа задать цель для атаки:
- Единичная цель в командной строке: просто введите IP или DNS адрес
- диапазон подсети в командной строке:
- список хостов в текстовом файле: один хост на строку (подробности ниже)
Старайтесь избегать telnet, так как нельзя надёжно определить, соединение успешно или нет. Используйте сканер портов, чтобы увидеть, какие протоколы включены на целе.
Третье — проверьте, имеет ли модуль дополнительные параметры
Код:
hydra -U ПРОТОКОЛ
Код:
hydra -U smtp
Это необязательно! Если на удалённой машине используется порт по умолчанию для этой службы, то программа hydra сама знает, какие порты используется для ПРОТОКОЛов
Если вы задали использовать SSL (опция «-S»), то по умолчанию будет использоваться обычный порт SSL.
Если вы используете нотацию «://», то вы должны использовать квадратные скобки [ ], если вы хотите цель для атак определить адресами IPv6 или CIDR («192.168.0.0/24»)
Код:
hydra [некоторые опции командной строки] ftp://[192.168.0.0/24]/
hydra [некоторые опции командной строки] -6 smtp://[2001:db8::1]/NTLM
Если вы хотите атаковать адреса IPv6 вы должны добавить опцию «-6». Тогда все атаки будут на IPv6.
Если вы хотите задать цели через текстовый файл, вы не можете использовать обозначение ://, используйте старый стиль и задайте протокол (и опции модуля):
Код:
hydra [некоторые опции командной строки] -M targets.txt ftp
Код:
foo.bar.com
target.com:21
[fe80::1%eth0]
[2001::1]
[2002::2]:8080
[2a01:24a:133:0:00:123:ff:1a]
Код:
foo.bar.com
target.com:21
unusual.port.com:2121
default.used.here.com
127.0.0.1
127.0.0.1:2121
Опциями -l для логина и -p для пароля, вы можете сказать hydra использовать только эти логин и/или пароль для попытки.
С -L для логинов и -P для паролей вы указываете текстовые файлы с записями, например:
Код:
1. hydra -l admin -p password ftp://localhost/
2. hydra -L default_logins.txt -p test ftp://localhost/
3. hydra -l admin -P common_passwords.txt ftp://localhost/
4. hydra -L logins.txt -P passwords.txt ftp://localhost/
Опция «-e» имеет три параметра:
Код:
s — пробовать логин как пароль
n — пробовать пустой пароль
r — перестановка в логине символов с зада на перёд и использование получившегося слова в качестве пароля
Для пароля кроме -p/-P есть ещё пара режимов:
Вы можете использовать текстовый файл, в котором логины и пароли разделены двоеточием, например:
Код:
admin:password
test:test
foo:bar
Использовать такой текстовый файл нужно с опцией -C, обратите внимание, что в этом режиме нельзя использовать опции -l/-L/-p/-P (хотя -e nsr можно).
Пример:
Код:
hydra -C default_accounts.txt ftp://localhost/
-x минимальная_длина:максимальная_длина:набор_символов
Набор символов определяет ‘a’ для букв в нижнем регистре, ‘A’ — для букв в вернем регистре, ‘1’ — для цифр, а для всего другого используйте их реальные символы.
Примеры:
Код:
-x 1:3:a генерирует пароли длинной от 1 до 3 символов, состоящие только из букв в нижнем регистре
-x 2:5:/ генерирует пароли длинной от 2 до 5 символов, содержание только слэши
-x 5:8:A1 генерирует пароли длинной от 5 до 8 символов, с большими буквами и цифрами
Код:
hydra -l ftp -x 3:3:a ftp://localhost/