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

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

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

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

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

Категории

Все категории
Loading categories
sigma-cli — Интерфейс командной строки Sigma на основе pySigma | Kitploit
Инструменты/GitHubGitHub/sigmahq/sigma-cli
Оборонительные ИнструментыУтилиты и фреймворкиРазведка угрозОбнаружение ВторженийАнализ Журналов
GitHubsigmahq/sigma-cli

sigma-cli

Интерфейс командной строки Sigma на основе pySigma

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

Популярное

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

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

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

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

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

Интерфейс командной строки Sigma

Tests Coverage Badge Status

Это интерфейс командной строки Sigma, использующий библиотеку pySigma для управления, перечисления и конвертации правил Sigma в языки запросов.

Начало работы

Установка

Самый простой способ установить Sigma CLI — через pipx или pip. Для этого выполните одну из следующих команд:

root@kitploit:~
python -m pipx install sigma-cli
python -m pip install sigma-cli

в macOS используйте

root@kitploit:~
python3 -m pip install sigma-cli
root@kitploit:~
brew install sigma-cli

Другой способ — запустить из исходного кода в виртуальном окружении, управляемом с помощью Poetry:

root@kitploit:~
git clone https://github.com/SigmaHQ/sigma-cli.git
cd sigma-cli
poetry install
poetry shell

Использование

CLI доступен как команда sigma. Типичный вызов выглядит так:

root@kitploit:~
sigma convert -t <backend> -p <processing pipeline 1> -p <processing pipeline 2> [...] <directory or file>

Например, чтобы конвертировать правила Sigma о создании процессов из каталога в запросы Splunk для журналов Sysmon, выполните:

root@kitploit:~
sigma convert -t splunk -p sysmon sigma/rules/windows/process_creation

Необходимые бэкенды должны быть установлены с помощью следующей команды перед выполнением конвертации.

Чтобы вывести список всех доступных плагинов, выполните следующую команду:

root@kitploit:~
sigma plugin list

Установите выбранный вами плагин:

root@kitploit:~
sigma plugin install <backend>

Например, чтобы установить бэкенд splunk, выполните:

root@kitploit:~
sigma plugin install splunk

Доступные бэкенды конвертации и конвейеры обработки можно вывести с помощью sigma list. Используйте -O или --backend-option для передачи параметров бэкенду в виде пар ключ=значение (-O testparam=123). Этот параметр можно указывать несколько раз (-O first=123 -O second=456).

Бэкенды могут поддерживать различные форматы вывода, например, простые запросы и файл, который можно импортировать в целевую систему. Эти форматы можно вывести с помощью sigma list formats <backend> и указать для конвертации с помощью опции -f.

Кроме того, выходной файл можно указать с помощью -o.

Пример использования форматов вывода и файлов:

root@kitploit:~
sigma convert -t splunk -f savedsearches -p sysmon -o savedsearches.conf sigma/rules/windows/process_creation

Создаёт файл Splunk savedsearches.conf, содержащий конвертированные поисковые запросы.

Вывод в отдельные файлы

Для сценариев, в которых необходимо конвертировать несколько правил в отдельные файлы (например, для контроля версий или выборочного развёртывания), используйте параметр --output-dir вместе с --output-filename-template:

root@kitploit:~
sigma convert -t esql -p ecs_windows --output-dir translated_rules/ rules/

Это создаст отдельный файл для каждого конвертированного правила в каталоге translated_rules/.

Переменные шаблона:

Параметр --output-filename-template принимает следующие переменные:

  • {path}: относительный путь к исходному каталогу (например, windows для rules/windows/rule.yml)
  • {stem}: имя файла без расширения (например, rule для rule.yml)
  • {index}: индекс запроса для правил, генерирующих несколько запросов (пусто, если запрос только один)

Примеры:

Плоская структура вывода (все файлы в одном каталоге):

root@kitploit:~
sigma convert -t esql -p ecs_windows --output-dir translated/ --output-filename-template "{stem}.esql" rules/

Сохранение структуры каталогов:

root@kitploit:~
sigma convert -t esql -p ecs_windows --output-dir translated/ --output-filename-template "{path}/{stem}.esql" rules/

Обработка правил с несколькими запросами:

root@kitploit:~
sigma convert -t esql -p ecs_windows --output-dir translated/ --output-filename-template "{stem}-{index}.esql" rules/

При заданной входной структуре:

root@kitploit:~
rules/
├── windows/
│   └── rule_1.yml
├── linux/
│   └── rule_2.yml

С --output-filename-template "{path}/{stem}.esql" вывод будет следующим:

root@kitploit:~
translated/
├── windows/
│   └── rule_1.esql
├── linux/
│   └── rule_2.esql

Интеграция бэкендов и конвейеров обработки

Бэкенды и конвейеры обработки можно интегрировать, добавив соответствующие пакеты в качестве зависимостей:

root@kitploit:~
poetry add <package name>

Бэкенд должен быть добавлен в словарь backends в sigma/cli/backends.py путём создания именованного кортежа Backend со следующими параметрами:

  • Класс бэкенда.
  • Имя, отображаемое пользователю в списке целей (sigma list targets).
  • Словарь, сопоставляющий имена форматов вывода (используемых в параметре -f) с описаниями форматов, которые показываются в списке форматов (sigma list formats <backend>). Форматы должны поддерживаться бэкендом!

Ключ словаря — это имя, используемое в параметре -t.

Конвейер обработки определяется в переменной-словаре pipelines в sigma/cli/pipelines.py. Переменная содержит ProcessingPipelineResolver, который создаётся со словарём, сопоставляющим идентификаторы, которые можно использовать в параметре -p, с функциями, возвращающими объекты ProcessingPipeline. Описательный текст, показываемый в списке конвейеров (sigma list pipelines), берётся из атрибута name объекта ProcessingPipeline.

Сопровождающие

В настоящее время проект сопровождают:

  • Thomas Patzke [email protected]
Скачать инструмент