Что такое метасплойт ?
Метасплойт (а правильно говорить о метасплойте как о проекте) – это именно проект в области компьютерной безопасности, направленный на информирование пользователей (в первую очередь владельцев, разработчиков и администраторов) сетей и ресурсов о возможных уязвимостях в системе безопасности и помогающий в тестировании систем и сетей с целью закрытия в дальнейшем дыр в их безопасности и защиты от эксплойтов. Для разработки метасплойтов существует специальная среда под названием Metasploit Framework. Последняя вылилась в своеобразный подпроект, представляющий собой программную среду или платформу для разработки и использования эксплойтов на удалённой машине. Вопрос использования платформы и применения проекта в целом достаточно скользкий, так как среда, призванная к проведению исследовательской деятельности системных администраторов сети в области защищённости сетей с успехом используется хакерами для разработки и внедрения новейших эксплойтов для получения неавторизованного доступа к ресурсам.
Metasploit Framework с момента изобретения в 2003 претерпела некоторые изменения, и до нас дошла со свободно распространяемой лицензией в бесплатном и коммерческом вариантах. В оба варианта включено множество готовых эксплойтов, которые помогут справиться с обнаружением известных уязвимостей. Отлично запускается на Unix и Windows системах, имеет несколько интерфейсов на выбор пользователя, в том числе в виде окна браузера.
Перед работой в среде, конечно, необходимо собрать максимум информации о компьютере, так что необходимо пользоваться полным набором сетевых и портовых сканеров, так что над выбором эксплойта и пэйлоуда придётся потрудиться.
Да вот здесь:
https://www.metasploit.com/download/
Но не торопитесь. Также платформа входит в состав некоторых свободно распространяемых сборок систем на бесплатной и свободной лицензии. С такой мы и будем знакомиться на странице блога в разделе Линукс. В состав принимающей участие во множестве экспериментов Кали Линукс эта среда входит совершенно бесплатно.
Знакомство с понятием ШЕЛЛ.
В зависимости от типа эксплойта, после того как экплойт претвориться в жизнь, мы будем иметь дело либо с удалённым шеллом (Remote shell) и метр-шеллом (Meterpreter shell).
Удалённый шелл – компьютерная программа из командной строки (терминала), которая может исполнять команды на удалённом компьютере, словно бы вы находились за его клавиатурой. Это своеобразный удалённый Рабочий стол (так он называется в Windows). Стандартный шелл применяется в случаях, если хакер собирается исполнять на компьютере жертвы стандартные команды. Однако если речь идёт о комплексных манипуляциях в текущей сессии и исполнении команд с дополнительными флагами, будет использован шелл Метерпретер.
С метр-шеллом немного интереснее. Meterpreter shell предлагает уже целую кучу готовых программных решений. В их числе утилиты и скрипты для сбора информации по удалённому компьютеру, инструменты контроля над устройствами типа микрофон или вебкамера и т.п. И с развитием техник взлома интерес к готовым решениям, которые только разрастаются и совершенствуются, всё больше. А теперь об описанных выше шагах чуть подробнее.
Поиск и конфигурация эксплойта
Подразумеваю, что вы уже в Кали. Запускаем Метасплойт и даём команду на отображение известных эксплойтов. Это команда
search
search cve:2017
search MS
search Netgear
Или, вернувшись к одному из предыдущих окон, обнаружить к оборудованию подходящий эксплойт и также его применить:
и сразу проверим, как его применять и к чему привязать, используя знакомый нам флаг info в контексте эксплойта:
Направить метасплойт в нужное русло нам поможет команда set. Команда в msf примет вид
set имя_переменной её_значение
Но чтобы узнать, какие переменные для эксплойта существуют, можно использовать команду show options
Раздел Module options, знакомый нам по окну команды с флагом info, показывает, какую конфигурацию можно применить в плане выбора цели. Так, модуль сразу указывает на то, что эсплойт применяется против уязвимости с применением этих ОБЯЗАТЕЛЬНЫХ опций (готовые к работе выделены флагом yes, те, что на no вами ещё не настроены). То есть для осуществления эксплойта пентестер указал:
Завершим картинку в общих чертах. Запуск эксплойта в нашем случае примет примерно такой вид:
exploit(netgear_nms_rce) use msf exploit(netgear_nms_rce) set RHOST 10.10.10.10 set RPORT 8080 set TARGETURI exploit -j
На ус команды, описанные выше, мотать не нужно. Более подробнее информация будет дана позже.
Зачем нам доступ к чужому компьютеру, если мы ничего там не натворим? И для этой цели понадобится пэйлоуд. Применимо к теме метасплойта, пэйлоуд – именно та часть зловредного программного обеспечения, направленного на изменение функционала системы. В то время, как другая часть программы-вредоноса может быть направлена на дополнительные функции (например, копирование и тиражирование самого себя; речь идёт о компьютерном вирусе). Как понимаете, пэйлуд можно вычленять в отдельный код и использовать в разных вариантах.
Работая в среде Metasploit, можно посмотреть на готовые варианты пэйлоудов применимо к выбранным эксплойтам. Это делается командой
show payloads
в выбранном вами варианте эксплойта. Ещё вариант – в выбранном эксплойте пишем
set payload
и закрепляем, дважды нажав по клавише Tаb. Metasploit спросит, не хотите ли вы посмотреть всех… Пэйлоудов. И обычно терминал Metasploit-а выводит информацию по пэйлоудам в формате Operating System/Shell Type – Операционная система/Тип шелла. Например
set payload/windows/shell_reverse_tcp
Остаётся выбрать нужную ОСь и понравившийся тип пэйлоуда. Самые популярные типы пэйлоудов это и есть шеллы, о которых мы говорили выше (удалённый шел и метерпретер шел или метер-шелл).
Выбор пэйлоудов из кэша среды очень широк. Так же как и выбор средств, с помощью которых система жертвы будет “сливать” хакеру нужную информацию. Типичные шеллы с основой reverse_tcp из команды выше для того и существуют: исполняясь на удалённой системе, они сообщают злоумышленнику данные, часто не вызывая подозрений у системного фаервола.
Пока всё. Успехов