Что такое метасплойт и как он работает?

Что такое метасплойт ?

Метасплойт (а правильно говорить о метасплойте как о проекте) — это именно проект в области компьютерной безопасности, направленный на информирование пользователей (в первую очередь владельцев, разработчиков и администраторов) сетей и ресурсов о возможных уязвимостях в системе безопасности и помогающий в тестировании систем и сетей с целью закрытия в дальнейшем дыр в их безопасности и защиты от эксплойтов. Для разработки метасплойтов существует специальная среда под названием Metasploit Framework.  Последняя вылилась в своеобразный подпроект, представляющий собой программную среду или платформу для разработки и использования эксплойтов на удалённой машине. Вопрос использования платформы и применения проекта в целом достаточно скользкий, так как среда, призванная к проведению исследовательской деятельности системных администраторов сети в области защищённости сетей с успехом используется хакерами для разработки и внедрения новейших эксплойтов для получения неавторизованного доступа к ресурсам.

метасплойт



Metasploit Framework с момента изобретения в 2003 претерпела некоторые изменения, и до нас дошла со свободно распространяемой лицензией в бесплатном и коммерческом вариантах. В оба варианта включено множество готовых эксплойтов, которые помогут справиться с обнаружением известных уязвимостей. Отлично запускается на Unix и Windows системах, имеет несколько интерфейсов на выбор пользователя, в том числе в виде окна браузера.

Как пользоваться Metasploit Framework или что умеет метасплойт ? Основные шаги в использовании среды.

  • Ищем и конфигурируем эксплойт. Формируется эксплойт на основании данных, полученных в результате сканирования и точного местоположения удалённого компьютера (цели эксплойта). В сборке метасплойта на сегодняшний день чуть меньше 1000 готовых эксплойтов, которые помогут обойти различные сервисы по скрытию реального адреса машины. Один из многочисленных примеров предварительного сканирования и проникновения на Windows жертвы описан в статье Что такое эксплойт?
  • Выбор и окончательное формирование пэйлоуда (payload  — особый вид данных, передаваемых по сети, и исполняемого по результатам успешного проникновения в систему противника).  В качестве пэйлоуда может быть, например, удалённый шелл.
  • Выбор техники кодирования. Пэйлоуд должен быть закодирован так, чтобы система противодействия внедрению IPS не смогла его идентифицировать.
  • Собственно, исполнение эксплойта и подключение к удалённому компьютеру
  • Дальнейшие действия определены целями злоумышленника

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

Где скачать Metasploit Framework?

Да вот здесь:

http://www.metasploit.com/download/

Но не торопитесь. Также платформа входит в состав некоторых свободно распространяемых сборок систем на бесплатной и свободной лицензии. С такой мы и будем знакомиться на странице блога в разделе Линукс. В состав принимающей участие во множестве экспериментов Кали Линукс эта среда входит совершенно бесплатно.

Знакомство с понятием ШЕЛЛ.

В зависимости от типа эксплойта, после того как экплойт претвориться в жизнь, мы будем иметь дело либо с удалённым шеллом (Remote shell) и метр-шеллом (Meterpreter shell).

Удалённый шелл — компьютерная программа из командной строки (терминала), которая может исполнять команды на удалённом компьютере, словно бы вы находились за его клавиатурой. Это своеобразный удалённый Рабочий стол (так он называется в Windows). Стандартный шелл применяется в случаях, если хакер собирается исполнять на компьютере жертвы стандартные команды. Однако если речь идёт о комплексных манипуляциях в текущей сессии и исполнении команд с дополнительными флагами, будет использован шелл Метерпретер.

С метр-шеллом немного интереснее. Meterpreter shell предлагает уже целую кучу готовых программных решений. В их числе утилиты и скрипты для сбора информации по удалённому компьютеру, инструменты контроля над устройствами типа микрофон или вебкамера и т.п. И с развитием техник взлома интерес к готовым решениям, которые только разрастаются и совершенствуются, всё больше. А теперь об описанных выше шагах чуть подробнее.

Поиск и конфигурация эксплойта

Подразумеваю, что вы уже в Кали. Запускаем Метасплойт и даём команду на отображение известных эксплойтов. Это команда

search

