What is hydra kali linux

Hydra

Ben Spring

This blog post will explain what Hydra is and how we this tool to crack a remote authentication service.

What is Hydra?

Hydra is a brute force online password cracking program; a quick system login password ‘hacking’ tool.

We can use Hydra to run through a list and ‘bruteforce’ some authentication service. Imagine trying to manually guess someones password on a particular service (SSH, Web Application Form, FTP or SNMP) — we can use Hydra to run through a password list and speed this process up for us, determining the correct password.

Hydra has the ability to bruteforce the following protocols: Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST, 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, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.

For more information on the options of each protocol in Hydra, read the official Kali Hydra tool page: https://en.kali.tools/?p=220

This shows the importance of using a strong password, if your password is common, doesn’t contain special characters and/or is not above 8 characters, its going to be prone to being guessed. 100 million password lists exist containing common passwords, so when an out-of-the-box application uses an easy password to login, make sure to change it from the default! Often CCTV camera’s and web frameworks use admin:password as the default password, which is obviously not strong enough.

Installing Hydra

If you’re using Kali Linux, hydra is pre-installed. Otherwise you can download it here: https://github.com/vanhauser-thc/thc-hydra

If you don’t have Linux or the right desktop environment, you can deploy your own Kali Linux machine with all the needed security tools. You can even control the machine in your browser! Do this with our Kali room — https://tryhackme.com/room/kali

Using Hydra

The options we pass into Hydra depends on which service (protocol) we’re attacking. For example if we wanted to bruteforce FTP with the username being user and a password list being passlist.txt, we’d use the following command:

hydra -l user -P passlist.txt ftp://192.168.0.1

For the purpose of the Christmas challenge, here are the commands to use Hydra on SSH and a web form (POST method).

SSH

hydra -l -P -t 4 ssh

Option Description
-l is for the username
-P Use a list of passwords
-t specifies the number of threads to use

Post Web Form

We can use Hydra to bruteforce web forms too, you will have to make sure you know which type of request its making — a GET or POST methods are normally used. You can use your browsers network tab (in developer tools) to see the request types, of simply view the source code.

Below is an example Hydra command to brute force a POST login form.

http-post-form «/ :username=^USER^&password=^PASS^:F=incorrect» -V

Option Description
-l Single username
-P indicates use the following password list
http-post-form indicates the type of form (post)
/login url the login page URL
:username the form field where the username is entered
^USER^ tells Hydra to use the username
password the form field where the password is entered
^PASS^ tells Hydra to use the password list supplied earlier
Login indicates to Hydra the Login failed message
Login failed is the login failure message that the form returns
F=incorrect If this word appears on the page, its incorrect
-V verborse output for every attempt

You should now have enough information to put this to practise and complete the Hydra Christmas challenge!

Sign up for more like this.

The teacher becomes the student — from school teacher to security professional

This is the story of how Kassandra made the career change from a high school teacher to a security practitioner using TryHackMe.

From construction worker to security engineer.

“I didn’t know where to start learning cyber security until TryHackMe”

Paul MotleyHere is the story of how Paul used TryHackMe to land his first job in security. How did you start learning cyber security?When I worked in construction, I found my passion for computing and worked nights

Half a million users are learning cyber security on TryHackMe

TryHackMe now has 500,000 aspiring cyber practitioners increasing their technical skills within cyber security. It was only six months ago that we hit 250,000 registered users. Since then, we’ve been very grateful that 42,000 new people have chosen to come to TryHackMe every month. 500,000 registered

Источник

Инструменты Kali Linux

Список инструментов для тестирования на проникновение и их описание

Hydra

Описание Hydra

Программа hydra поддерживает огромное количество служб, благодаря своей быстроте и надёжности она завоевала заслуженную признательность среди тестеров на проникновение.

Программа прекрасно компилируется и работает на Linux, Windows/Cygwin, Solaris, FreeBSD/OpenBSD, QNX (Blackberry 10) и OSX.

