Использование hydra для тестирования
hydra тестирование
Hydra - программа для подбора логина и пароля, которую можно использовать для тестирования безопасности
Hydra может использовать несколько потоков и дополнительные модули:
Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP (Ы)-FORM-GET, HTTP (Ы)-FORM-POST, HTTP (Ы)-GET, HTTP (Ы)-HEAD, HTTP-прокси, 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 , SNMP v1 + v2+v3, SOCKS5, SSH (v1 и v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC и XMPP.
Источник: https://www.kali.org/tools/hydra/
#Максимум 2 потока на 1 сервер, 10000 попыток входа в систему, 5000 попыток на поток
hydra -l root -P passwords/10000_common_passwords.txt -t 2 ssh://192.168.1.8:2222
Опции
-s – вручную указать порт подключения к серверу
-l – указать определенный логин пользователя
-p – внести конкретный пароль
-P – использовать пароли из текстового файла
-M – атаковать цели, указанные в списке
-x – активировать генератор паролей
-u – включается проверка одного пароля для всех логинов
-f – закрыть программу, если обнаружена правильная связка «логин-пароль»
-o – сохранить результаты сканирования в указанный файл
-w – указать время, которое проходит между запросами (в секундах)
-v – включить режим подробного вывода информации
-V – выводить тестируемые логины и пароли
pw-inspector
PW-Inspector считывает введенные пароли из файла и печатает те, которые соответствуют требованиям.
#Вызов справки:
pw-inspector -h
#Подбор списка паролей с минимальной и максимальной длиной
pw-inspector -m 6 -M 10 -i passwords/10000_common_passwords.txt -o passwords/password1.txt
dpl4hydra
dpl4hydra — это скрипт, который генерирует список с паролями по умолчанию в качестве входных данных для инструмента THC hydra
dpl4hydra refresh загружает полный список дефолтных паролей
dpl4hydra BRAND - позволяет сгенерировать список с паролями по умолчанию, где BRAND - это названия производителя, например cisco или название сервиса, например ssh
Опция all - сгенерирует список паролей для всех брендов и сервисов
В дальнейшем список паролей можно использовать с помощью опции -C
hydra-wizard
hydra-wizard - интерактивный помощник для запуска hydra
Примеры
#Восстановить прерванный сеанс
hydra -R
#Атака на sshh
hydra -f -V -w10 -l root -P passwords/10000_common_passwords.txt -t 1 ssh://192.168.1.17:22
#Атака на ftp
hydra -l admin -P john.txt ftp://127.0.0.1
#Подключить список ip-адресов
hydra -l admin -P passwd.txt -M targets.txt ftp
#Генерация паролей с помощью опции -x
# -x minimum_length:maximum_length:charset
#От 3 до 6 символов, начиная с символа b и числа 3
hydra -f -V -t 1 -l root -x 3:6:3bB/ ssh://192.168.1.17:22
[DATA] max 1 task per 1 server, overall 1 task, 1080 login tries (l:1/p:1080), ~1080 tries per task
[DATA] attacking ssh://192.168.1.17:22/
[ATTEMPT] target 192.168.1.17 - login "root" - pass "333" - 1 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "33b" - 2 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "33B" - 3 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "3b3" - 4 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "3bb" - 5 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "3bB" - 6 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "3B3" - 7 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "3Bb" - 8 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "3BB" - 9 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "b33" - 10 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "b3b" - 11 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "b3B" - 12 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "bb3" - 13 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "bbb" - 14 of 1080 [child 0] (0/0)
[ATTEMPT] target 192.168.1.17 - login "root" - pass "bbB" - 15 of 1080 [child 0] (0/0)
#Перебор пароля аутентификации HTTP
hydra -l admin -P ~/john.txt -o ./result.log -V -s 80 127.0.0.1 http-get /login/
#Диапазон ip-адресов
hydra -f -V -t 1 -l root -x 3:6:3bB ssh://192.168.1.0/24:22
#Проверить есть ли дополнительный модуль
hydra -U smtp
Help for module smtp:
============================================================================
Module smtp is optionally taking one authentication type of:
LOGIN (default), PLAIN, CRAM-MD5, DIGEST-MD5, NTLM
Additionally TLS encryption via STARTTLS can be enforced with the TLS option.
Example: smtp://target/TLS:PLAIN
Если вы используете обозначение "://", вы должны использовать скобки "[" "]", если вы хотите указать адреса IPv6 или CIDR ("192.168.0.0/24") для атаки
ftp://[192.168.0.0/24]/ hydra
smtps://[2001:db8::1]/NTLM
Обратите внимание, что все, что делает hydra, выполняется только по протоколу IPv4! Если вы хотите атаковать IPv6-адреса, вы должны добавить параметр командной строки "-6". В этом случае все атаки будут выполняться только по протоколу IPv6!
Пример использования списка хостов
-M targets.txt ftp
foo.bar.com
target.com:21
unusual.port.com:2121
default.used.here.com
127.0.0.1
127.0.0.1:2121
Можно использовать пароли, основанные на логине, используя опцию "-e".
Опция "-e" имеет три параметра:
s - попробуйте ввести логин в качестве пароля
n - попробуйте ввести пустой пароль
r - измените логин и введите его в качестве пароля
Если вы хотите, например, попробовать "попробовать вход в систему с использованием пароля" и "пустой пароль", вы указываете "-e sn" в командной строке.
Логин и пароль можно указывать через двоеточие:
admin:password
test:test
foo:bar
Специальные параметры могут быть переданы через параметр -m, как третий параметр командной строки или в формате service://target/option
./hydra -l test -p test -m PLAIN 127.0.0.1 imap
./hydra -l test -p test 127.0.0.1 imap PLAIN
./hydra -l test -p test imap://127.0.0.1/PLAIN
Когда работа hydra прерывается с помощью Control-C, она прерывается или выходит из строя, после нее остается файл "hydra.restore", содержащий всю необходимую информацию для восстановления сеанса
Переменная среды HYDRA_PROXY_HTTP определяет веб-прокси
HYDRA_PROXY_HTTP="http://123.45.67.89:8080/"
HYDRA_PROXY_HTTP="http://login:password@123.45.67.89:8080/"
HYDRA_PROXY_HTTP="proxylist.txt"
Если отсортировать словарь, это сэкономит кучу времени для подбора
cat words.txt | sort | uniq > dictionary.txt
Источник: https://github.com/cydiabwcx/hydra