seyifalode-cmd/sigma-detection-rules
GitHub: seyifalode-cmd/sigma-detection-rules
基于 MITRE ATT&CK 框架的开源 Sigma 检测规则集合,提供面向 Splunk、Sentinel 和 Elastic 的多平台查询转换能力,帮助团队以代码化方式管理和部署安全检测逻辑。
Stars: 1 | Forks: 0
# sigma-detection-rules
## 为什么选择检测即代码?
将检测逻辑存储在版本控制的文件中——而不是锁定在 SIEM GUI 中——为安全团队带来了:
- **一致性** —— 规则在每个环境中都以相同的方式进行测试、审查和部署
- **可移植性** —— 单个 Sigma 规则可转换为 Splunk SPL、Microsoft Sentinel KQL 和 Elastic EQL/KQL,无需重写
- **可审计性** —— 每次规则更改都在 git 中跟踪,并记录作者、日期和原因
- **协作** —— 检测工程师可以提交 PR、运行 CI 检查,并在进入生产环境之前对逻辑进行同行评审
- **速度** —— 新的威胁情报可在几分钟内投入使用,无需等待数周才能获得 SIEM GUI 的访问权限
## 仓库结构
```
sigma-detection-rules/
├── rules/ # Sigma rules (.yml), organized by MITRE ATT&CK tactic
│ ├── credential-access/
│ ├── initial-access/
│ ├── lateral-movement/
│ ├── exfiltration/
│ ├── persistence/
│ ├── defense-evasion/
│ └── impact/
├── queries/
│ ├── splunk/ # Splunk SPL (.spl)
│ ├── sentinel/ # Microsoft Sentinel KQL (.kql)
│ └── elastic/ # Elastic/EQL queries (.txt)
└── docs/ # Supporting documentation
```
## 检测规则 —— 完整索引
| # | 规则名称 | MITRE 技术 | 战术 | 级别 |
|---|-----------|----------------|--------|-------|
| 1 | 暴力破解认证 | [T1110](https://attack.mitre.org/techniques/T1110/) | 凭据访问 | 中 |
| 2 | 密码喷洒 | [T1110.003](https://attack.mitre.org/techniques/T1110/003/) | 凭据访问 | 高 |
| 3 | 不可能旅行 / 异常登录 | [T1078](https://attack.mitre.org/techniques/T1078/) | 凭据访问 | 高 |
| 4 | MFA 疲劳 / 推送轰炸 | [T1621](https://attack.mitre.org/techniques/T1621/) | 凭据访问 | 高 |
| 5 | 包含恶意附件的入站钓鱼 | [T1566.001](https://attack.mitre.org/techniques/T1566/001/) | 初始访问 | 高 |
| 6 | 对有效账户的可疑外部登录 | [T1078](https://attack.mitre.org/techniques/T1078/) | 初始访问 | 中 |
| 7 | 通过 RDP 横向移动 | [T1021.001](https://attack.mitre.org/techniques/T1021/001/) | 横向移动 | 中 |
| 8 | 通过 SMB / 管理共享横向移动 | [T1021.002](https://attack.mitre.org/techniques/T1021/002/) | 横向移动 | 中 |
| 9 | Pass-the-Hash | [T1550.002](https://attack.mitre.org/techniques/T1550/002/) | 横向移动 | 高 |
| 10 | DNS 隧道 / 通过 DNS 窃取 | [T1071.004](https://attack.mitre.org/techniques/T1071/004/) | 窃取 | 中 |
| 11 | 大量出站数据传输 | [T1048](https://attack.mitre.org/techniques/T1048/) | 窃取 | 高 |
| 12 | 为保持持久性而创建新账户 | [T1136.001](https://attack.mitre.org/techniques/T1136/001/) | 持久化 | 中 |
| 13 | 为保持持久性而创建计划任务 | [T1053.005](https://attack.mitre.org/techniques/T1053/005/) | 持久化 | 高 |
| 14 | 禁用安全工具 / Windows Defender | [T1562.001](https://attack.mitre.org/techniques/T1562/001/) | 防御规避 | 高 |
| 15 | 勒索软件批量加密 + 删除卷影副本 | [T1486](https://attack.mitre.org/techniques/T1486/) + [T1490](https://attack.mitre.org/techniques/T1490/) | 影响 | 严重 |
## 如何使用查询
### Microsoft Sentinel (KQL)
1. 打开 **Microsoft Sentinel** → **日志**
2. 从 `queries/sentinel/` 复制相关 `.kql` 文件的内容
3. 粘贴到查询编辑器中并运行 —— 或保存为 **计划警报规则**
4. 根据每个文件中的注释设置阈值和时间窗口
### Splunk
1. 打开 **Splunk** → **搜索与报告**
2. 从 `queries/splunk/` 复制相关 `.spl` 文件的内容
3. 粘贴到搜索栏中并运行 —— 或保存为 **计划警报**
4. 调整 `index=` 值以匹配您环境中的索引名称
### Elastic / Elastic SIEM
1. 打开 **Kibana** → **安全** → **规则** → **创建新规则**
2. 对于基于阈值的规则,选择 **阈值** 规则类型,并使用 `.txt` 文件中的过滤表达式
3. 对于匹配规则,选择 **自定义查询** 并粘贴查询表达式
4. 根据每个文件中的内联注释配置字段分组和阈值
## Sigma 规则
每个 `.yml` 规则都遵循 [Sigma 规范](https://github.com/SigmaHQ/sigma),并且可以使用 [sigma-cli](https://github.com/SigmaHQ/sigma-cli) 转换为任何 SIEM 格式:
```
# 安装 sigma-cli
pip install sigma-cli
# 将 rule 转换为 Splunk SPL
sigma convert -t splunk rules/credential-access/password_spray.yml
# 将 rule 转换为 Microsoft Sentinel KQL
sigma convert -t microsoft365defender rules/lateral-movement/pass_the_hash.yml
```
## 作者
**Oluwaseyi Michael Falode**
检测工程师 | 云与网络安全
- 电子邮件:[seyi.falode@yahoo.com](mailto:seyi.falode@yahoo.com)
- LinkedIn:[linkedin.com/in/oluwaseyi-falode](https://linkedin.com/in/oluwaseyi-falode)
- GitHub:[github.com/seyifalode-cmd](https://github.com/seyifalode-cmd)
*检测工程是一门不断发展的学科。此仓库中的规则被标记为 `experimental`,在部署到生产环境之前,应根据您环境的基线进行调整。*
标签:AMSI绕过, Reconnaissance, Sigma规则, 代码化检测, 威胁检测, 目标导入, 网络安全, 隐私保护