
Пакетная генерация YARA-правил из YAML-ввода
Опубликовано в виде открытого исходного кода компанией NCC Group Plc - http://www.nccgroup.com/
Разработано Дэвидом Каннингсом (David Cannings) (@edeca) [email protected]
http://www.github.com/nccgroup/yaml2yara
Этот проект распространяется под лицензией AGPL. Пожалуйста, обратитесь к файлу LICENSE для получения дополнительной информации.
Этот репозиторий содержит скрипт, который создаёт пользовательские правила обнаружения на основе YAML-входных данных.
Он используется для автоматической генерации одного и того же правила для нескольких фрагментов входных данных, например:
Это разделяет логику правил и данные для сопоставления, что позволяет легко обновлять массовые правила для их оптимизации или использования новых возможностей YARA.
Первоначально он был разработан для генерации правил YARA. Однако его можно легко расширить на любой другой формат (MAEC, правила Suricata) с помощью новых шаблонов.
Цели состоят в следующем:
Все необходимые зависимости можно установить с помощью pip:
pip install -r Requirements.txt
В репозиторий включены некоторые примеры файлов данных и шаблонов. Примеры использования:
./generate.py --template authenticode --input sample_data/authenticode/stolen_certs.yaml
./generate.py --template office_exploits --input sample_data/office_exploits/ole.yaml
./generate.py --template resources --input sample_data/resources/malware.yaml
Выходные данные также можно изменить с помощью --tag, который добавит теги правил к каждому сгенерированному правилу:
./generate.py --template authenticode --tag authenticode --input sample_data/authenticode/stolen_certs.yaml
Также доступна опция --prefix, которая задаёт имя для всех правил:
./generate.py --template office_exploits --prefix exploit --input sample_data/office_exploits/ole.yaml
Справка доступна, см. ./generate.py --help.