用于 EVTX、Auditd、Sysmon for Linux、XML 或 JSONL/NDJSON 日志的独立 SIGMA 检测工具
Zircolite 是一个用 Python 3 编写的独立工具。它可以在以下日志上使用 SIGMA 规则:MS Windows EVTX(EVTX、XML 和 JSONL 格式)、Auditd 日志、Sysmon for Linux、EVTXtract、CSV 和 XML 日志
- Zircolite 速度相对较快,可以在几秒钟内解析大型数据集
- Zircolite 基于 Sigma 后端(SQLite),不使用内部 sigma 到"某种格式"的转换
- Zircolite 可以使用 Jinja 模板将结果导出为多种格式:JSON、CSV、JSONL、Splunk、Elastic、Zinc、Timesketch 等
Zircolite 可以直接在 Python 中使用,也可以使用发布版本中提供的二进制文件。
要求 / 安装
需要 Python 3.8 或更高版本。如果你只想使用 Zircolite 的基本功能,可以通过以下命令安装依赖:pip3 install -r requirements.txt
。但强烈推荐使用 pip3 install -r requirements.full.txt
。
evtx_dump 的使用是可选的,但默认情况下是必需的(因为目前它速度更快)。如果你不想使用它,必须使用 --noexternal
选项。如果你克隆 Zircolite 仓库,该工具会被提供(官方仓库在这里)。
:warning: 在某些系统(Mac、Arm 等)上,evtx
库可能需要安装 Rust 和 Cargo。
快速入门
查看其他人制作的教程(英语、西班牙语和法语)在此。
EVTX 文件
使用 zircolite.py -h
可获取帮助。如果你的 EVTX 文件扩展名为 ".evtx":
# python3 zircolite.py --evtx <EVTX 文件夹或 EVTX 文件> --ruleset <SIGMA 规则集> [--ruleset <其他规则集>]
python3 zircolite.py --evtx sysmon.evtx --ruleset rules/rules_windows_sysmon_pysigma.json
使用的 SYSMON 规则集是默认规则集,用于分析安装了 SYSMON 的终端日志。
Auditd / Sysmon for Linux / JSONL 或 NDJSON 日志
python3 zircolite.py --events auditd.log --ruleset rules/rules_linux.json --auditd
python3 zircolite.py --events sysmon.log --ruleset rules/rules_linux.json --sysmon4linux
python3 zircolite.py --events <JSON_文件夹或JSON_文件> --ruleset rules/rules_windows_sysmon_pysigma.json --jsononly
:information_source: 如果你想尝试该工具,可以使用 EVTX-ATTACK-SAMPLES(EVTX 文件)进行测试。
使用 Docker 运行
# 拉取 Docker 镜像
docker pull wagga40/zircolite:latest
# 如果你的日志和规则在特定目录中
docker run --rm --tty \
-v $PWD:/case/input:ro \
-v $PWD:/case/output \
wagga40/zircolite:latest \
-e /case/input \
-o /case/output/detected_events.json \
-r /case/input/a_sigma_rule.yml
您可以将 $PWD
替换为存储日志和规则/规则集的目录(仅限绝对路径)。
更新默认规则集
python3 zircolite.py -U
:information_source: 请注意,这些规则集是为了让 Zircolite 开箱即用而提供的,但您应该生成自己的规则集,因为它们可能会产生很多噪音或运行缓慢。这些自动更新的规则集可在专用仓库中获得:Zircolite-Rules。
文档
所有内容都在这里。
迷你图形界面
迷你图形界面可以完全离线使用,允许用户显示和搜索结果。您可以使用 --package
选项自动生成迷你图形界面"包"。要了解如何使用迷你图形界面,请查看这里的文档。
按 Mitre Att&ck (c) 技术和严重程度级别检测到的事件
检测到的事件时间线
在矩阵上显示按 Mitre Att&ck (c) 技术检测到的事件
教程、参考和相关项目
教程
-
(英文) Russ McRee 在他的博客中发布了一个关于 SIGMA 和 Zircolite 的非常好的教程
-
(西班牙语) César Marín 发布了一个西班牙语教程在这里
-
(法语) IT-connect.fr 发布了一个法语的非常详细的教程关于 Zircolite
参考
- Florian Roth 在 2021 年 10 月的欧盟 ATT&CK 研讨会上的演讲中,将 Zircolite 列入他的 SIGMA 名人堂
- Zircolite 在 CIDRE 团队的研究工作中被引用和使用:PWNJUSTSU - 网站 和 PWNJUSTSU - 学术论文
- Zircolite 在 JSAC 2023 上被引用和介绍
许可证
- 项目的所有代码都在 GNU 宽松通用公共许可证 下授权
evtx_dump
使用 MIT 许可证- 规则在 检测规则许可证 (DRL) 下发布