Подробное руководство по Hydra. Часть 2
Life-Hack [Жизнь-Взлом]/ХакингТеперь в приведенную выше команду следует добавить опцию —M для атаки нескольких хостов, поэтому отображение всех попыток, происходящих во время атаки, займет очень много времени. Чтобы упростить процесс, была добавлена опция —F, так что атака завершится после первой найденной пары логин / пароль для любого хоста.
hydra -L users.txt -P pass.txt -M hosts.txt ftp -F
![](https://sun9-85.userapi.com/impg/ZeLZVGpPpoJ_wbI3SObjzW2fGye1kOrf8swyiw/CM4VYDUmhOY.jpg?size=640x360&quality=96&sign=24335992edbb4243e10654c56d947eeb&type=album)
Использование комбинированных записей
Инструмент имеет уникальный параметр —C для использования комбинированных записей. Сначала нужно создать файл, содержащий данные в формате «login:pass», разделенные двоеточием, а затем использовать опцию —C, указывающую имя файла, и выполнить атаку методом перебора вместо использования опций —L / -P отдельно. Таким образом, можно намного быстрее осуществить атаку и сэкономить свое время.
cat userpass.txt hydra -C userpass.txt 192.168.1.141 ftp
Итак, пользователь создал файл «userpass.txt» с помощью команды cat и введенных данных в формате «login:pass». Затем он использовал опцию —C, чтобы начать атаку.
![](https://sun9-65.userapi.com/impg/j3n5l_3AczmQzR-Mu0iw9l8J2r5LKngg-78lSg/6RP1-6-R_Xg.jpg?size=640x259&quality=96&sign=1a23ac76da006b1cc9dea8e0ac38f4c6&type=album)
Одновременное тестирование нескольких логинов
Если пользователь хочет протестировать несколько логинов одновременно, он может использовать опцию —t, указав их количество. Следовательно, Hydra будет выполнять перебор одновременно.
hydra -L users.txt -P pass.txt 192.168.1.141 ftp -t 3 -V
Как можно заметить, одновременно предпринимаются три попытки, одновременно проверяются три пароля для пользователя ignite на хосте 192.168.1.141. Можно наблюдать «дочерние изменения» 0,1,2, что означает, что инструмент одновременно проверяет несколько логинов.
![](https://sun9-88.userapi.com/impg/f-2RimLq0zZdZYz5NohH8-KKyqtIoQfgVmspvg/OFcSp-Nfyv4.jpg?size=640x204&quality=96&sign=43787fc847a9b1c6eb7a1fe7b8dabd4c&type=album)
Атака на HTTP Login Form
Hydra можно использовать для выполнения атаки методом перебора на простые веб-формы входа, для которых требуются переменные имени пользователя и пароля либо по запросу GET, либо по запросу POST. Для данного тестирования пользователь использовал dvwa (уязвимое веб-приложение), у которого есть страница входа в систему. Эта страница использует метод POST, когда пользователь отправляет ей данные.
![](https://sun9-46.userapi.com/impg/HVTz6mxAtr50fnzpflCzsePv-gvTgt_nXTjMxA/9uXdfq6GCDc.jpg?size=640x349&quality=96&sign=62ff7020da3d1b35cfb69fe08fd319c9&type=album)
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.
![](https://sun9-88.userapi.com/impg/UL3MRdFhbab8bPdkMZL7UJiv_JvFMTk8-J8aEA/H9buK-MaH1M.jpg?size=640x97&quality=96&sign=a92393172636d659a8db7719bc5dcdb8&type=album)
Итак, с паролем все прошло успешно, пользователь обошел страницу входа в систему. Далее он применил брутфорс к полю имени пользователя и пароля, указав уровень безопасности как «низкий». С помощью плагина редактора файлов 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”
![](https://sun9-43.userapi.com/impg/nrpQs6ZGJUFwYVMyI8qie01xRfC5iIrqgcjaoA/6EUSYZaw6zQ.jpg?size=640x482&quality=96&sign=9d4962a4fc6f085ba261cb04dd9eba38&type=album)
Пользователь просмотрел исходный код страницы и узнал, что страница использует метод GET, нужен модуль «http-GET-form».
![](https://sun9-45.userapi.com/impg/0mcoWF7EaBJZ26VAUeRRaG8mXlUrvzweYFJy_w/XRQwXi5t3Hk.jpg?size=630x191&quality=96&sign=37639a8cb1fededb854aaf12fe207e63&type=album)
Как можно заметить, команда была успешно выполнена, были получены корректные имя пользователя и пароль.
![](https://sun9-49.userapi.com/impg/qxdsq4XUXCaxRmcxwScTynq13gzYQ8PA1Ojxvg/kg8TCGr4Ai0.jpg?size=640x163&quality=96&sign=5d95d5501ba5608a6be8ef97570cf67b&type=album)
Информация о службах Hydra
Чтобы получить информацию о службе Hydra, следует ввести —h и ее тип. Далее стоит добавить опцию —U.
hydra http-get-form -U
![](https://sun9-79.userapi.com/impg/4Sjp5Ox4x5Br78szmLBLxVLkLfTxAvXr-XGZrw/gT8V1euglNs.jpg?size=640x526&quality=96&sign=a203b107ec25cfaaaae5a79e4f5e51fd&type=album)
В данном случае «http-get-form» является одной из служб, поддерживаемых Hydra, и опция —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
![](https://sun9-54.userapi.com/impg/tbUHHFwWzQV4tgsge_QJdmjnaIH311Wx_GDZFQ/snrvFGHHWa8.jpg?size=640x347&quality=96&sign=0a032497b47ab0631c38a58295e68ee3&type=album)
Эта команда будет успешной и покажет пользователю 1 корректный пароль.
Это один из способов атаки на защищенный ftp, есть еще такой:
hydra -l ignite -P pass.txt 192.168.1.141 ftp hydra -l ignite -P pass.txt 192.168.1.141 ftps
![](https://sun9-74.userapi.com/impg/VLAvZmisohzZjRXTLRWRDzudrxsqjOkwTfI87g/OAYxOND0Amg.jpg?size=640x321&quality=96&sign=d9baa755882a806d5c5a8737155f3c4a&type=album)
Первая атака не сработала, так как хост 192.168.1.141 имеет защищенный ftp, но вторая – была успешной и вывела на экран корректный пароль. Таким образом, пользователь может выполнять атаки методом перебора на хосты, на которых открыты защищенные службы.
Атака хостов с активным прокси
Стоит также рассказать о том, как Hydra может атаковать хосты с включенным прокси-сервером. Сначала пользователь попытался выполнить ту же команду с параметрами -l -p на хосте 192.168.1.141 в службе ftp и увидел, что пароль не был найден. Следовательно, он запустил сканирование Nmap для хоста и понял, что список служб и портов открыт. Итак, на порту 1080 был установлен прокси-сервер «socks5» без какой-либо аутентификации.
![](https://sun9-83.userapi.com/impg/eT-oNLpdirJx4M4oE23vrfWFI1TMickqJ4Km-w/_pUtFLFAROM.jpg?size=626x468&quality=96&sign=1e71173fbe28d572b649a459a3f90c5b&type=album)
Прокси без аутентификации
Hydra имеет два варианта включения прокси-сервера. В данной статье будут рассмотрены обе опции. Перейдем к способу номер 1.
Переменная среды
Чтобы включить прокси-сервер, пользователь использовал следующую команду:
export HYDRA_PROXY=socks5://192.168.1.141:1080
![](https://sun9-3.userapi.com/impg/XgUBIvhkS9_vtq9HKP1QerkgaSO_8gRRNcjJjw/dAIlTRnoiJE.jpg?size=640x231&quality=96&sign=eebda07a5037ef1a69b2591d01b4c8e2&type=album)
А затем он ввел следующую команду и смог получить 1 корректный пароль:
hydra -l ignite -P pass.txt 192.168.1.141 ftp
Proxychains
Пользователь открыл файл /etc/proxychains4.conf и добавил в него сведения о прокси-сервере с указанием хоста и порта. Затем он с помощью proxychains осуществил атаку брутфорс.
cat /etc/proxychains4.conf proxychains hydra -l ignite -P pass.txt 192.168.1.141 ftp
![](https://sun9-79.userapi.com/impg/_rtwI438OyBiGbYErO4g8y4rUqJhuZb2lONB7A/bS676GwIAUw.jpg?size=640x496&quality=96&sign=20c759cb0132afcdfbe55699ea00d614&type=album)
Аутентифицированный прокси
Пользователь заполучил желаемый пароль («123») для хоста. В вышеупомянутой атаке не была включена какая-либо аутентификация. Теперь он попробовал использовать прокси-сервер с включенной аутентификацией.
Proxychains
Пользователь попытался перебрать цель с помощью proxychains, но в данной операции ему было отказано, поскольку на прокси-сервере была включена аутентификация.
proxychains hydra -l ignite -p pass.txt 192.168.1.141 ftp
![](https://sun9-86.userapi.com/impg/N--xNUD7MM6VDGYXcwTfJzztEeFrG-PKRi6YGw/1BNQCPK7MK4.jpg?size=622x333&quality=96&sign=326f11c1925854c5b9e1b0469dc2efab&type=album)
Он добавил имя пользователя и пароль в файл /etc/proxychains4.conf.
cat /etc/proxychains4.conf
Затем с помощью proxychains он начал атаковать, используя приведенную ниже команду.
proxychains hydra -l ignite -P pass.txt 192.168.1.141 ftp
Следовательно, после выполнения этой команды был получен корректный пароль для хоста с включенным прокси-сервером.
![](https://sun9-68.userapi.com/impg/_BYusLyF2_DZQq1e1ugKWkmpOyE-LTrclcypgQ/cpwkfWo6GtY.jpg?size=640x501&quality=96&sign=7e0ab01e43945c6416a682147bc48eed&type=album)
Переменная среды
export HYDRA_PROXY=socks5://raj:1234@192.168.1.141:1080
В данном примере «raj» – это имя пользователя, «1234» – пароль прокси-сервера; 192.168.1.141 – хост, а 1080 – порт, на котором включен прокси-сервер. После этого человек использовал команду:
hydra -l ignite -P pass.txt 192.168.1.141 ftp
Был получен корректный пароль для хоста 192.168.1.141.
![](https://sun9-66.userapi.com/impg/35R_yQkQdEMQjW9QDK8T8QMKisSzgA4DeBgSVg/eyNaZK_vfvI.jpg?size=640x227&quality=96&sign=3c20521720b8a480e0ebb8750db209d1&type=album)