Брутфорс ssh kali linux

Brute-force встроенными средствами Kali Linux

Рано или поздно у всех администраторов возникает необходимость в подборе паролей к своим сервисам, не важно в связи с чем возникла необходимость (новое рабочее место, плохая память, бывший сотрудник насолил и т.п.).

Хочу Вам представить статью о том, как можно попытаться востановить свои утерянные пароли к сервисам. Статья схабрена и огромное спасибо авторам из Pentestit.

Дисклеймер: Данная статья написана только в образовательных целях и автор не несёт ответственности за ваши действия. Ни в коем случае не призываем читателей на совершение противозаконных действий. Материал размещен только с целью ознакомления и принятию мер по обеспечению безопасности. Использование материалов в противоправных и противозаконных запрещено законом РК.

Ликбез

Brute-force (атака полным перебором) – метод решения математических задач, сложность которого зависит от количества всех возможных решений. Сам же термин brute-force обычно используется в контексте хакерских атак, когда злоумышленник пытается подобрать логин/пароль к какой-либо учетной записи или сервису.

Рассмотрим инструменты, которые можно использовать для выполнения brute-force атак на SSH и WEB-сервисы, доступные в Kali Linux (Patator, Medusa, Hydra, Metasploit), а также BurpSuite и даже самый известный сетевой сканер nmap.

Brute-force SSH

Для примера возьмем тестовую машину 192.168.60.50 и попробуем подобрать пароль пользователя test по SSH.

Мы будем использовать популярные пароли из стандартного словаря rockyou.txt. Этот и другие словари доступны в свободном доступе на гитхабе.

Patator

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

где:
ssh_login — необходимый модуль
host – наша цель
user – логин пользователя, к которому подбирается пароль или файл с логинами для множественного подбора
password – словарь с паролями
-x ignore:mesg=’Authentication failed’ — команда не выводить на экран строку, имеющую данное сообщение. Параметр фильтрации подбирается индивидуально.

Hydra

Для подбора пароля используя Hydra выполним команду:

где:
-V – показывать пару логин+пароль во время перебора
-f – остановка как только будет найден пароль для указанного логина
-P – путь до словаря с паролями
ssh://192.168.60.50 – указание сервиса и IP-адрес жертвы

Medusa

Для подбора пароля с использованием Medusa выполним команду:

где:
-h – IP-адрес жертвы
-u – логин
-P – путь к словарю
-M – выбор модуля
-f – остановка после нахождения валидной пары логин/пароль
-v – настройка отображения сообщений на экране во время процесса подбора

Metasploit

Произведем поиск инструмента для проведения brute-force атаки по SSH:

search ssh_login и получили ответ:

Для просмотра необходимых параметров, воспользуемся командой show options. Для нас это:
rhosts – IP-адрес жертвы
rport – порт
username – логин SSH
userpass_file – путь до словаря
stop_on_success – остановка, как только найдется пара логин/пароль
threads – количество потоков

Указание необходимых параметров производится через команду “set“.

Указав необходимые параметры набираем команду “run” и ждем.

Противодействие

Ограничить количество устанавливаемых соединений с использованием межсетевого экрана.

Пример настройки iptables:

Такое правило установит ограничение доступа к SSH для каждого IP-адреса до 1 соединения в секунду, значительно усложнив перебор. Также эффективным решением может быть использование двухфакторной аутентификации (например, используя eToken) или аутентификации с использованием ключевой пары, а также использование ACL на основе IP-адресов.

Brute-force WordPress

Рассмотрим другой пример — подбор пароля окна авторизации веб-формы.

Для примера будем подбирать пароль от учетной записи администратора wordpress.

Читайте также:  Где можно создать таблицу windows

BurpSuite

Для начала нам необходимо понять, как происходит процесс авторизации. Для этого мы будем использовать BurpSuite. Нам необходимо попробовать авторизоваться с любым паролем и логином, чтобы посмотреть какие запросы проходят через BurpSuite.

Отлично, мы увидели POST запрос для авторизации с ним мы и будем работать.
В BODY указано какой логин и пароль проверялись, а значит, мы можем попробовать самостоятельно подставить нужные нам значения.
Передаем этот запрос в Intruder и там выбираем необходимые параметры для атаки.

В пункте Payload Positions тип атаки оставляем sniper, но для проверки оставляем только параметр pwd. Таким образом, при атаке будет изменяться только этот параметр.

Загружаем необходимый словарь и начинаем атаку.

Из поведения веб-приложения мы видим, что неверный пароль возвращает код ответа 200. После перебора словаря, видим, что один из паролей дал ответ с кодом 302 — он и является верным.

Данный метод перебора занимает намного больше времени, чем при использовании Patator, Hydra, Medusa и т.д.

Даже с учетом того, что мы взяли небольшой словарь, BurpSuite перебирал словарь около 40 минут.

Hydra

Попробуем подобрать пароль с помощью Hydra.
Как мы уже знаем, при неверной авторизации возвращается код 200, а при успешной – 302. Попробуем использовать эту информацию.
Для запуска используем команду:

