Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ossem-power-up — Инструмент для оценки качества данных, построенный на основе замечательного OSSEM. | Kitploit
Инструменты/GitHubGitHub/hxnoyd/ossem-power-up
Разведка угрозОбучение и ОбразованиеПодобранные РесурсыАнализ Журналов
GitHubhxnoyd/ossem-power-up

ossem-power-up

Инструмент для оценки качества данных, построенный на основе замечательного OSSEM.

Репозиторий
79111 месяц назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

OSSEM

Инструмент для оценки качества данных, построенный на основе потрясающего проекта OSSEM.

Миссия

  • Ответить на вопрос: я хочу начать охоту на техники ATT&CK, какие источники журналов и события наиболее подходят?
  • Создать прозрачность в сильных и слабых сторонах ваших источников журналов
  • Предоставить простой способ оценки ваших журналов

Обзор Power-up OSSEM

Power-up использует Модель данных обнаружения (DDM) OSSEM в качестве основы для оценки качества данных. Основная причина этого — структурированный способ корреляции Источников данных ATT&CK, Сущностей общей информационной модели (CIM) и Словарей данных (событий) друг с другом.

Для тех, кто не знаком со структурой DDM, вот пример:

Как видите, каждая запись в DDM определяет под-источник данных (область), используя абстрактные сущности, такие как процесс, пользователь, файл и т. д. Каждая запись также содержит идентификатор события, к которому применяется эта область. Подробнее об этих сущностях можно прочитать здесь.

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

Измерения качества данных

Power-up оценивает качество данных по пяти различным измерениям:

Каждое измерение оценивается по шкале от 0 (отсутствует) до 5 (отлично).

Покрытие, Своевременность и Хранение

Эти измерения привязаны к каналам данных и распространяются на все события, предоставляемые каналом.

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

Power-up использует resources/dcs.yml для определения канала данных и оценки измерений:

root@kitploit:~
data channel: sysmon
description: мониторинг sysmon
coverage: 2
timeliness: 5
retention: 2
---
data channel: security
description: аудит безопасности Windows
coverage: 5
timeliness: 5
retention: 2

Структура

Чтобы рассчитать, насколько полна структура события, power-up сравнивает стандартные имена словаря данных с полями сущностей (CIM), на которые ссылается запись DDM (источник и назначение).

Поскольку не все поля сущности релевантны (зависит от контекста), power-up использует концепцию профилей для выбора полей, которые должны соответствовать стандартным именам словаря данных. Например:

root@kitploit:~
# Профиль CIM OSSEM
process:
    - process_name
    - process_path
    - process_command_line

Примечание: Пример профиля находится в profiles/default.yml для экспериментов.

Оценка структуры рассчитывается по следующей формуле:

SCORE_PERCENT = (MATCHED_FIELDS / TOTAL_RELEVANT_FIELDS) * 100

Для наглядности пример расчета оценки структуры:

Примечание: Поскольку словарь данных Sysmon Event Id 1 на 100% соответствует релевантным полям сущности, оценка структуры будет равна 5 (отлично).

Оценка структуры переводится в шкалу 0-5 следующим образом:

ПроцентыОценка

Примечание: В зависимости от сценария использования (SIEM, Охота за угрозами, Криминалистика) можно определить разные профили, чтобы оценивать журналы по-разному.

Согласованность

Для расчета согласованности power-up просто вычисляет процент полей, имеющих стандартное имя в словаре данных. Словари данных с большим количеством полей, сопоставленных со стандартным именем, с большей вероятностью будут коррелировать с сущностями CIM.

Оценка согласованности рассчитывается по следующей формуле:

SCORE_PERCENT = (STANDARD_NAME_FIELDS / TOTAL_FIELDS) * 100

Оценка согласованности переводится в шкалу 0-5 следующим образом:

ПроцентыОценка
00
1 до 501
51 до 993
1005

Как использовать

Перед началом

  • Power-up — это Python-скрипт, убедитесь, что выполнили pip install -r requirements.txt
  • Убедитесь, что у вас есть локальная копия репозитория OSSEM

Запуск power-up

root@kitploit:~
$> python3 powerup.py --help
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

usage: powerup.py [-h] [-o OSSEM] [-y OSSEM_YAML] [-p PROFILE] [--excel]
                  [--elastic] [--yaml]

Инструмент для оценки покрытия источников данных ATT&CK, построенный на основе потрясающего OSSEM.

опциональные аргументы:
  -h, --help            показать это справочное сообщение и выйти
  -o OSSEM, --ossem OSSEM
                        путь для импорта OSSEM из markdown
  -y OSSEM_YAML, --ossem-yaml OSSEM_YAML
                        путь для импорта OSSEM из yaml
  -p PROFILE, --profile PROFILE
                        путь к профилю CIM
  --excel               экспортировать DDM OSSEM в excel
  --elastic             экспортировать модели данных OSSEM в elastic
  --yaml                экспортировать модели данных OSSEM в yaml
  --layer               экспортировать модели данных OSSEM в слой навигатора