В настоящее время поддерживаются следующие протоколы: Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST, 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, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC и XMPP.

Автор: Van Hauser, Roland Kessler

Справка по Hydra

Руководство по Hydra

Поддерживаемые службы (это же название модулей):

  • asterisk
  • afp
  • cisco
  • cisco-enable
  • cvs
  • firebird
  • ftp
  • ftps
  • http-head
  • https-head
  • http-get
  • https-get
  • http-post
  • https-post
  • http-get-form
  • https-get-form
  • http-post-form
  • https-post-form
  • http-proxy
  • http-proxy-urlenum
  • icq
  • imap
  • imaps
  • irc
  • ldap2
  • ldap2s
  • ldap3
  • ldap3s
  • ldap3-crammd5
  • ldap3-crammd5s
  • ldap3-digestmd5
  • ldap3-digestmd5s
  • mssql
  • mysql
  • nntp
  • oracle-listener
  • oracle-sid
  • pcanywhere
  • pcnfs
  • pop3
  • pop3s
  • postgres
  • rdp
  • redis
  • rexec
  • rlogin
  • rsh
  • rtsp
  • s7-300
  • sip
  • smb
  • smtp
  • smtps
  • smtp-enum
  • snmp
  • socks5
  • ssh
  • sshkey
  • svn
  • teamspeak
  • telnet
  • telnets
  • vmauthd
  • vnc
  • xmpp

Дополнительная информация об опции -x

Сгенерировать пароли длинной от 3 до 5, состоящие из букв нижнего регистра:

Сгенерировать пароли длинной от 5 до 8, состоящие из букв верхнего регистра и цифр:

Сгенерировать пароли длинной от 1 до 3 символов, содержащих только слэши:

Сгенерировать пароли длинной 5 символов, которые состоят только из /%,.-

Информация о дополнительных параметрах для модулей Hydra, в которых они требуются

cisco

Модуль cisco опционально принимает ключевое слово ENTER, затем он отправляет начальное ENTER при подключении к службе.

cisco-enable

Модуль cisco-enable опционально принимает пароль входа для устройства cisco.

Примечание: если используется AAA аутентификация, используйте опцию -l для имени пользователя и опциональный параметр для пароля пользователя.

cvs

Модуль cvs опционально принимает имя репозитория для атаки, по умолчанию это «/root»

firebird

Модуль firebird опционально принимает имя базы данных для атаки, по умолчанию это «C:\Program Files\Firebird\Firebird_1_5\security.fdb»

http-get, https-get, http-post, https-post

Модули требует страницу для аутентификации.

Например: «/secret» или «http://bla.com/foo/bar» или «https://test.com:8080/members»

http-get-form, https-get-form, http-post-form, https-post-form

Модули требует страницу и параметры веб-формы.

По умолчанию этот модуль настроен следовать максимум пяти редиректам подряд. Он каждый раз собирает новое куки с того же URL без переменных. Параметр принимает три разделённых «:» значения, плюс опциональные значения.

(Примечание: если вам нужно двоеточие в строке опций в качестве значения, экранируйте его с «\:», но не экранируйте «\» с «\\».)

  • Первое — это страница на сервере (URL) на которую отправляются данные методом GET или POST.
  • Второе — это переменные POST/GET получаемые либо из браузера, либо прокси и т. д. Имена пользователей и пароли будут подставлены вместо заполнителей «^USER^» и «^PASS^» (ПАРАМЕТРЫ ФОРМЫ).
  • Третье — это строка, которая проверяет неверный вход (по умолчанию). Перед условием неверного входа должна стоять «F=», перед условиям успешного входа должна стоять «S=». Это то место, где больше всего людей ошибаются. Вы должны проверить веб-приложение, на что похожа строка, которую он выдаёт при неуспешном входе и указать её в этом параметре!

Следующие параметры опциональны:

задаёт другую страницу с которой собрать начальные кукиз.

