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/
标签:逆向工具