Пароль технически определяется как секретная строка символов, используемая для аутентификации или получения доступа к ресурсам. Он должен храниться в секрете и укрываться от других лиц, которым не разрешен доступ к этим ресурсам. Пароли использовались с компьютерами с самых первых дней развития компьютеров. Одна из первых систем разделения времени была представлена в 1961 году. В ней была команда входа в систему, которая запрашивала пароль пользователя. После ввода ПАРОЛЯ система по возможности отключает механизм печати, чтобы пользователь мог ввести свой пароль в конфиденциальном порядке.
Надежность пароля зависит от длины, сложности и непредсказуемости. Он измеряет эффективность сопротивления угадыванию или нарушению его. С другой стороны, слабые пароли сокращают время, необходимое для угадывания и получения доступа к личной / корпоративной электронной почте, конфиденциальным данным, таким как финансовая информация, бизнес-информация, кредитные карты и т. Д.
Существует много способов, которыми пароль может быть слабым, что соответствует силе различных схем атаки. Самая популярная атака на учетные данные - это грубая сила. это метод проб и ошибок, такой как угадывание, попытка декодирования зашифрованных данных, таких как пароль или шифрование данных, используемое прикладной программой или инструментом взлома.
Hydra - это самый быстрый взломщик входа в сеть, который поддерживает множество протоколов атак. Это очень быстро и гибко, и новые модули легко добавлять. Этот инструмент позволяет исследователям и консультантам по безопасности показать, насколько легко было бы получить несанкционированный доступ к системе удаленно. «Гидра» была написана ван Хаузером и дополнительно поддержана Дэвидом Мацеджаком. В последнем обновлении разработка гидры перенесена в общедоступный репозиторий github по адресу: https://github.com/vanhauser-thc/thc-hydra.
Hydra была протестирована для компиляции в Linux, Windows / Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX / Blackberry и доступна под GPLv3 со специальным расширением лицензии OpenSSL.
THC Hydra поддерживает следующие протоколы: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP (S) -FORM-GET, HTTP (S) -FORM-POST, HTTP (S) -GET, HTTP (S) -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 Enum, SNMP v1 + v2 + v3, SOCKS5, SSH (v1 и v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC и XMPP.
СРАВНЕНИЕ HYDRA С ДРУГИМИ ИНСТРУМЕНТАМИ ДЛЯ РАСШИРЕНИЯ
Существует также множество инструментов для взлома входа в систему, помимо Hydra, однако ни один из них не поддерживает огромный список протоколов и поддержку параллельного взлома входа в систему, как Hydra. В таблицах ниже показаны результаты сравнения функций, услуг и скорости с medusa и ncrack.
Функции
Характерная черта | Гидра | медуза | Ncrack |
Лицензия | AGPLv3 | GPLv2 | Условия GPLv2 + Nmap |
Поддержка IPv6 | да | Нет | Нет |
Графический интерфейс пользователя | да | да | Нет |
Интернационализированная поддержка (RFC 4013) | да | Нет | Нет |
Поддержка HTTP-прокси | да | да | Нет |
Поддержка прокси SOCKS | да | Нет | Нет |
Поддерживаемые протоколы | 51 | 22 | 7 |
Услуги
Услуга | Подробности | Гидра | медуза | Ncrack |
АДАМ-6500 | да | Нет | Нет | |
AFP | да | да | Нет | |
Звездочка | да | Нет | Нет | |
Пароль Cisco | да | Нет | Нет | |
Cisco Включить | да | Нет | Нет | |
CVS | да | да | Нет | |
Жар-птица | да | Нет | Нет | |
FTP | да | да | да | |
Поддержка SSL | AUTH TLS и FTP через SSL | AUTH TLS и FTP через SSL | Нет | |
HTTP | Метод (ы) | ПОЛУЧИТЬ, ГОЛОВУ, ЗАПИСАТЬ | ПОЛУЧАТЬ | ПОЛУЧАТЬ |
Базовая аутентификация | да | да | да | |
Форма HTTP | Метод (ы) | ПОЛУЧИТЬ, ОТПРАВИТЬ | ПОЛУЧИТЬ, ОТПРАВИТЬ | Нет |
Поддержка SSL | HTTPS | HTTPS | Нет | |
HTTP-прокси | Базовая аутентификация | да | Нет | Нет |
ДАЙДЖЕСТ-MD5 Auth | да | Нет | Нет | |
NTLM Auth | да | Нет | Нет | |
Поддержка SSL | HTTPS | Нет | Нет | |
Перечисление URL-адресов HTTP PROXY | да | Нет | Нет | |
Аська | v5 | да 1 | Нет | Нет |
IMAP | ПОДДЕРЖКА ВХОДА | да | да | Нет |
Поддержка AUTH LOGIN | да | Нет | Нет | |
Поддержка AUTH PLAIN | да | да | Нет | |
Поддержка AUTH CRAM-MD5 | да | Нет | Нет | |
Поддержка AUTH CRAM-SHA1 | да | Нет | Нет | |
Поддержка AUTH CRAM-SHA256 | да | Нет | Нет | |
Поддержка AUTH DIGEST-MD5 | да | Нет | Нет | |
AUTH NTLM поддержка | да | да | Нет | |
Поддержка AUTH SCRAM-SHA1 | да | Нет | Нет | |
Поддержка SSL | IMAPS и STARTTLS | IMAPS и STARTTLS | Нет | |
IRC | Общий пароль сервера | да | Нет | Нет |
Пароль режима OPER | да | Нет | Нет | |
LDAP | v2, простая поддержка | да | Нет | Нет |
v3, простая поддержка | да | Нет | Нет | |
v3, поддержка AUTH CRAM-MD5 | да | Нет | Нет | |
Поддержка AUTH DIGEST-MD5 | да | |||
AUTH NTLM поддержка | да | да | ||
Поддержка AUTH SCRAM-SHA1 | да | |||
Поддержка SSL | IMAPS и STARTTLS | IMAPS и STARTTLS | ||
IRC | Общий пароль сервера | да | ||
Пароль режима OPER | да | |||
LDAP | v2, простая поддержка | да | ||
v3, простая поддержка | да | |||
v3, поддержка AUTH CRAM-MD5 | да | |||
v3, поддержка AUTH DIGEST-MD5 | да | |||
MS-SQL | да | да | ||
MySQL | v3.x | да | да | |
v4.x | да | да | ||
v5.x | да | да | ||
NCP | да | да | ||
NNTP | ПОЛЬЗОВАТЕЛЬСКАЯ поддержка | да | да | |
Поддержка AUTH LOGIN | да | |||
Поддержка AUTH PLAIN | да | |||
Поддержка AUTH CRAM-MD5 | да | |||
Поддержка AUTH DIGEST-MD5 | да | |||
AUTH NTLM поддержка | да | |||
Поддержка SSL | STARTTLS и NNTP через SSL | |||
Oracle | База данных | да | да | |
TNS Listener | да | |||
Перечисление SID | да | |||
ПК-NFS | да | |||
pcAnywhere | Собственная аутентификация | да | да | |
Аутентификация на основе ОС (MS) | да | |||
POP3 | ПОЛЬЗОВАТЕЛЬСКАЯ поддержка | да | да | да |
Поддержка APOP | да | |||
Поддержка AUTH LOGIN | да | да | ||
Поддержка AUTH PLAIN | да | да | ||
Поддержка AUTH CRAM-MD5 | да | |||
Поддержка AUTH CRAM-SHA1 | да | |||
Поддержка AUTH CRAM-SHA256 | да | |||
Поддержка AUTH DIGEST-MD5 | да | |||
AUTH NTLM поддержка | да | да | ||
Поддержка SSL | POP3S и STARTTLS | POP3S и STARTTLS | POP3S | |
PostgreSQL | да | да | ||
Звездочка | да | |||
RDP | Рабочая станция Windows | да | да | да |
Windows Server | да | да | ||
Доменная аутентификация | да | да | ||
РЕДИС | да | Нет | ||
REXEC | да | да | ||
RLOGIN | да | да | ||
RPCAP | да | Нет | ||
RSH | да | да | ||
RTSP | да | Нет | ||
SAP R / 3 | да | |||
Сименс S7-300 | да | |||
ГЛОТОК | да | |||
Поддержка SSL | SIP через SSL | |||
SMB | Режим NetBIOS | да | да | Нет |
W2K основной режим | да | да | да | |
Режим хеширования | да | да | Нет | |
Очистить текст Auth | да | да | ||
LMv1 Auth | да | да | да | |
LMv2 Auth | да | да | да | |
NTLMv1 Auth | да | да | да | |
NTLMv2 Auth | да | да | да | |
SMTP | Поддержка AUTH LOGIN | да | да | |
Поддержка AUTH PLAIN | да | да | ||
Поддержка AUTH CRAM-MD5 | да | |||
Поддержка AUTH DIGEST-MD5 | да | |||
AUTH NTLM поддержка | да | да | ||
Поддержка SSL | SMTPS и STARTTLS | SMTPS и STARTTLS | ||
Список пользователей SMTP | VRFY cmd | да | да | |
EXPN cmd | да | да | ||
RCPT TO cmd | да | да | ||
SNMP | v1 | да | да | |
v2c | да | да | ||
v3 | (Только аутентификация MD5 / SHA1) | |||
НОСКИ | v5, пароль аутентификации | да | ||
SSH | v1 | да | ||
v2 | да | да | да | |
Ключи SSH | v1, v2 | да | ||
Подрывная версия (SVN) | да | да | ||
Team Speak | TS2 | да | ||
Telnet | да | да | да | |
XMPP | Поддержка AUTH LOGIN | да | ||
Поддержка AUTH PLAIN | да | |||
Поддержка AUTH CRAM-MD5 | да | |||
Поддержка AUTH DIGEST-MD5 | да | |||
Поддержка AUTH SCRAM-SHA1 | да | |||
VMware Auth Daemon | v1.00 / v1.10 | да | да | |
Поддержка SSL | да | да | ||
VNC | Поддержка паролей RFB 3.x | да | да | |
RFB 3.x пользователь + поддержка пароля | (Только UltraVNC) | |||
Поддержка паролей RFB 4.x | да | да | ||
RFB 4.x пользователь + поддержка пароля | (Только UltraVNC) |
Сравнение скорости
Скорость (в с) | Гидра | медуза | Ncrack |
1 Задача / модуль FTP | 11,93 | 12,97 | 18.01 |
4 задачи / модуль FTP | 4.20 | 5,24 | 9.01 |
16 задач / модуль FTP | 2,44 | 2,71 | 12.01 |
1 модуль Task / SSH v2 | 32,56 | 33,84 | 45,02 |
4 задачи / модуль SSH v2 | 10,95 | Сломанный | Пропущенный |
Модуль 16 задач / SSH v2 | 5,14 | Сломанный | Пропущенный |
Это было краткое простое введение в гидру. Теперь перейдем к установке.
УСТАНОВКА HYDRA
Hydra предустановлена в kali linux, однако, если у вас другая операционная система, вы можете скомпилировать и установить ее в своей системе. В настоящее время гидра поддерживает различные платформы:
- Все платформы UNIX (Linux, * bsd, Solaris и т. Д.)
- MacOS (в основном клон BSD)
- Windows с Cygwin (как IPv4, так и IPv6)
- Мобильные системы на базе Linux, MacOS или QNX (например, Android, iPhone, Blackberry 10, Zaurus, iPaq)
Чтобы скачать, настроить, скомпилировать и установить гидру, просто введите в терминал:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Если у вас Ubuntu / Debian, вам понадобятся некоторые библиотеки зависимостей:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Если вы не смогли найти эти библиотеки в своем репозитории, вам необходимо загрузить и установить их вручную.
КАК ПОЛЬЗОВАТЬСЯ HYDRA
Поздравляем, теперь вам удалось установить гидру в свою систему. На самом деле Hydra поставляется с двумя вариантами: GUI-gtk и моей любимой версией CLI. Кроме того, у Hydra есть версия с интерфейсом командной строки, которая называется hydra-wizard. Вы будете получать пошаговые инструкции, вместо того, чтобы вводить все команды или аргументы вручную в терминал. Чтобы запустить гидру, введите в терминале:
Для CLI:
hydra
Для мастера CLI:
hydra-wizard
Для графического интерфейса:
xhydra
После того, как вы наберете «гидра», отобразятся такие команды справки:
[email protected] :~# hydra -h Hydra v8.6 (c)2017 by van Hauser/THC & David Maciejak - for legal purposes only Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]] Options: -R restore a previous aborted/crashed session -S perform an SSL connect -s PORT if the service is on a different default port, define it here -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -x MIN:MAX:CHARSET password bruteforce generation, type '-x -h' to get help -e nsr try 'n' null password, 's' login as pass and/or 'r' reversed login -u loop around users, not passwords (effective! implied with -x) -C FILE colon separated 'login:pass' format, instead of -L/-P options -M FILE list of servers to be attacked in parallel, one entry per line -o FILE write found login/password pairs to FILE instead of stdout -f / -F exit when a login/pass pair is found (-M: -f per host, -F global) -t TASKS run TASKS number of connects in parallel (per host, default: 16) -w / -W TIME waittime for responses (32s) / between connects per thread -4 / -6 prefer IPv4 (default) or IPv6 addresses -v / -V / -d verbose mode / show login+pass for each attempt / debug mode -U service module usage details server the target server (use either this OR the -M option) service the service to crack (see below for supported protocols) OPT some service modules support additional input (-U for module help) Supported services: asterisk afp cisco cisco-enable cvs firebird ftp ftps http[s]-head http[s]-post-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-crammd5][s] mssql mysql ncp nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp rexec rlogin rsh s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp Hydra is a tool to guess/crack valid login/password pairs - usage only allowed for legal purposes. This tool is licensed under AGPL v3.0. The newest version is always available at http://www.thc.org/thc-hydra These services were not compiled in: sapr3 oracle. Use HYDRA_PROXY_HTTP or HYDRA_PROXY - and if needed HYDRA_PROXY_AUTH - environment for a proxy setup. E.g.: % export HYDRA_PROXY=socks5://127.0.0.1:9150 (or socks4:// or connect://) % export HYDRA_PROXY_HTTP=http://proxy:8080 % export HYDRA_PROXY_AUTH=user:pass Examples: hydra -l user -P passlist.txt ftp://192.168.0.1 hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN hydra -C defaults.txt -6 pop3s://[fe80::2c:31ff:fe12:ac11]:143/TLS:DIGEST-MD5 hydra -l admin -p password ftp://[192.168.0.0/24]/ hydra -L logins.txt -P pws.txt -M targets.txt ssh
Веб-вход через Bruteforce с помощью hydra
Hydra поддерживает некоторые службы брутфорса, как я упоминал ранее, один из них используется для брутфорса веб-входа в систему, например, формы входа в социальные сети, формы входа в банк пользователя, входа в систему через Интернет на вашем маршрутизаторе и т. Д. Это http [s] -get-form который будет обрабатывать этот запрос. В этом уроке я покажу вам, как подобрать уязвимые веб-логины. Прежде чем запускать гидру, мы должны знать некоторые необходимые аргументы, такие как ниже:
- Цель : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Логин имя пользователя : admin (если вы не уверены, подберите это)
- Список паролей : Расположение списка файлов словаря, содержащего возможные пароли.
- Параметры формы : в общем, используйте данные о вмешательстве или прокси для получения формы параметров запроса. Но здесь я использую iceweasel, основанную на Firefox, панель инструментов разработчика сети.
- Сервисный модуль : http-post-form
Help for module http-post-form: ============================================================================ Module http-post-form requires the page and the parameters for the web form. By default this module is configured to follow a maximum of 5 redirections in a row. It always gathers a new cookie from the same URL without variables The parameters take three ':' separated values, plus optional values. (Note: if you need a colon in the option string as value, escape it with ':', but do not escape a '' with '\'.) Syntax: [url]:[form parameters]:[condition string][:(optional)[:(optional)] First is the page on the server to GET or POST to (URL). Second is the POST/GET variables (taken from either the browser, proxy, etc. with usernames and passwords being replaced in the '^USER^' and '^PASS^' placeholders (FORM PARAMETERS) Third is the string that it checks for an *invalid* login (by default) Invalid condition login check can be preceded by 'F=', successful condition login check must be preceded by 'S='. This is where most people get it wrong. You have to check the webapp what a failed string looks like and put it in this parameter! The following parameters are optional: C=/page/uri to define a different page to gather initial cookies from (h|H)=My-Hdr: foo to send a user defined HTTP header with each request ^USER^ and ^PASS^ can also be put into these headers! Note: 'h' will add the user-defined header at the end regardless it's already being sent by Hydra or not. 'H' will replace the value of that header if it exists, by the one supplied by the user, or add the header at the end Note that if you are going to put colons (:) in your headers you should escape them with a backslash (). All colons that are not option separators should be escaped (see the examples above and below). You can specify a header without escaping the colons, but that way you will not be able to put colons in the header value itself, as they will be interpreted by hydra as option separators.
Получение параметров публикации с помощью браузера, iceweasel / firefox
В браузере Firefox нажмите клавиши ‘ CTRL + SHIFT + Q ‘. Затем откройте страницу входа в Интернет.http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, вы заметите, что на вкладке разработчика сети появляется текст. Он сообщает вам, какие файлы передаются нам. Смотрите, что все методы GET, так как у нас еще нет данных POST.
Чтобы получить параметры пост-формы, введите любое значение в форме имени пользователя и / или пароля. Вы заметите новый метод POST на вкладке разработчика сети. Дважды щелкните эту строку, на вкладке «Заголовки» нажмите кнопку «Изменить и повторно отправить» справа. В теле запроса скопируйте последнюю строку, например tfUName = asu & tfUPass = raimu . то tfUName а также tfUPass параметры, которые нам нужны. Как видно ниже:
В Kali linux есть множество списков слов, выберите соответствующий список слов или просто используйте файл rockyou.txt в / usr / share / wordlists / как показано ниже:
Хорошо, теперь у нас есть все необходимые аргументы и мы готовы запустить гидру. Вот шаблон команды:
hydra -l -P [/code] Finally, based on information we have gathered, our commands ahould look something like this: hydra -l admin -P /usr/share/wordlists/rockyou.txt testasp.vulnweb.com http-post-form '/Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout' -vV -f
Давайте разберем команды:
- в : это слово, содержащее имя пользователя account, используйте -L для ссылки на список возможных имен пользователей в файле.
- п : представляет собой список файлов возможных паролей, используйте -p, чтобы буквально использовать пароль из одного слова, а не угадывать его.
- testapp.vunlwebapp.com : имя хоста или цель
- http-post-form : это сервисный модуль, который мы используем
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = 3 необходимых параметра, синтаксис:
{URL страницы}: {Запросить параметры формы тела сообщения}: S = {Найти все на странице после успешного входа в систему} - v = Подробный режим
- V = показать логин: пропуск для каждой попытки
- ж = Завершить программу, если парный логин: пароль найден
Теперь позвольте гидре попытаться взломать пароль за нас, для этого нужно время, так как это словарная атака. Как только вам удастся найти пару логин: пароль, гидра немедленно завершит задание и покажет действительные учетные данные.
Hydra может сделать так много, так как в этом руководстве мы только что узнали, как выполнить брутфорс для входа в систему через веб-интерфейс с помощью hydra, мы изучаем только один протокол, то есть протокол http-post-form. Мы также можем использовать гидру против другого протокола, такого как ssh, ftp, telnet, VNC, прокси и т. Д.