для отправки с каждым запросом заданного пользователем HTTP заголовка

^USER^ и ^PASS^ также могут быть размещены в этих заголовках!

Примечание: ‘h‘ добавит определённый пользователем заголовок в конец, независимо от того, отправила ли уже Hydra заголовок или нет.

H‘ заменит значение этого заголовка, если оно существует, тем, которое указал пользователь или добавит заголовок в конец.

Помните, если вы собираетесь разместить двоеточие (:) в ваших заголовках, вам следует их экранировать обратным слэшем (\). Все двоеточия, которые не являются разделителями опций, должны быть экранированы .

Вы можете задать заголовок без экранирования двоеточий, но в этом случае вы не сможете разместить двоеточия в само значения заголовка, поскольку они будут интерпретироваться в hydra как разделители опций.

http-proxy

Модуль http-proxy опционально принимает страницу на которой аутентификация.

По умолчанию это http://www.microsoft.com/)

Поддерживаются и согласовываются автоматически Basic, DIGEST-MD5 и NTLM.

http-proxy-urlenum

Модуль http-proxy-urlenum только использует опцию -L, а не опции -x или -p/-P. После опции -L должно идти имя файла с URL списком, которые нужно пробовать как прокси. Учётные данные прокси могут быть указаны как опциональный параметр, например:

imap, imaps

Модуль imap опционально принимает тип аутентификации: CLEAR or APOP (default), LOGIN, PLAIN, CRAM-MD5, CRAM-SHA1, CRAM-SHA256, DIGEST-MD5, NTLM

Дополнительно опцией TLS может быть принудительно выбрано TLS шифрование через STARTTLS.

irc

Модуль irc опционально принимает общий пароль сервера, если сервер его требует, и если ничего не указано, то будет использоваться пароль из -p/-P.

ldap2, ldap2s, ldap3, ldap3s, ldap3-crammd5, ldap3-crammd5s, ldap3-digestmd5, ldap3-digestmd5s

Модули опционально принимают DN (в зависимости от выбранного метода.

Примечание: вы также можете указать DN как логин, когда используется Простой метод аутентификации).

Ключевое слово «^USER^» заменяется логином.

Специальные указания для Простого метода имеют 3 режима работы: анонимный (без пользователя и пароля), не прошедший проверку подлинности (с пользователем, но без пароля), с проверкой подлинности юзер/пароль (пользователей и пароль).

Поэтому не забудьте установить пустую строку в качестве пользователя/пароля для тестирования всех режимов.

Подсказка: для аутентификации в windows active directy ldap это обычно cn=^USER^,cn=users,dc=foo,dc=bar,dc=com for domain foo.bar.com

mysql

Модуль mysql is опционально принимает базу данных для атаки, по умолчанию это «mysql»

nntp

Модуль nntp опционально принимает один тип аутентификации из: USER (по умолчанию), LOGIN, PLAIN, CRAM-MD5, DIGEST-MD5, NTLM.

oracle-listener

Модуль oracle-listener / tns опционально принимает режим, в котором сохранён пароль, это может быть PLAIN (по умолчанию) или CLEAR.

pop3, pop3s

Модуль pop3 опционально принимает один из типов аутентификации: CLEAR (по умолчанию), LOGIN, PLAIN, CRAM-MD5, CRAM-SHA1, CRAM-SHA256, DIGEST-MD5, NTLM.

Дополнительно опцией TLS можно выбрать принудительное TLS шифрование через STLS.

postgres

Модуль postgres опционально принимает имя базы данных для атаки, по умолчанию это «template1».

rdp

Модуль rdp опционально принимает доменное имя Windows.

s7-300

Модуль S7-300 специально для Siemens PLC. Ему нужен только пароль или отсутствие аутентификации, поэтому просто используйте опцию -p или -P.

smb

По умолчанию модуль smb настроен для тестирования и локального и доменного аккаунта, используя простой пароль с диалектом NTLM.

