Подробное руководство по Гидре
Привет! Пентестеры, эта статья посвящена инструменту для брутфорса 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", чтобы увидеть, что доступно.
Чтобы угадать пароль для определенного имени пользователя
Если у вас есть правильное имя пользователя, но вы хотите войти в систему, не зная пароля, вы можете использовать список паролей и перебор паролей на хосте для службы ftp.
hydra -l ignite -P pass.txt 192.168.1.141 ftp
Здесь опция -l предназначена для имени пользователя -P для списков паролей и IP-адреса хоста для службы ftp.
Для входа в систему под 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, поэтому атака грубой силы заключалась в создании комбинаций каждого логина+пароля, а подробный режим показывал все попытки.
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 включает режим отладки, который, как показано, отображает полную информацию об атаке.
NULL/Same как логин, и попытка реверс логина
У Hydra есть опция -e, которая будет проверять еще 3 пароля при переборе. [n] для нуля, для того же, т. е. такого же, как имя пользователя, и [r] для реверсивного, т. е. обратного имени пользователя. Как показано на снимке экрана, при переборе поля пароля сначала проверяется нулевая опция, затем та же опция, а затем наоборот. А затем список, который я предоставил.
hydra -L users.txt -P pass.txt 192.168.1.141 ftp -V -e nsr
Я также включил подробный режим, чтобы мы могли получить подробную информацию о попытках, предпринятых во время перебора.
Сохранение вывода на диск
Этот инструмент дает вам возможность сохранить результат на диск. В основном для ведения записи, лучшей читаемости и будущих предпочтений мы можем сохранить результат атаки грубой силы в файл, используя параметр -o.
hydra -L users.txt -P pass.txt 192.168.1.141 ftp -o result.txt
Я попытался использовать эту опцию и добился успеха, используя приведенную выше команду, где вывод сохраняется в файле result.txt.
Я также использовал эту опцию для сохранения результатов в формате файла json, этот тип — уникальная вещь, предоставляемая гидрой.
Восстановление атаки грубой силы
Иногда может случиться так, что атака случайно ястанавливается/приостанавливается из-за неожиданного поведения гидры. Итак, Hydra решила эту проблему, включив опцию -R, чтобы вы могли возобновить атаку с этой позиции, а не начинать с самого начала.
hydra -L users.txt -P pass.txt 192.168.1.141 ftp
hydra -R
Сначала я начал атаку с помощью первой команды, затем остановил атаку, нажав CTRL + C, а затем с помощью второй команды возобновил атаку.
Генерация пароля с использованием различного набора символов
Для генерации паролей с использованием различного набора символов вы можете использовать опцию -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 он показал успех.
Чтобы вы лучше поняли, я использовал режим -V, и он подробно отобразил результаты.
Атака на определенный порт, а не порт по умолчанию
Сетевые администраторы иногда меняют номер порта по умолчанию для некоторых служб из соображений безопасности. В предыдущих командах 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
Итак, чтобы выполнить, сначала я попытался запустить сканирование nmap на хосте. И на скриншоте показаны все открытые порты, где ssh находится на порту 2222. Итак, я попытался выполнить команду гидры с параметром -s и номером порта.
Я брутфорсил службу ssh, указав номер порта 2222.
Здесь он нашел действительные записи с пользователем 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 действительных хоста, имя пользователя и пароль с успехом.
Теперь в приведенной выше команде я использовал параметр -M для нескольких хостов, поэтому очень много времени требуется для отображения всех попыток, имевших место во время атаки, для этой в медузе была предоставлена опция -F, чтобы атака завершилась, после первой найденной пары логин/пароль для любого хоста.
hydra -L users.txt -P pass.txt -M hosts.txt ftp -F
Использование комбинированных записей
Этот инструмент дает вам уникальный параметр -C для использования комбинированных записей. Во-первых, вам нужно создать файл, содержащий данные в формате "логин:пароль", разделенные двоеточием, а затем вы можете использовать параметр -C, указав имя файла, и выполнить атаку методом грубой силы вместо использования параметров -L/-P. отдельно. Таким образом, атака может быть быстрее и даст желаемый результат за меньшее время.
cat userpass.txt
hydra -C userpass.txt 192.168.1.141 ftp
Итак, я создал файл userpass.txt с помощью команды cat и ввел данные в формате "логин: пароль". Затем я использовал опцию -C в команде гидры, чтобы начать атаку.
Конкуретное тестирование при нескольких логинах
Если вы хотите протестировать несколько входов в систему одновременно, для этого вы можете использовать опцию -t, указав число, и, следовательно, гидра будет выполнять брутфорс одновременно.
hydra -L users.txt -P pass.txt 192.168.1.141 ftp -t 3 -V
Как показано на снимке экрана, одновременно выполняются три попытки, три пароля проверяются одновременно с запуском пользователя на хосте 192.168.1.141, так как вы можете наблюдать дочерние изменения 0, 1,2, что означает, что он одновременно делает три попытки и печатает 3 из них одновременно.
Брутфорс формы входа по HTTP
Форма Hydra может использоваться для проведения грубой атаки на простые веб-формы входа в систему, для которых требуются переменные имени пользователя и пароля либо с помощью запроса GET, либо POST. Для тестирования я использовал dvwa (чертовски уязвимое веб-приложение), у которого есть страница входа. На этой странице используется метод POST, поскольку я отправляю некоторые данные.
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.
Итак, для пароля: пароль успешно подошел и обошел страницу входа. Теперь я выполнил грубую силу в поле имени пользователя и пароля, указав уровень безопасности как "низкий". И с помощью плагина редактора файлов 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”
Я просмотрел исходный код страницы, и из этого я узнал, что страница использует метод GET, и поэтому модуль http-GET-form, как указано в приведенной выше команде
Как на скриншоте, команда успешно выполнена, и я получил правильный логин и пароль.
Сервисный модуль о информации об использовании
Как обсуждалось ранее во введении, все сервисы, поддерживаемые гидрой, если вы хотите проверить один раз, просто введите гидра -h, и вы получите список сервисов, поддерживаемых гидрой. Итак, чтобы получить подробную информацию об использовании, Hydra предоставляет опцию -U.
hydra http-get-form -U
Здесь 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
И эта команда отработала хорошо и показала, что найден 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
Первый не сработал, так как хост 192.168.1.141 защитил ftp, а второй сработал и показал нам найденный действующий пароль. Таким образом, вы можете выполнять атаки грубой силы на хосты, на которых открыты защищенные службы.
Поддержка прокси
Теперь давайте обсудим, как гидра атакует хосты с включенным прокси. Сначала я попытался выполнить ту же команду с параметрами -l -p на хосте 192.168.1.141 на ftp-сервисе и обнаружил, что пароль не найден. Следовательно, я начал сканирование nmap для хоста и обнаружил, что список служб и портов открыт. Итак, на порту 1080 был установлен прокси "socks5" без какой-либо аутентификации.
Неаутентифицированный прокси
Hydra предоставляет два разных способа поддержки прокси. Я пробовал оба способа. Используйте скриншоты для лучшего понимания. Давайте обсудим первый способ
Переменная среды
Чтобы включить прокси, я использовал эту команду:
export HYDRA_PROXY=socks5://192.168.1.141:1080
А затем использовал следующую команду и получил 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
Аутентифицированные прокси
Я получил нужный пароль 123 для хоста. В приведенной выше атаке не было включено никакой аутентификации. Теперь я попробовал прокси с включенной аутентификацией.
Чепочки прокси
Я попытался перебрать цель с помощью проксичейнов, но мне было отказано, потому что на прокси была включена аутентификация.
proxychains hydra -l ignite -p pass.txt 192.168.1.141 ftp
Итак, я добавил имя пользователя и пароль в файл /etc/proxychains4.conf
cat /etc/proxychains4.conf
Просто посмотрите на скриншот для лучшего понимания. Затем с помощью проксичейнов я начал атаковать с помощью приведенной ниже команды.
proxychains hydra -l ignite -P pass.txt 192.168.1.141 ftp
Следовательно, после выполнения этой команды был найден правильный пароль для хоста с включенным прокси.
Переменные среды
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
Примечание. Для настройки прокси я взял статью https://www.hackingarticles.in/penetration-testing-lab-setup-microsocks
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/a-detailed-guide-on-hydra/
Привет! Пентестеры, эта статья посвящена инструменту для брутфорса 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", чтобы увидеть, что доступно.
Чтобы угадать пароль для определенного имени пользователя
Если у вас есть правильное имя пользователя, но вы хотите войти в систему, не зная пароля, вы можете использовать список паролей и перебор паролей на хосте для службы ftp.
hydra -l ignite -P pass.txt 192.168.1.141 ftp
Здесь опция -l предназначена для имени пользователя -P для списков паролей и IP-адреса хоста для службы ftp.
Для входа в систему под 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, поэтому атака грубой силы заключалась в создании комбинаций каждого логина+пароля, а подробный режим показывал все попытки.
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 включает режим отладки, который, как показано, отображает полную информацию об атаке.
NULL/Same как логин, и попытка реверс логина
У Hydra есть опция -e, которая будет проверять еще 3 пароля при переборе. [n] для нуля, для того же, т. е. такого же, как имя пользователя, и [r] для реверсивного, т. е. обратного имени пользователя. Как показано на снимке экрана, при переборе поля пароля сначала проверяется нулевая опция, затем та же опция, а затем наоборот. А затем список, который я предоставил.
hydra -L users.txt -P pass.txt 192.168.1.141 ftp -V -e nsr
Я также включил подробный режим, чтобы мы могли получить подробную информацию о попытках, предпринятых во время перебора.
Сохранение вывода на диск
Этот инструмент дает вам возможность сохранить результат на диск. В основном для ведения записи, лучшей читаемости и будущих предпочтений мы можем сохранить результат атаки грубой силы в файл, используя параметр -o.
hydra -L users.txt -P pass.txt 192.168.1.141 ftp -o result.txt
Я попытался использовать эту опцию и добился успеха, используя приведенную выше команду, где вывод сохраняется в файле result.txt.
Я также использовал эту опцию для сохранения результатов в формате файла json, этот тип — уникальная вещь, предоставляемая гидрой.
Восстановление атаки грубой силы
Иногда может случиться так, что атака случайно ястанавливается/приостанавливается из-за неожиданного поведения гидры. Итак, Hydra решила эту проблему, включив опцию -R, чтобы вы могли возобновить атаку с этой позиции, а не начинать с самого начала.
hydra -L users.txt -P pass.txt 192.168.1.141 ftp
hydra -R
Сначала я начал атаку с помощью первой команды, затем остановил атаку, нажав CTRL + C, а затем с помощью второй команды возобновил атаку.
Генерация пароля с использованием различного набора символов
Для генерации паролей с использованием различного набора символов вы можете использовать опцию -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 он показал успех.
Чтобы вы лучше поняли, я использовал режим -V, и он подробно отобразил результаты.
Атака на определенный порт, а не порт по умолчанию
Сетевые администраторы иногда меняют номер порта по умолчанию для некоторых служб из соображений безопасности. В предыдущих командах 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
Итак, чтобы выполнить, сначала я попытался запустить сканирование nmap на хосте. И на скриншоте показаны все открытые порты, где ssh находится на порту 2222. Итак, я попытался выполнить команду гидры с параметром -s и номером порта.
Я брутфорсил службу ssh, указав номер порта 2222.
Здесь он нашел действительные записи с пользователем 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 действительных хоста, имя пользователя и пароль с успехом.
Теперь в приведенной выше команде я использовал параметр -M для нескольких хостов, поэтому очень много времени требуется для отображения всех попыток, имевших место во время атаки, для этой в медузе была предоставлена опция -F, чтобы атака завершилась, после первой найденной пары логин/пароль для любого хоста.
hydra -L users.txt -P pass.txt -M hosts.txt ftp -F
Использование комбинированных записей
Этот инструмент дает вам уникальный параметр -C для использования комбинированных записей. Во-первых, вам нужно создать файл, содержащий данные в формате "логин:пароль", разделенные двоеточием, а затем вы можете использовать параметр -C, указав имя файла, и выполнить атаку методом грубой силы вместо использования параметров -L/-P. отдельно. Таким образом, атака может быть быстрее и даст желаемый результат за меньшее время.
cat userpass.txt
hydra -C userpass.txt 192.168.1.141 ftp
Итак, я создал файл userpass.txt с помощью команды cat и ввел данные в формате "логин: пароль". Затем я использовал опцию -C в команде гидры, чтобы начать атаку.
Конкуретное тестирование при нескольких логинах
Если вы хотите протестировать несколько входов в систему одновременно, для этого вы можете использовать опцию -t, указав число, и, следовательно, гидра будет выполнять брутфорс одновременно.
hydra -L users.txt -P pass.txt 192.168.1.141 ftp -t 3 -V
Как показано на снимке экрана, одновременно выполняются три попытки, три пароля проверяются одновременно с запуском пользователя на хосте 192.168.1.141, так как вы можете наблюдать дочерние изменения 0, 1,2, что означает, что он одновременно делает три попытки и печатает 3 из них одновременно.
Брутфорс формы входа по HTTP
Форма Hydra может использоваться для проведения грубой атаки на простые веб-формы входа в систему, для которых требуются переменные имени пользователя и пароля либо с помощью запроса GET, либо POST. Для тестирования я использовал dvwa (чертовски уязвимое веб-приложение), у которого есть страница входа. На этой странице используется метод POST, поскольку я отправляю некоторые данные.
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.
Итак, для пароля: пароль успешно подошел и обошел страницу входа. Теперь я выполнил грубую силу в поле имени пользователя и пароля, указав уровень безопасности как "низкий". И с помощью плагина редактора файлов 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”
Я просмотрел исходный код страницы, и из этого я узнал, что страница использует метод GET, и поэтому модуль http-GET-form, как указано в приведенной выше команде
Как на скриншоте, команда успешно выполнена, и я получил правильный логин и пароль.
Сервисный модуль о информации об использовании
Как обсуждалось ранее во введении, все сервисы, поддерживаемые гидрой, если вы хотите проверить один раз, просто введите гидра -h, и вы получите список сервисов, поддерживаемых гидрой. Итак, чтобы получить подробную информацию об использовании, Hydra предоставляет опцию -U.
hydra http-get-form -U
Здесь 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
И эта команда отработала хорошо и показала, что найден 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
Первый не сработал, так как хост 192.168.1.141 защитил ftp, а второй сработал и показал нам найденный действующий пароль. Таким образом, вы можете выполнять атаки грубой силы на хосты, на которых открыты защищенные службы.
Поддержка прокси
Теперь давайте обсудим, как гидра атакует хосты с включенным прокси. Сначала я попытался выполнить ту же команду с параметрами -l -p на хосте 192.168.1.141 на ftp-сервисе и обнаружил, что пароль не найден. Следовательно, я начал сканирование nmap для хоста и обнаружил, что список служб и портов открыт. Итак, на порту 1080 был установлен прокси "socks5" без какой-либо аутентификации.
Неаутентифицированный прокси
Hydra предоставляет два разных способа поддержки прокси. Я пробовал оба способа. Используйте скриншоты для лучшего понимания. Давайте обсудим первый способ
Переменная среды
Чтобы включить прокси, я использовал эту команду:
export HYDRA_PROXY=socks5://192.168.1.141:1080
А затем использовал следующую команду и получил 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
Аутентифицированные прокси
Я получил нужный пароль 123 для хоста. В приведенной выше атаке не было включено никакой аутентификации. Теперь я попробовал прокси с включенной аутентификацией.
Чепочки прокси
Я попытался перебрать цель с помощью проксичейнов, но мне было отказано, потому что на прокси была включена аутентификация.
proxychains hydra -l ignite -p pass.txt 192.168.1.141 ftp
Итак, я добавил имя пользователя и пароль в файл /etc/proxychains4.conf
cat /etc/proxychains4.conf
Просто посмотрите на скриншот для лучшего понимания. Затем с помощью проксичейнов я начал атаковать с помощью приведенной ниже команды.
proxychains hydra -l ignite -P pass.txt 192.168.1.141 ftp
Следовательно, после выполнения этой команды был найден правильный пароль для хоста с включенным прокси.
Переменные среды
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
Примечание. Для настройки прокси я взял статью https://www.hackingarticles.in/penetration-testing-lab-setup-microsocks
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/a-detailed-guide-on-hydra/
Последнее редактирование: