sysmon-modular

这是一个 Microsoft Sysinternals Sysmon在这里下载配置存储库,设置模块化以便于维护和生成特定配置。
repo 中的 sysmonconfig.xml 是在 PowerShell 脚本成功合并和 Sysmon 在 Azure Pipeline 运行中成功加载后自动生成的。

预生成的配置

配置 描述
默认 - sysmonconfig.xml 这是平衡配置,最常用,更多信息在这里
详细 - sysmonconfig-excludes-only.xml 这是非常详细的配置,包括所有事件,仅应用排除模块。这不应该在未经验证的情况下用于生产,会产生大量数据并可能影响性能。更多信息在这里
sysmon-mde-augmentation 用于扩充 Defender for Endpoint 的配置,旨在扩充信息并尽可能少地重叠。快来了

请记住,强烈建议根据环境进行调整。有关如何生成自定义配置的更多信息,在此处合并您自己的模块

注意; 13以下的sysmon不会完全兼容这个配置

旧版本仍然在分支中可用,但不如当前分支完整

要了解最新版本中的新增功能,请查看我的小型博客文章或观看我的DerbyCon 演讲
注意: 出于多种显而易见的原因,我确实建议在您的环境中使用最少数量的配置,例如;维护,输出平等,可管理性等。但请为域控制器、服务器和工作站进行定制配置。

学分

SwiftOnSecurity 奠定了良好的基础并使这个回购成为可能! sysmonconfig-export.xml
最后感谢Mathias Jessen的 Merge 脚本,没有它,这个项目就不会运行得那么好。

贡献

拉取请求/发出票证和新增功能将不胜感激!

更多信息

我开始了一系列关于这个 repo 的博客文章;

  • 廉价的端点检测超级大国 - 第 1 部分 - MITRE ATT&CK、Sysmon 和我的模块化配置
  • 廉价的端点检测超级大国 — 第 2 部分 — 部署和维护
  • 廉价的端点检测超级大国——第 3 部分——Sysmon 篡改

    MITRE ATT&CK

    只要 Sysmon 能够检测到它,我就会努力将所有配置映射到 ATT&CK 框架。所有链接配置的当前 ATT&CK 导航器导出可在此处找到,并可在此处查看 sysmon-modular - 自定义的 Sysmon 配置存储库 - 图1

    需要采取的行动

    我强烈建议在您的生产环境中实施之前查看配置。这使您能够拥有尽可能多的可操作日志记录和尽可能少的噪音。

    定制

    在广泛部署之前,您需要在自己的环境中安装并观察配置结果。例如,您将需要排除您的防病毒操作,否则这些操作可能会用无用的信息填满您的日志。

    生成配置

    PowerShell

    1. $> git clone https://github.com/olafhartong/sysmon-modular.git
    2. $> cd sysmon modular
    3. $> . .\Merge-SysmonXml.ps1
    4. $> Merge-AllSysmonXml -Path ( Get-ChildItem '[0-9]*\*.xml') -AsString | Out-File sysmonconfig.xmls

    生成自定义配置

    以下功能非常感谢 mbmy

    新功能

    Find-RulesInBasePath - 采用基本路径(即 C:\folder\sysmon-modular)并根据正则表达式模式查找所有候选 xml 规则文件

    例子

    PS C:\Users\sysmon\sysmon-modular> Find-RulesInBasePath -BasePath C:\users\sysmon\sysmon-modular\ -OutputRules | Out-File available_rules.txt

    Merge-AllSysmonXml 新参数

    -BasePath
    根据正则表达式模式从提供的路径中查找所有候选 xml 规则文件并将它们合并。
    PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\
    -ExcludeList
    结合 -BasePath,获取规则列表并在合并之前将它们从找到的规则中排除
    PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -ExcludeList C:\users\sysmon\sysmon-modular\exclude_rules.txt
    -IncludeList
    结合 -BasePath,从基本路径中查找所有可用规则,但仅合并列表中定义的规则
    PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -IncludeList C:\users\sysmon\sysmon-modular\include_rules.txt
    包含/排除列表格式示例:
    1. 3_network_connection_initiated\include_native_windows_tools.xml
    2. 12_13_14_registry_event\exclude_internet_explorer_settings.xml
    3. 12_13_14_registry_event\exclude_webroot.xml
    4. 17_18_pipe_event\include_winreg.xml
    5. 19_20_21_wmi_event\include_wmi_create.xml
    6. 2_file_create_time\exclude_chrome.xml
    7. 3_network_connection_initiated\include_native_windows_tools.xml
    8. 3_network_connection_initiated\include_ports_proxies.xml
    9. 8_create_remote_thread\include_general_commment.xml
    10. 8_create_remote_thread\include_psinject.xml
    11. 9_raw_access_read\include_general_commment.xml

    采用

    安装

    以管理员权限运行:
    1. sysmon.exe -accepteula -i sysmonconfig.xml

    更新现有配置

    以管理员权限运行:
    1. sysmon.exe -c sysmonconfig.xml