Примечание: вы можете выбрать тип группы используя ключевое слово LOCAL или DOMAIN или other_domain: для указания доверенного домена.

Вы можете задать тип пароля используя ключевое слово HASH или MACHINE (для использования машинное имя NetBIOS в качестве пароля).

Вы можете установить диалект используя ключевое слово NTLMV2, NTLM, LMV2, LM.

smtp, smtps

Модуль smtp опционально принимает тип аутентификации из: LOGIN (по умолчанию), PLAIN, CRAM-MD5, DIGEST-MD5, NTLM.

Дополнительно опцией TLS может быть принудительно выбрано TLS шифрование через STARTTLS.

smtp-enum

Модуль smtp-enum опционально принимает SMTP команду из: VRFY (по умолчанию), EXPN, RCPT (который подключится используя аккаунт «root»)

Параметр входа используются как параметры имени и пользователя и пароля в качестве доменного имени.

Например, для тестирования, существует ли john@localhost на 192.168.0.1:

snmp

Модуль snmp опционально принимает следующие параметры:

Для комбинирования опций используйте двоеточие («:»), например:

sshkey

Модуль sshkey не обеспечивает дополнительных опций, хотя меняется значение опций -p и -P:

  • -p ожидает путь до незашифрованного приватного ключа в формате PEM.
  • -P ожидает имя файла, содержащего список путей до некоторых незашифрованных ключей в формате PEM.

svn

Модуль svn опционально принимает имя репозитория для атаки, по умолчанию это «trunk»

telnet, telnets

Модуль telnet опционально принимает строку, которая отображается после успешного входа (не зависит от регистра), используйте если та, которая в telnet по умолчанию, выдаёт слишком много ложных срабатываний.

xmpp

Модуль xmpp опционально принимает тип аутентификации из: LOGIN (default), PLAIN, CRAM-MD5, DIGEST-MD5, SCRAM-SHA1.

Помните, что переданная цель должна быть fdqn, так как значение используется в запросе Jabber init, пример: hermes.jabber.org

Примеры запуска Hydra

Попытаться войти как пользователь root (-l root) используя список паролей (-P /usr/share/wordlists/metasploit/unix_passwords.txt) в 6 потоков (-t 6) на данный SSH сервер (ssh://192.168.1.123):

Попытаться войти как пользователь user (-l user) используя список паролей (-P passlist.txt) на данный FTP сервер (ftp://192.168.0.1):

Попытаться войти на SSH сервера (ssh) из списка (-M targets.txt) используя список пользователей (-L logins.txt) и список паролей (-P pws.txt):

Попробовать зайти на FTP сервера в указанной подсети (ftp://[192.168.0.0/24]/) с именем пользователя admin (-l admin) и паролем password (-p password):

Зайти на почтовый сервер (imap://192.168.0.1/), использующий протокол IMAP с именам пользователей из списка (-L userlist.txt) и паролем defaultpw (-p defaultpw), в качестве типа аутентификации выбран PLAIN:

Зайти на почтовый сервер с протоколом POP3S, размещённом указанном на IPv6 (-6) адресе 2001:db8::1, на порту 143 со списком учётных данных в формате «логин:пароль» размещённом в файле defaults.txt (-C defaults.txt) с использованием типа аутентификации DIGEST-MD5 и принудительным TLS шифрованием через STLS:

Установка Hydra

Программа предустановлена в Kali Linux.

Установка в BlackArch

Программа предустановлена в BlackArch.

Установка в Debian, Ubuntu, Linux Mint

Информация об установке в другие операционные системы будет добавлена позже.

xHydra (графический интерфейс для THC-Hydra)

Для запуска графического интерфейса xHydra выполните команду:

Программы, входящие в пакет THC-Hydra

В пакет Hydra входит программа pw-inspector — инструмент для уменьшения списка паролей за счёт отфильтровывания их по заданным параметрам.

Источник

Читайте также:  Bcdedit vhd windows 10
Оцените статью