Osmedeus — инструмент наступательной безопасности

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Osmedeus - это фреймворк, позволяющий автоматизировать этап разведки при проведении тестирований на проникновение, также подходящий для выстраивания Vulerability management. Основной подход, которому следовали разработчики при создании инструмента, - не заменить все имеющиеся утилиты, а наоборот объединить их для максимальной эффективности и гибкости настроек.

Структура Osmedeus

Состоит из двух компонентов:

  • Core Engine (написан на Go, отвечает за обработку сложной логики и позволяет оптимизировать процесс работы);

  • Workflow (набор YAML файлов, которые будут выполняться в заданном порядке);

Соответственно, как мы видим на изображении, workflow состоит из определенных модулей, которые могут запускаться последовательно или параллельно, а также использовать в качестве входных данных вывод с предыдущих этапов сканирований.

Workflow

Default

Прежде, чем переходить к созданию собственного рабочего процесса, изучим, что нам уже доступно для использования после стандартной установки, сделать это можно при помощи команды osmedeus worflow list :

Default Workflow
Default Workflow

Всего представлено 10 workflow для различных целей: поиск поддоменов, определение открытых портов, выявление уязвимостей и пр.

Более подробно узнать о каждом workflow можно непосредственно в директории их расположения ~/osmedeus-base/worflow/. В YAML-файле каждого рабочего процесса будет храниться информация об используемых модулях, порядке их запуска, а также различные дополнительные параметры. Например, содержимое cidr.yaml (определяет workflow c одноименным названием - CIDR):

Модули

Содержимое же дефолтных модулей расположено в ~/osmedeus-base/workflow/default-modules, в них можно найти конкретные шаги по запуску утилит. Выглядит это примерно так:

steps: # all the steps will run in serial
  - commands: # unix command and it will be run in parallel
      - "unix command 1 here"
      - "unix command 2 here"

Итого, мы определили - flow состоит из нескольких модулей и определяет порядок их запуска. Модуль - составная часть flow, определяет steps для запуска утилит и иных команд. Steps - это самая "маленькая" часть (атом Osmedeus), из которой выстраивается модуль, и определяющая конкретную команду.

Сканирование

Запускать сканирование можно используя workflow целиком либо при помощи любого из модулей самостоятельно.

Например, выполним анализ репозитория OWASP Juice Shop с использованием модуля repo-scan:

Работа модуля завершена успешно, по результатам сформировано 3 отчета, каждая соответствует используемой утилите, - gitleaks, trufflehog, semgrep.

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

  • Бот/канал в Telegram;

  • Почта/Slack/Discord и пр. (например, при помощи консольного инструмента Notify от ProjectDiscovery);

  • ASPM-системы, например, DefectDojo (сделать это можно при помощи обычного cURL запроса, размещенного в отдельный шаг модуля либо определенного в отдельном модуле, созданного для экспорта данных);

Заключение

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

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

Источник: https://habr.com/ru/articles/828608/


Интересные статьи

Интересные статьи

О том, как необходимо защищать облака, написано довольно много различных публикаций. В этой статье мы начнем рассматривать рекомендации по обеспечению кибербезопасности облаков, которые предлагает док...
Разработчик Малик Пиара представил открытого инструментария для изучения логики LogiCola 3.0. Исходный код проекта опубликован на GitHub под лицензией MIT. Новая версия LogiCola с открытым исходным ко...
Это дополнение к основной статье "Как стать гуру или Wi-Fi Cheat Sheet". Я увидел много откликов по данной теме как положительных, так и отрицательных. Кому-то не нравится подача (да, есть свои минусы...
Microsoft выпустила плановые обновления безопасности, закрывающие 117 уязвимостей, из них 13 уязвимостей были классифицированы как «Критические» и 103 уязвимости как «Важ...
Примерно год назад мы в DataLine запустили сервис для поиска и анализа уязвимостей в ИТ-приложениях. В основе сервиса – облачное решение Qualys, про работу которого мы уже рассказывал...