Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
sysmon-modular — 一个 sysmon 配置模块的仓库 | Kitploit
工具/GitHubGitHub/olafhartong/sysmon-modular
防御工具数字取证入侵检测事件响应日志分析
GitHubolafhartong/sysmon-modular

sysmon-modular

一个 sysmon 配置模块的仓库

查看仓库
3.1k653495天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

sysmon-modular | 一个供所有人自定义的 Sysmon 配置仓库

license Maintenance GitHub last commit Build Sysmon configurations Twitter Discord Shield

Sysmon Modular 是 Microsoft Sysinternals Sysmon 的配置仓库。小型 XML 模块让选择、审查和维护对贵组织有用的遥测数据变得更加容易。sysmon-modular Go 工具从这些模块构建配置,并帮助验证、分析和比较它们。

每个配置都只是一个起点。 在广泛部署之前,请根据你的应用程序、终端角色、检测需求和日志预算对其进行审查和调整。为工作站、服务器和域控制器使用一组可管理的配置文件,并在具有代表性的机器上测量它们的行为。

如果没有 SwiftOnSecurity 的原始配置,这个项目就不可能实现,它启发了 Sysmon Modular,并且至今仍是其基础的一部分。

目录

  • 预生成配置
  • 获取工具
  • 生成配置
  • 验证、分析和比较
  • 从 KQL 和 MDE 生成模块
  • 使用
  • CI/CD 和发布
  • 文档
  • 贡献
  • Sysmon 社区
  • 更多信息

预生成配置

从最新的 GitHub Release 下载常规起始配置。这些合并后的 XML 文件由源模块生成,并作为发布资产分发,而不是存储在仓库中。

配置文件下载收集目标
Balancedsysmonconfig.xml常规起始配置,不包含 FileDelete 归档。
Balanced with FileDeletesysmonconfig-with-filedelete.xml添加 FileDelete 收集和文件归档。请考虑归档的磁盘需求。
Excludes onlysysmonconfig-excludes-only.xml由排除模块构建的非常详细的配置文件。预计会产生大量事件,在生产使用前请进行调整。

所有三个配置文件均为 Sysmon 15.21、14.16、13.34 和 12.03 生成。带版本号的文件名包含目标版本,例如 sysmonconfig-14.16.xml;上面不带版本号的名称是 15.21 的别名。请选择终端上安装的版本。对于受控部署,请固定特定版本,而不是自动部署 latest。

仓库中仍有两个配置文件作为单独示例保留:

  • Research 配置:用于短时、受控研究会话的极其详细的收集配置。它可能消耗大量 CPU、内存和日志记录容量;调查完成后请加载更轻量的配置。
  • MDE-augment 配置:精选收集配置,旨在以较少的重叠补充 Microsoft Defender for Endpoint。它不会启用所有 Sysmon 事件。请参阅 MDE-augment 生成指南以重建并审查其排除列表。

该版本还包含预构建工具、一个 ATT&CK Navigator 层(派生自平衡的 15.21 配置),以及一个 SHA256SUMS 清单。

获取工具

Go CLI 是受支持的生成器。本 README 中的示例从仓库根目录运行,并使用保存在 tooling 中的二进制文件。如果你想从源模块生成配置,请先进行本地检出:

git clone https://github.com/olafhartong/sysmon-modular.git
cd sysmon-modular

预编译二进制文件

从 GitHub Releases 下载适用于你的操作系统和架构的二进制文件。使用这些二进制文件不需要安装 Go。

系统发布资源
Windows x64sysmon-modular-windows-amd64.exe
Windows ARM64sysmon-modular-windows-arm64.exe
Linux x64sysmon-modular-linux-amd64
Linux ARM64sysmon-modular-linux-arm64
macOS Intelsysmon-modular-darwin-amd64
macOS Apple siliconsysmon-modular-darwin-arm64

将下载的文件保存为 tooling/sysmon-modular,在 Windows 上则保存为 tooling/sysmon-modular.exe。在 Linux 和 macOS 上,执行一次以下命令使其可执行:

chmod +x tooling/sysmon-modular

构建

从源码构建需要 Go 1.22 或更高版本,并且仅使用 Go 标准库。

在 Linux 或 macOS 上,从仓库根目录执行:

go -C tooling build -o "$PWD/tooling/sysmon-modular" ./cmd/sysmon-modular

