P4T12ICK/Sigma2SplunkAlert

GitHub: P4T12ICK/Sigma2SplunkAlert

一个将 Sigma 通用检测规则批量转换为 Splunk 原生告警配置的自动化工具。

Stars: 115 | Forks: 20

# Sigma2SplunkAlert 将 Sigma 检测规则转换为 Splunk 告警配置。 # 动机 许多安全运营中心 (SOC) 使用计划搜索来执行其检测规则。Sigma 是描述检测规则的新标准。将多个 Sigma 检测规则部署到 Splunk 是一项耗时的任务。Sigma2SplunkAlert 将多个 Sigma 检测规则转换为 Splunk savedsearches.conf 配置。此外,Sigma2SplunkAlerts 支持 Splunk 告警操作,例如发送电子邮件和汇总索引。Sigma2SplunkAlert 引入了令牌,以便在电子邮件正文中使用告警的关键字段。此外,还利用 Splunk Search 转换通过自定义配置(例如添加白名单或其他自定义 Splunk 命令)来调整 Splunk Search。 # 工作原理 Sigma2SplunkAlert 将 Sigma 与 Jinja2 模板的强大功能相结合,生成 Splunk savedsearches.conf 配置。 ![text](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6d2535f355102041.jpg) 它使用以下输入: * 包含 Sigma 检测规则的文件夹 * 包含字段名称和索引映射的 Sigma 配置文件(有关更多信息,请参阅 [Sigma repository](https://github.com/Neo23x0/sigma)) * 包含 Splunk alerts 配置值的 Sigma2SplunkAlert 配置文件 并生成 savedsearches.conf 配置。有关 Sigma2SplunkAlert 配置的更多信息,请参阅 Wiki。 # 环境要求 Sigma2SplunkAlert 需要 Sigma 来将 Sigma 检测规则转换为 Splunk 搜索。Sigma 需要被安装并加入到环境变量中。此外,还需要 Python >= 3.5、PyYAML 和 Jinja2。 Sigma2SplunkAlert 已在 Splunk 7.2.5 版本上进行了测试。如果您发现与之前的 Splunk 版本存在某些不兼容之处,请提交 issue,我会尽快尝试添加支持。 # 用法 ``` usage: sigma2splunkalert [-h] [--config CONFIG] [--sigma-config SIGMA_CONFIG] N [N ...] Convert Sigma rules to Splunk Alerts savedsearches.conf configuration. positional arguments: N folder or file containing the Sigma rules optional arguments: -h, --help show this help message and exit --config CONFIG, -c CONFIG Sigma2SplunkAlert configuration file --sigma-config SIGMA_CONFIG, -sc SIGMA_CONFIG Sigma configuration with field name and index name mapping ``` # 示例 使用标准配置转换单个 Sigma 检测规则: ``` ./sigma2splunkalert rules/sysmon_mimikatz_detection_lsass.yml ``` 生成以下输出: ``` # 使用 Sigma2SplunkAlert 生成 [Mimikatz Detection LSASS Access] action.email = 1 action.email.subject.alert = Splunk Alert: $name$ action.email.to = test@test.de action.email.message.alert = Splunk Alert $name$ triggered \ List of interesting fields: \ EventCode: $result.EventCode$ \ TargetImage: $result.TargetImage$ \ GrantedAccess: $result.GrantedAccess$ \ ComputerName: $result.ComputerName$ \ title: Mimikatz Detection LSASS Access status: experimental \ description: Detects process access to LSASS which is typical for Mimikatz (0x1000 PROCESS_QUERY_ LIMITED_INFORMATION, 0x0400 PROCESS_QUERY_ INFORMATION, 0x0010 PROCESS_VM_READ) \ references: ['https://onedrive.live.com/view.aspx?resid=D026B4699190F1E6!2843&ithint=file%2cpptx&app=PowerPoint&authkey=!AMvCRTKB_V1J5ow'] \ tags: ['attack.t1003', 'attack.s0002', 'attack.credential_access'] \ author: \ date: \ falsepositives: ['unknown'] \ level: high action.email.useNSSubject = 1 alert.severity = 1 alert.suppress = 0 alert.track = 1 alert.expires = 24h counttype = number of events cron_schedule = */10 * * * * description = Detects process access to LSASS which is typical for Mimikatz (0x1000 PROCESS_QUERY_ LIMITED_INFORMATION, 0x0400 PROCESS_QUERY_ INFORMATION, 0x0010 PROCESS_VM_READ) dispatch.earliest_time = -10m dispatch.latest_time = now enableSched = 1 quantity = 0 relation = greater than request.ui_dispatch_app = sigma_hunting_app request.ui_dispatch_view = search search = (source="WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode="10" TargetImage="C:\\windows\\system32\\lsass.exe" GrantedAccess="0x1410") | table EventCode,TargetImage,GrantedAccess,ComputerName,host | search NOT [| inputlookup Mimikatz_Detection_LSASS_Access_whitelist.csv] | collect index=threat-hunting marker="sigma_tag=attack.t1003,sigma_tag=attack.s0002,sigma_tag=attack.credential_access,level=high" ``` 将包含 Sigma 检测规则的文件夹转换为 savedsearches.conf: ``` ./sigma2splunkalert ../sigma/rules/windows/sysmon/ ``` 使用自定义 Sigma 和 Sigma2SplunkAlert 配置转换包含 Sigma 检测规则的文件夹: ``` ./sigma2splunkalert -c config/config.yml -sc sigma_config/splunk-all.yml ../forks/sigma/rules/windows/sysmon/ ``` # 后续步骤 * 改进错误处理 # 致谢 这是由 Patrick Bareiss (Twitter: [@bareiss_patrick](https://twitter.com/bareiss_patrick)) 开发的私有仓库。
标签:AMSI绕过, Jinja2, Python, savedsearches.conf, 二进制发布, 告警配置, 威胁检测, 安全运营, 应急处置, 开源工具, 扫描框架, 无后门, 检测规则, 网络安全, 网络调试, 网络资产发现, 自动化, 规则转换, 逆向工具, 隐私保护