image
 
Metasploit Framework — это наиболее известный инструмент для создания, тестирования и использования эксплоитов. Позволяет производить эксплуатацию и постэксплуатацию уязвимостей, доставку «полезной нагрузки» (payloads) на атакуемую цель.

Metasploit Framework 5.0 — наиболее крупное обновление фреймворка с 2011 года.

Разработчик Metasploit компания Rapid7 порадовала многих специалистов по обе стороны баррикад информационной безопасности, выпустив новый релиз своего продукта. Часть фич, например, поддержка GoLang (и это очень здорово!) для написания собственных модулей, была анонсирована буквально месяц назад в dev-ветке продукта.

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

Основные нововведения


Пользователи Metasploit Framework могут запускать базу данных PostgreSQL отдельно как RESTful-сервис, который позволяет нескольким консолям Metasploit и внешним инструментам взаимодействовать с ней.

Повышена производительность при параллельной обработке запросов к базе данных и основных действиях msfconsole за счет выгрузки и оптимизации некоторых массовых операций в службу базы данных.

JSON-RPC API позволяет интегрировать Metasploit с дополнительными инструментами и языками.

Добавлена ??общая структура веб-служб, предоставляющая доступ к базе данных и API-интерфейсам автоматизации; эта структура поддерживает расширенную аутентификацию и параллельные операции.

Функция metashell позволяет пользователям запускать фоновые сеансы и взаимодействовать с шелл-сессиями без необходимости обновления до сессии Meterpreter с использованием функции background.

Внешние модули добавляют поддержку Metasploit для Python и Go в дополнение к Ruby.

Любой модуль может быть направлен на несколько хостов. Для этого нужно задать через параметр RHOSTS диапазон IP-адресов или указать ссылку на файл через параметр file://. Metasploit теперь рассматривает RHOST и RHOSTS как идентичные параметры.

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

Добавлены evasion-модули и библиотеки для создания обфусцированной полезной нагрузки без необходимости использования внешних инструментов.

Что хочется отметить


Новый JSON-RPC API от Metasploit станет отличным дополнением для пользователей, которые хотят интегрировать Metasploit с новыми инструментами и языками. Metasploit долгое время поддерживал автоматизацию через собственный уникальный сетевой протокол, но его уникальность также означала, что его было сложнее тестировать или отлаживать с помощью стандартных инструментов, таких, как «curl».

Добавлена возможность написания шелл-кода на C, что определенно проще и увлекательнее, чем на ассемблере, а с новыми библиотеками Metasploit 5.0 это стало возможным. Есть неплохой whitepaper по данной технологии и написанию собственных шелл-кодов или применению evasion-техник.

Вот пример обфускации пейлоада без использования внешних инструментов:

image

Есть что-то, что трудно портировать для запуска в Metasploit Framework без долгого допиливания? Теперь Metasploit 5.0 включает поддержку трех разных языков модулей: Go, Python и Ruby, это существенно упростит добавление нового функционала.

Несмотря на большое количество новых фич, для обратной совместимости Metasploit 5.0 по-прежнему поддерживает работу только с локальной базой данных или вообще без базы данных, а также, как и ранее, поддерживает оригинальный протокол RPC на основе MessagePack.



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

Комментарии (3)


  1. kITerE
    11.01.2019 17:21
    +1

    Есть что-то, что трудно портировать для запуска в Metasploit Framework без долгого допиливания? Теперь Metasploit 5.0 включает поддержку трех разных языков модулей: Go, Python и Ruby, это существенно упростит добавление нового функционала.

    Ушла последняя (для меня) причина Ruby учить))


    1. uncle_goga
      11.01.2019 20:48

      Не поясните?


      1. kITerE
        11.01.2019 21:09
        +2

        Раньше эксплуатация уязвимостей описывалась только Ruby-модулями. Соответственно, что бы добавить что-то свое (PoC эксплуатации) нужно было писать на Ruby.
        А больше с этим языком я в своей практике не сталкивался. В следующий раз, при необходимости что-то добавить, я выберу python.