s225645819/sigma-detection-rules-library

GitHub: s225645819/sigma-detection-rules-library

一个多-SIEM部署的Sigma检测规则库,支持自动化转换和MITRE ATT&CK映射。

Stars: 0 | Forks: 0

# Sigma 检测规则库 一个针对多-SIEM部署(Splunk、Microsoft Sentinel、Elastic)的生产级自定义Sigma检测规则库。 ## 概述 此存储库包含**15个自定义检测规则**,针对现实世界的攻击技术,映射到**MITRE ATT&CK框架**,并通过GitHub Actions CI/CD管道自动转换为多种SIEM查询语言。 ### 关键特性 - **SIEM无关性:** 一个规则 = Splunk SPL + Sentinel KQL + Elastic ECS输出。 - **检测即代码:** 使用GitHub Actions完全自动化的CI/CD管道。 - **单元测试:** 每个规则都通过编程验证YAML语法、所需字段、唯一的UUID和MITRE映射。 - **行为导向:** 规则针对对抗性行为(TTPs)而不是静态指标(IoCs)。 ### 主要功能 - **SIEM无关性:** 一个规则 = Splunk SPL + Sentinel KQL + Elastic ECS输出。 - **检测即代码:** 完全自动化的CI/CD管道,使用GitHub Actions。 - **单元测试:** 每个规则都通过编程验证YAML语法、所需字段、唯一的UUID和MITRE映射。 - **行为导向:** 规则针对对抗性行为(TTPs)而不是静态指标(IoCs)。 ### 检测覆盖范围 | 规则焦点 | 目标二进制/进程 | MITRE ATT&CK | |---|---|---| | **Cobalt Strike 漏洞利用执行** | `rundll32.exe`、`powershell.exe` | T1059.001、T1071 | | **Mimikatz LSASS转储** | `mimikatz.exe`、`mimidrv.sys` | T1003.001 | | **PsExec 横向移动** | `psexec.exe`、`services.exe` | T1021.002 | | **Web Shell 上传** | HTTP POST(`.aspx`、`.jsp`、`.php`) | T1505.003 | | **PowerShell 下载与执行** | `powershell.exe`(IEX、DownloadString) | T1059.001 | | **宏/Office 执行** | `WINWORD.EXE` → `cmd.exe` | T1203 | | **注册表运行键持久性** | HKCU/HKLM 运行键 | T1547.001 | | **进程注入** | `svchost.exe` → `cmd.exe` | T1055 | | **计划任务持久性** | `schtasks.exe` | T1053.005 | | **UAC 绕过/提权** | `fodhelper.exe`、`eventvwr.exe` | T1547 | | **OAuth令牌盗窃** | Azure AD同意 | T1528 | | **DNS 泄露** | DNS TXT记录 | T1041 | | **Linux 反向Shell** | `bash`、`nc` | T1059.004、T1071 | | **Kerberoasting票据请求** | Windows安全事件4769(RC4) | T1558.003 | | **可疑ACL修改** | `icacls.exe`、`cacls.exe` | T1222.001 | ### CI/CD管道架构 此存储库将检测规则视为代码。每次向`main`分支推送都会触发GitHub Actions工作流程,执行以下操作: 1. **语法验证:** 使用`sigma check`验证YAML结构。 2. **单元测试:** 运行Python/PyTest脚本(`tests/test_sigma_rules.py`),确保所有规则都具有所需元数据、唯一ID和MITRE标签。 3. **自动转换:** 使用`sigma-cli`将YAML规则编译成: - **Splunk SPL** - **Sentinel KQL** - **Elastic ECS** 4. **工件生成:** 将转换后的查询打包成可下载的工件。 有关管道详细信息,请参阅`.github/workflows/validate-sigma.yml`。 ### 使用方法 ### 将Sigma转换为您的SIEM **Splunk SPL:** ``` sigma convert -t splunk rules/windows/process_creation/proc_creation_cobalt_strike_beacon.yml ``` **Sentinel KQL:** ``` sigma convert -t azure_sentinel rules/windows/process_creation/proc_creation_cobalt_strike_beacon.yml ``` **Elastic ECS:** ``` sigma convert -t elastic-ecs rules/windows/process_creation/proc_creation_cobalt_strike_beacon.yml ``` ### 部署到您的SIEM **Sentinel:** 复制转换后的KQL → 分析规则 → 创建新规则 → 粘贴查询 **Splunk:** 复制转换后的SPL → 搜索和报告 → 创建保存的搜索 **Elastic:** 复制转换后的查询 → Kibana → 创建检测规则 ### 本地开发与测试 要本地运行测试套件: ``` # 安装依赖 pip install -r requirements.txt # 运行单元测试 python -m pytest tests/ -v ``` ### 规则格式 所有规则都遵循Sigma标准YAML格式: ``` title: Rule Title id: [UUID] status: experimental|test|stable description: What this rule detects logsource: category: process_creation|registry_event|network_connection product: windows|linux|generic detection: selection: Image|endswith: powershell.exe CommandLine|contains: - '-enc' - 'IEX' condition: selection falsepositives: - Legitimate tool X level: low|medium|high|critical mitre: - attack.execution - attack.t1059.001 ``` ### 展示的技能 - **检测工程:** 编写针对现实世界TTPs的生产级Sigma检测规则 - **多SIEM流利度:** 一个规则,三个SIEM(Splunk SPL、Sentinel KQL、Elastic ECS) - **CI/CD自动化:** 使用GitHub Actions进行验证、测试和工件生成 - **代码质量:** 单元测试、YAML验证、元数据强制执行 - **MITRE ATT&CK映射:** 所有规则映射到对抗技术 - **威胁建模:** Cobalt Strike、Mimikatz、横向移动、持久性、泄露检测 - **DevOps实践:** 版本控制、基础设施即代码思维、自动化测试 - **Python/测试:** PyTest、YAML解析、子进程自动化 ### 参考资料 - Sigma规则文档:https://sigma.readthedocs.io/ - SigmaHQ GitHub:https://github.com/SigmaHQ/sigma - Sigma转换器(sigmac):https://github.com/SigmaHQ/pySigma - MITRE ATT&CK:https://attack.mitre.org/
标签:逆向工具