Здесь мы указываем обязательные параметры:
-l – имя пользователя
-P – словарь с паролями
-t – количество потоков
http-post-form – тип формы, у нас POST.
/wp-login.php – это URL страницы с авторизацией
^USER^ — показывает куда подставлять имя пользователя
^PASS^ — показывает куда подставлять пароль из словаря
S=302 – указание на какой ответ опираться Hydra. В нашем случае, ответ 302 при успешной авторизации.

Patator

Как мы уже знаем, при неудачной авторизации возвращается код 200, а при удачной – 302. Будем использовать тот же принцип, что и с Hydra:
Запуск производится командой:

http_fuzz – модуль для brute-force атаки http
url – адрес страницы с авторизацией
FILE0 — путь до словаря с паролями
body – информация, которая передается в POST запросе при авторизации
-t — количество потоков
-x – В данном случае мы указали команду не выводить на экран сообщения строки, содержащие параметр с кодом 200
accept_cookie – сохранение параметра cookie и передачи его в следующий запрос
Как итог – нам удалось подобрать пароль.

Nmap

Утилита Nmap позволяет позволяет в том числе производить подбор паролей для веб-форм авторизации, если использовать скрипт http-wordpress-brute с соответствующими аргументами:
–script-args – добавление аргументов
user или userdb – логин или файла с логинами
pass или passdb — указание пароля или словаря
thread – количество потоков
firstonly=true – выводить результат после первого же правильного пароля

Противодействие

Ограничить (усложнить) brute-force атаки на web-приложения можно средствами iptables (по аналогии с SSH) и средствами nginx.

Для этого необходимо создать зону лимитов:

и задействовать ее:

Такие настройки позволят ограничить количество запросов с одного IP-адреса до 40 в секунду.

Усложнить задачу перебора можно используя следующие методы:
— Применение межсетевого экрана и прочего ПО для ограничения количества обращений к защищаемому сервису. О том, как мы используем машинное обучение для выявления подобных атак (в том числе распределенных), можно почитать в статье.
— Использование средств, препятствующих быстрой проверке корректности ключа (например, Captcha).

Заключение

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

Подобные рекомендации (как и рекомендации по безопасной веб-разработке) мало кто соблюдает, поэтому необходимо использовать различные программные решения, позволяющие:
— ограничить подключение по IP-адресу, или, если это невозможно, ограничить одновременное количество соединений с сервисом (средствами iptables, nginx и прочими);
— использовать двухфакторную аутентификацию;
— выявлять и блокировать подобные атаки средствами SIEM, WAF или другими (например, fail2ban)

Читайте также:  Квалифицированная электронная подпись mac os

— Ну и если не убедительно, нет времени, много работы, бумажная безопасность превыше всего, чето не охото, как то лениво, многабукаф и т.п. отмазки, то просто воткните рядом с вэб сервисом файл htaccess который поможет Вам собрать все сопли и отбрить ненужные запросы.

Не нарушайте законы, подписывайтесь на наш канал, становитесь умнее и прогресивнее…

Источник

Заметка Быстрый брутфорс протокола SSH или как использовать устаревшую атаку сейчас

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

Брутфорс SSH пароля имея на руках имя пользователя и список возможных паролей, как такое можно провернуть в 2021 году, когда есть куча инструментов защиты, такие как fail2ban. У меня есть ответ. Да, конечно же сервера крупных компаний имеют огромную защиту от брутфорса aka подбора пароля, но нас интересует больше применение тактик подбора на устройствах с пониженной защитой. Итак, компания EntySec разработала быстрый брутфорсер для таких целей.

Вот этот инструмент с открытым кодом — EntySec Shreder

Скажу немного о преимуществах данного инстпумента:

  1. Очень быстрый подбор пароля, один пароль всего за 0,1 секунды.
  2. Оптимизирован для больших списков паролей, Shreder пробует 1000 паролей за 1 минуту 40 секунд.
  3. Простое использование интерфейса командной строки и API.

Представьте, перед вами стоит задача подобрать пароль к малине aka Raspberry PI, вы знаете что имя пользователя это pi, но вот пароль вы просто забыли. Единственное что вы помните о пароле, то это то, что он был достаточно простым.

Перейдем непосредственно к установке данного инструмента.

pip3 install git+https://github.com/EntySec/Shreder

После завершения процесса установки пакета, стоит проверить что все корректно установилось.

Отлично, теперь возьмем, адрес нашего устройства, имя пользователя SSH и список паролей (более популярный — rockyou.txt).

shreder -u pi -l rockyou.txt

В заключение могу сказать, что не смотря на то, как много средств защиты от брутфорса существует, не все их используют. Правильно кто-то сказал — «Человек и есть уязвимость».

Источник

Инструменты 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 : Модуль тестирования
Читайте также:  Где хранятся стандартные изображения windows 10

Модули, которые будут реализованы в будущем:

  • 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«.

Источник

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