从 Windows 上的 PowerShell 中:

go -C tooling build -o "$PWD\tooling\sysmon-modular.exe" ./cmd/sysmon-modular

你也可以直接使用 Go 运行命令。例如:

go -C tooling run ./cmd/sysmon-modular --version

go -C tooling run 从 tooling 目录运行程序。在将仓库根目录示例改写为该形式时,请使用绝对路径,或遵循命令参考中相对于 tooling 的示例。

版本与帮助

该工具从构建版本 1.0 开始:

./tooling/sysmon-modular --version
./tooling/sysmon-modular help
./tooling/sysmon-modular merge --help

version 和 --version 会输出 sysmon-modular 1.0。构建版本也会出现在顶层帮助和命令特定帮助中。它用于标识工具版本;而 --sysmon-version 则用于选择目标 Sysmon 可执行文件。

默认值定义在 version.go 中。本地构建和发布构建会自动包含该值。若要为特定构建覆盖该值:

go -C tooling build -ldflags="-X main.buildVersion=1.1" \
  -o "$PWD/tooling/sysmon-modular" ./cmd/sysmon-modular

在 Windows 上,请使用下方命令中的 ./tooling/sysmon-modular.exe。多行 PowerShell 示例可在自定义配置指南中找到。

生成配置

编辑示例包含列表和示例排除列表以选择所需的集合,然后生成配置:

./tooling/sysmon-modular merge \
  --base-path "$PWD" \
  --template "$PWD/templates/sysmon_template.xml" \
  --include-list "$PWD/0_custom_configuration/example_include_rules.txt" \
  --exclude-list "$PWD/0_custom_configuration/example_exclude_rules.txt" \
  --sysmon-version 15.21 \
  --unsupported exclude \
  --preserve-comments \
  --output "$PWD/0_custom_configuration/sysmonconfig-example.xml"

提供的列表仅用于演示选择;它们不是生产调优策略。列表条目可以指定单个模块或编号目录,如果某个模块同时出现在两个列表中,排除列表优先。你也可以为单个模块重复使用 --path,或使用 --file-list 配合 CSV、TSV 或 JSON 优先级列表。

如果没有显式选择,merge 会发现编号目录中的每个模块。这包括 23_file_delete,因此它会启用平衡发布配置所省略的归档功能。合并器默认保留源 RuleGroup 关系。自定义模板会保留你的全局设置,同时其事件过滤器会被所选模块替换。

默认目标是 Sysmon 15/schema 4.90。选择 --sysmon-version 15.21 可使用 schema 4.91,或从 12 到 15 中选择其他受支持的可执行文件版本。默认情况下,不受支持的事件和字段会保留在输出中并带有警告。--unsupported exclude 会移除已知不兼容的内容;请审查这些移除项,因为它们会改变收集范围。merge 参考 包含完整的选择规则、标志、示例以及 schema 兼容性表。

如需额外的驱动相关可见性,请考虑在生成配置之前将当前的 LOLdrivers 配置添加到 29_file_executable_detected,然后审查合并结果。

验证、分析和比较

检查所有源模块并将警告视为失败:

./tooling/sysmon-modular validate \
  --all --base-path "$PWD" --sysmon-version 15.21 --warnings-as-errors

使用 --all-xml 可包含其他仓库 XML,例如模板和完整配置。使用重复的 --path 标志可选择单个文件。verify 是 validate 的别名;两者默认都会检查 XML、Sysmon 结构和 Enterprise ATT&CK 元数据。验证参考 说明了这些标志,验证检查 说明了每个发现代码。

在部署前审查生成的配置:

./tooling/sysmon-modular analyze --config 0_custom_configuration/sysmonconfig-example.xml
./tooling/sysmon-modular diff \
  --before old.xml --after 0_custom_configuration/sysmonconfig-example.xml
./tooling/sysmon-modular coverage --path 0_custom_configuration/sysmonconfig-example.xml

分析器会标记诸如相同的包含/排除表达式、有风险的可执行文件名排除项以及配置成本等问题。语义比较会保留完整的规则表达式,并报告 ATT&CK 映射中的变更。这些工具有助于审查;在更广泛部署之前,请在具有代表性的机器上进行试点,并衡量事件量、端点资源使用情况和调查价值。

覆盖范围支持文本、JSON、CSV 和 ATT&CK Navigator 输出:

下载工具