Как видите, power-up может потреблять данные OSSEM из двух разных форматов:

  • OSSEM markdown — родной формат OSSEM при клонировании из git.
  • OSSEM yaml — суммаризированный формат OSSEM, содержащий только поля данных и немного метаданных. Вы можете использовать power-up для преобразования OSSEM markdown в yaml.

В настоящее время Power-up экспортирует вывод OSSEM в:

  • Yaml — создает структуры OSSEM в yaml в папке output/
  • Excel — создает таблицу DDM OSSEM, обогащенную оценками качества данных, в папке output/
  • Elastic — создает структуру OSSEM в elastic, индексы следующие:
    • ossem.ddm — таблица DDM OSSEM, обогащенная оценками качества данных
    • ossem.cim — записи CIM OSSEM
    • ossem.dds — словари данных OSSEM
    • ossem.dcs — каналы данных OSSEM

Примечание: если не указан путь к файлу профиля, power-up по умолчанию использует profiles/default.yml.

Экспорт в YAML

root@kitploit:~
$> python3 powerup.py -o ../OSSEM --yaml
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

[*] Путь к профилю: profiles/default.yml
[*] Парсинг OSSEM из markdown
[*] Экспорт OSSEM в YAML
[*] Создан output/ddm_20191114_160246.yml
[*] Создан output/cim_20191114_160246.yml
[*] Создан output/dds_20191114_160246.yml

Цель экспорта/импорта в/из YAML — упростить настройку OSSEM. Скорее всего, первое, что вы сделаете, это создадите свои собственные словари данных, а затем добавите новые записи DDM, поэтому YAML облегчит обновления.

Примечание 1: измените resources/config.yml, чтобы указать power-up имена файлов для корректных структур. Затем просто поместите их в папку и передайте аргумент OSSEM_YAML.

Примечание 2: power-up не парсит все объекты OSSEM в YAML, только поля данных и некоторые метаданные (например, описание). Причина в том, что я хотел сделать объект YAML максимально компактным, только с теми данными, которые нужны для оценки качества.

Экспорт в EXCEL

root@kitploit:~
$> python3 powerup.py -o ../OSSEM --excel
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

[*] Путь к профилю: profiles/default.yml
[*] Парсинг OSSEM из markdown
[*] Экспорт DDM OSSEM в Excel
[*] Сохранен Excel в output/ddm_enriched_20191114_160041.xlsx

При экспорте в Excel power-up создает привлекательную DDM с соответствующими измерениями качества данных для каждой записи:

Экспорт в ELASTIC

root@kitploit:~
$> python3 powerup.py -o ../OSSEM --elastic
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

[*] Путь к профилю: profiles/default.yml
[*] Парсинг OSSEM из markdown
[*] Экспорт OSSEM в Elastic
[*] Создание индекса elastic ossem.ddm
[*] Создание индекса elastic ossem.cim
[*] Создание индекса elastic ossem.dds
[*] Создание индекса elastic ossem.dcs

При экспорте в Elastic power-up сохраняет все данные OSSEM в elastic. Поскольку DDM также обогащается соответствующими измерениями качества данных, вы сможете создавать дашборды, подобные этому:

Экспорт в ATT&CK Navigator

root@kitploit:~
$> python3 powerup.py -o ../OSSEM --layer
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

[*] Путь к профилю: profiles/default.yml
[*] Парсинг OSSEM из markdown
[*] Экспорт OSSEM в слой Navigatator
[*] Загрузка данных ATT&CK
[*] Генерация слоя качества источников данных
[*] Создан output/ds_layer_20191119_220141.json

При экспорте в слой power-up создает файл JSON слоя Attack Navigator с соответствующими измерениями качества данных для каждой техники:

Примечание: оценки техник получаются из средних оценок источников данных в DDM.

Благодарности

  • Роберто Родригес @Cyb3rWard0g, Хосе Луис Родригес @Cyb3rPandaH и все члены сообщества за поддержку OSSEM.
  • Маркус Баккер @bakk3rm и Рубен Боуман @rubenb_2 за вдохновение по измерениям качества данных из DeTTECT.

To-Do

  • Создать дополнительную документацию
  • Экспорт в слой ATT&CK Navigator
  • Корректно обрабатывать словари данных, которые используют один и тот же канал данных, но имеют разную схему в зависимости от операционной системы
  • Предоставить объекты Kibana (визуализации и дашборды)
Скачать инструмент
Источник данных ATT&CKПод-источник данныхОбъект-источникСвязьОбъект-назначениеEventID
Мониторинг процессовсоздание процессаprocesscreatedprocess4688
Мониторинг процессовсоздание процессаprocesscreatedprocess1
Мониторинг процессовзавершение процессаprocessterminated-4689
Мониторинг процессовзавершение процессаprocessterminated-5
ИзмерениеТипОписание
ПокрытиеКанал данныхСколько устройств или сетевых сегментов охвачено каналом данных
СвоевременностьКанал данныхКак долго событие становится доступным
ХранениеКанал данныхКак долго событие остается доступным
СтруктураСобытиеНасколько полно событие, доступны ли релевантные поля
СогласованностьСобытиеНасколько поля события стандартизированы, были ли они нормализованы
00
1 до 251
26 до 502
51 до 753
76 до 994
1005