поиск эксплойтовТерминал вернёт информацию по эксплойтам в алфавитном порядке. Это не всегда удобно, потому поиск можно уточнить флагами на поиск по:

  • словарю Общих уязвимостей и незакрытых дыр в безопасности (CVE ID). Можно сразу указать желаемый год:
search cve:2017

search cve

  • бюллетеню безопасности Майкрософт
search MS
  • прямо по желаемой программе или производителю ПО или устройства
search Netgear

уязвимости nergear

  • и, выцепив интересненькое, получить по этому поводу всю об уязвимости информацию, добавив перед уязвимостью info (ссылки на ещё более подробную инфу по этому вопросу будут в том же терминале). Взгляните:

конфигурации эксплойтаТам всё есть и ждёт вашего анализа и применения. Но перед тем, как перейти в конфигурации эксплойта, возьмём уязвимость в оборот командой use

команда use для конфигурации эксплойта

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

использовать эксплойт

и сразу проверим, как его применять и к чему привязать, используя знакомый нам флаг info в контексте эксплойта:

информация по эксплойту

Конфигурация эксплойта: установка опций

Направить метасплойт в нужное русло нам поможет команда set. Команда в msf примет вид

set имя_переменной её_значение

Но чтобы узнать, какие переменные для эксплойта существуют, можно использовать команду show options

опции эксплойта

Раздел Module options, знакомый нам по окну команды с флагом info, показывает, какую конфигурацию можно применить в плане выбора цели. Так, модуль сразу указывает на то, что эсплойт применяется против уязвимости с применением этих ОБЯЗАТЕЛЬНЫХ опций (готовые к работе выделены флагом yes, те, что на no вами ещё не настроены). То есть для осуществления эксплойта пентестер указал:

  • адрес удалённой системы (RHOST)
  • удалённый порт 8080 (RPORT)
  • в качестве индетификатора цели (TARGETURI) — путь к приложению в системе или путь к оборудованию жертвы (например, если атакуется роутер, здесь указывается полный путь в виде адреса к уязвимому файлу)

Завершим картинку в общих чертах. Запуск эксплойта в нашем случае примет примерно такой вид:

exploit(netgear_nms_rce)

use msf exploit(netgear_nms_rce)

set RHOST 10.10.10.10

set RPORT 8080

set TARGETURI http://10.10.10.10/xyz.conf

exploit -j

На ус команды, описанные выше, мотать не нужно. Более подробнее информация будет дана позже.

Выбор и формирование пэйлоуда

Зачем нам доступ к чужому компьютеру, если мы ничего там не натворим? И для этой цели понадобится пэйлоуд. Применимо к теме метасплойта, пэйлоуд — именно та часть зловредного программного обеспечения, направленного на изменение функционала системы. В то время, как другая часть программы-вредоноса может быть направлена на дополнительные функции (например, копирование и тиражирование самого себя; речь идёт о компьютерном вирусе). Как понимаете, пэйлуд можно вычленять в отдельный код и использовать в разных вариантах.

Работая в среде Metasploit, можно посмотреть на готовые варианты пэйлоудов применимо к выбранным эксплойтам. Это делается командой

show payloads

в выбранном вами варианте эксплойта. Ещё вариант — в выбранном эксплойте пишем

set payload

и закрепляем, дважды нажав по клавише Tаb. Metasploit спросит, не хотите ли вы посмотреть всех… Пэйлоудов. И обычно терминал Metasploit-а выводит информацию по пэйлоудам в формате Operating System/Shell TypeОперационная система/Тип шелла. Например

set payload/windows/shell_reverse_tcp

Остаётся выбрать нужную ОСь и понравившийся тип пэйлоуда. Самые популярные типы пэйлоудов это и есть шеллы, о которых мы говорили выше (удалённый шел и метерпретер шел или метер-шелл).

Выбор пэйлоудов из кэша среды очень широк. Так же как и выбор средств, с помощью которых система жертвы будет «сливать» хакеру нужную информацию. Типичные шеллы с основой reverse_tcp из команды выше для того и существуют: исполняясь на удалённой системе, они сообщают злоумышленнику данные, часто не вызывая подозрений у системного фаервола.

Пока всё. Успехов

Запись опубликована в рубрике Полезные программы, Чтобы знать. Добавьте в закладки постоянную ссылку.

Добавить комментарий