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.
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)
— Ну и если не убедительно, нет времени, много работы, бумажная безопасность превыше всего, чето не охото, как то лениво, многабукаф и т.п. отмазки, то просто воткните рядом с вэб сервисом файл htaccess который поможет Вам собрать все сопли и отбрить ненужные запросы.
Не нарушайте законы, подписывайтесь на наш канал, становитесь умнее и прогресивнее…
Источник
Как взломать почту через Кали Линукс? Майл/Яндекс/Gmail
Zip File, мамкины хакеры. Помните, в прошлом выпуске я обещал рассказать вам о том, как крутые очкастые парни из тёмных подвалов и прокуренных комнат взламывают ваши почтовые ящики? Хоть вы негодники и не собрали 50 лайков, чем сильно огорчили старину Денчика, я всё же решил, что в преддверии выходных приоткрою завесу тайны и покажу, как имея в распоряжении путный словарь, ноут с Kali Linux и немножко терпения, можно получить доступ к абсолютно любой почте.
Майл, Яндекс, Рамблер, Gmail, неважно. Этот способ универсален и применим ко всем сервисам. В связи с этим, сразу предупреждаю, что видео записано исключительно в ознакомительных целях и призвано расширить ваши знания в области информационной безопасности.
А не сподвигнуть вас бежать сломя голову и пытаться ломануть электронку ваших ближайших знакомых. Ведь почта, нынче – это буквально ключ от всего. Имея доступ к e-mail’у злоумышленник может восстановить пароли от соц. сетей, слить личную переписку и даже получить доступ ко всем контактам из телефонной книги.
Эт в случае, если они привязаны к гугловской почте. Короче ладно, не будем долго запрягать. Словарик в зубы, запускаем Kali’шку и погнали ломать.
Шаг 1. Открываем новое окно терминала.
Шаг 2. Вводим команду для обновления списка пакетов. «sudo apt-get update».
Шаг 3. Запускаем графическую оболочку скрипта hydra. Это многофункциональный брутфорсер паролей с помощью которого мы сейчас попробуем подобрать passдля одного из моих тестовых ящиков на mail.ru.
Шаг 4. В появившемся окне, на вкладке «Target» прописываем в строке «Single Target» адрес smtp-сервера исходящей почты нужного сервиса. Порт 465 и протокол выбираем соответственно SMTP. Ставим галочку использовать SSL-соединение. И отмечаем пункт, отвечающий за отображение результатов брутфорса в реальном времени.
Шаг 5. На соседней вкладочке «Password» указываем ящик, на который будет производиться атака. В пункте Password листа указываем путь к словарю. Ссылку на основные словарики, используемые мной, ищите в описании. Ну а вообще, найти их довольно просто. Тот же форум античат доступный в клирнете к вашим услугам. На всякий случай ещё ставим галочку отвечающую за проверку логина в качестве возможного пароля и идём дальше.
Шаг 6. В «Tuning» меняем метод на HTTP.
Шаг 7. А на вкладке «Specific» пишем полной адрес почтового сервиса «крышующего» наш ящик.
Шаг 8. Долгожданная последняя вкладка. Выдыхаем, и жмём на «Start». Перебор начался. В случае успешной попытки логина, прога выдаст соответствующее сообщение, говорящее о том, что валидный пароль к данной почте подобран.
Засекли сколько занял взлом? Примерно столько по времени брутятся все ящики, пароль от которых состоит из даты рождения, клички пса или номера мобильного телефона.
Буквально несколько лет назад электронку моего хорошего знакомого ломанули просто из-за красивого ника. И он ооочень долго и упорно доказывал майловскому саппорту, что ящик принадлежит ему уже много лет.
Благо, та история со счастливым концом. Ящик восстановили и передали в руки владельца. Но это только потому, что товарищ сам много лет проработал админом и имея врождённый дар красноречия смог убедить коллег из техподдержки.
А теперь задумайтесь, чтобы было, реши злоумышленник не палиться? Сливал бы по тихой грусти на внешний винт рабочие переписки. Договора, контракты, личные фотографии.
Затем продал бы эту историю за пару долларов в Дарке, а человек при этом так бы и не допёр, где таилась утечка. Поэтому, мой вам совет. Всегда устанавливайте на электронку мега-большой и сложный пароль.
В идеале сконфигурированный с помощью генератора случайных символов. И не забывайте менять его раз в 2-3 недели. Установите двухфакторную аутентификацию, чтобы заходить в ящик только после подтверждения на личном смартфоне.
Ну и до кучи, старайтесь не использовать электронку для решения жизненно-важных вопросов. Личная встреча куда надёжней и безопасней. Однако, увы таковая не всегда возможна. Особенно в наше тяжёлое время.
Друзья, на этом у меня всё. Если впервые зашёл на канал, то сразу после просмотра клацни на колокольчик. Нажмёшь на засранца, и в твоей ленте будут регулярно всплывать годные видосики на тему взлома, информационной безопасности и пентестинга.
С олдов, как водится по лайку. Удачи, успехов, безопасного сёрфинга. Берегите свою электронку. Меняйте пароли, и по возможности обезопасьте себя и своих близких от подобного взлома. Для этого достаточно просто поделиться этим видосом в соц. сетке. Намёк понятен? До новых встреч, ребятки. Всем пока.
Источник