ClockworkZMP/sigma-detection-rule-library
GitHub: ClockworkZMP/sigma-detection-rule-library
一个映射 MITRE ATT&CK 的 Sigma 安全检测规则库,附带将规则转换为 Splunk SPL 和 Elasticsearch KQL 的 Python 转换工具。
Stars: 0 | Forks: 0
# Sigma 检测规则库




一个生产级 [Sigma](https://github.com/SigmaHQ/sigma) 检测规则库,涵盖常见的攻击者技术,并映射到 MITRE ATT&CK。包含一个 Python 转换器,可将规则转换为 **Splunk SPL** 和 **Elasticsearch/OpenSearch KQL**。
基于跨企业 SIEM 环境(Panther、Splunk、ELK Stack)的实际检测工程经验构建。
## 规则
| 文件 | 技术 | MITRE | 级别 |
|------|-----------|-------|-------|
| `credential-access/T1003_lsass_memory_dump.yml` | 通过 ProcDump、Mimikatz、comsvcs 进行 LSASS 内存转储 | T1003.001 | 高 |
| `credential-access/T1110_brute_force_okta.yml` | Okta 暴力破解 / 凭据填充 | T1110 | 中 |
| `defense-evasion/T1562_cloudtrail_stopped.yml` | CloudTrail 日志记录被禁用或删除 | T1562.008 | 高 |
| `defense-evasion/T1055_process_injection_common.yml` | 通过 CreateRemoteThread / LSASS 访问进行进程注入 | T1055 | 高 |
| `execution/T1059_powershell_encoded.yml` | PowerShell `-EncodedCommand` 混淆 | T1059.001 | 中 |
| `lateral-movement/T1021_rdp_from_unexpected_host.yml` | 来自非管理员/非堡垒主机的 RDP 登录 | T1021.001 | 中 |
| `persistence/T1098_aws_iam_key_created_root.yml` | 为 root 账户创建 IAM 访问密钥 | T1098 | 严重 |
| `persistence/T1547_registry_run_key.yml` | 通过 Windows 注册表 Run 键实现持久化 | T1547.001 | 中 |
## 快速开始
### 将规则转换为 Splunk SPL
```
pip install -r requirements.txt
python converter/sigma_converter.py rules/execution/T1059_powershell_encoded.yml --target splunk
```
输出:
```
// PowerShell Encoded Command Execution | Level: medium | MITRE: attack.t1059.001, attack.t1027
index=* (process_path="*\powershell.exe" OR process_path="*\pwsh.exe") AND
(process_command_line="* -EncodedCommand *" OR process_command_line="* -enc *" OR ...)
NOT (parent_process_path="*\VeeamBackup.exe" OR ...)
```
### 转换为 Elasticsearch KQL
```
python converter/sigma_converter.py rules/persistence/T1098_aws_iam_key_created_root.yml --target elastic
```
### 一次性转换所有规则
```
# 打印到 stdout
python converter/sigma_converter.py rules/ --target splunk
# 写入文件
python converter/sigma_converter.py rules/ --target elastic --output converted/
# 验证所有 rules
python converter/sigma_converter.py rules/ --validate
```
## 规则格式
规则遵循 [Sigma 规范](https://github.com/SigmaHQ/sigma/wiki/Specification):
```
title: Short, descriptive rule name
id: unique-uuid
status: stable | test | experimental
description: What this detects and why it matters
author: ClockworkZMP
tags:
- attack.tactic
- attack.tNNNN
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\evil.exe'
CommandLine|contains: 'bad'
filter_legit:
ParentImage|endswith: '\legit.exe'
condition: selection and not filter_legit
falsepositives:
- List known false positive scenarios
level: critical | high | medium | low | informational
```
## 支持的修饰符
| 修饰符 | 行为 | 示例 |
|----------|----------|---------|
| `endswith` | 字段以指定值结尾 | `Image\|endswith: '\cmd.exe'` |
| `startswith` | 字段以指定值开头 | `CommandLine\|startswith: 'powershell'` |
| `contains` | 字段包含子字符串 | `CommandLine\|contains: '-enc'` |
| `contains\|all` | 字段必须包含所有值 | `CommandLine\|contains\|all: ['sekurlsa', 'logon']` |
| `re` | 正则表达式匹配 | `CommandLine\|re: '(?i)mimikatz'` |
## 添加规则
1. 从 `rules/` 复制一条规则作为模板
2. 为 `id` 字段生成 UUID:`python -c "import uuid; print(uuid.uuid4())"`
3. 在您的环境中验证通过之前,设置 `status: experimental`
4. 验证:`python converter/sigma_converter.py your_rule.yml --validate`
## 许可证
MIT — 规则可自由使用、修改,并整合到商业 SIEM 部署中。
标签:AMSI绕过, Elasticsearch, OpenCanary, Python, Sigma规则, 威胁检测, 安全, 无后门, 目标导入, 超时处理, 逆向工具