adamkplv/detection-rules
GitHub: adamkplv/detection-rules
一个跨平台的Sigma检测规则集合,覆盖身份验证、进程执行、持久化等攻击场景,可转换为多种SIEM平台查询语句。
Stars: 0 | Forks: 0
# 🛡️ 检测规则库
这是一个精选的 [Sigma](https://sigmahq.io/) 检测规则集合,用于识别 Windows、Linux 和 macOS 环境中的可疑行为。这些规则涵盖了映射到 [MITRE ATT&CK](https://attack.mitre.org/) 的最常见的攻击者技术。
## 📁 仓库结构
```
detection-rules/
├── rules/
│ ├── authentication/ # Login failures, privilege escalation
│ │ ├── ssh_brute_force.yml
│ │ ├── excessive_failed_logins.yml
│ │ └── suspicious_privilege_escalation.yml
│ ├── network/ # Scanning, recon, suspicious traffic
│ │ └── port_scan_patterns.yml
│ ├── process/ # LOLBins, shell spawning, code execution
│ │ └── suspicious_process_execution.yml
│ └── persistence/ # Registry, cron, LaunchAgents, startup files
│ └── suspicious_persistence.yml
├── tests/
│ └── sample_logs/ # Sample log data for validating rules
│ ├── sample_auth.log
│ └── sample_windows_events.json
└── README.md
```
## 📋 规则索引
### 身份验证
| 规则 | 平台 | 严重程度 | ATT&CK |
|---|---|---|---|
| [SSH 暴力破解尝试](rules/authentication/ssh_brute_force.yml) | Linux | Medium | T1110.001 |
| [登录失败次数过多](rules/authentication/excessive_failed_logins.yml) | Windows / Linux | Medium | T1110 |
| [可疑的权限提升](rules/authentication/suspicious_privilege_escalation.yml) | Windows / Linux | High | T1548, T1134 |
### 网络
| 规则 | 平台 | 严重程度 | ATT&CK |
|---|---|---|---|
| [端口扫描模式](rules/network/port_scan_patterns.yml) | Firewall / Linux / Windows | Medium / High | T1046 |
### 进程
| 规则 | 平台 | 严重程度 | ATT&CK |
|---|---|---|---|
| [可疑的进程执行](rules/process/suspicious_process_execution.yml) | Windows / Linux | High | T1218, T1059, T1105 |
### 持久化
| 规则 | 平台 | 严重程度 | ATT&CK |
|---|---|---|---|
| [可疑的持久化机制](rules/persistence/suspicious_persistence.yml) | Windows / Linux / macOS | Medium | T1547, T1053, T1037, T1546 |
## 🚀 使用这些规则
Sigma 是一种平台无关的规则格式。使用 [sigma-cli](https://github.com/SigmaHQ/sigma-cli) 将规则转换为目标平台:
```
# 安装 sigma-cli
pip install sigma-cli
# 安装你的 backend (例如 Splunk, Elastic, Chronicle)
sigma plugin install splunk
sigma plugin install elasticsearch
# 转换单个 rule
sigma convert -t splunk rules/authentication/ssh_brute_force.yml
# 转换目录中的所有 rule
sigma convert -t elasticsearch rules/authentication/
# 使用特定 pipeline 转换 (例如 Windows Sysmon)
sigma convert -t splunk -p sysmon rules/process/suspicious_process_execution.yml
```
### 支持的后端
| 平台 | Backend 标志 | 备注 |
|---|---|---|
| Splunk | `-t splunk` | SPL 输出 |
| Elastic / OpenSearch | `-t elasticsearch` | Lucene / EQL |
| Microsoft Sentinel | `-t microsoft365defender` | KQL |
| Chronicle (Google) | `-t chronicle` | YARA-L |
| QRadar | `-t qradar` | AQL |
| Raw grep (快速测试) | `-t grep` | 用于 CLI 测试 |
## 🔬 测试规则
`tests/sample_logs/` 中提供了示例日志文件,用于验证规则逻辑。
### 使用 grep 进行快速 CLI 测试(无需 SIEM)
```
# 针对示例 auth log 测试 SSH brute force rule
grep -E "(Failed password|Invalid user|Failed publickey|authentication failure)" \
tests/sample_logs/sample_auth.log | awk '{print $11}' | sort | uniq -c | sort -rn
# 检查 GTFOBin sudo abuse
grep "COMMAND=.*\(python\|bash\|vim\|perl\|find\|awk\)" \
tests/sample_logs/sample_auth.log
# 检查 group modification
grep "added to group \(sudo\|wheel\|docker\|disk\|admin\)" \
tests/sample_logs/sample_auth.log
```
### 使用 sigma-cli
```
# 转换为 grep 格式并直接测试
sigma convert -t grep rules/authentication/ssh_brute_force.yml | bash -s < tests/sample_logs/sample_auth.log
```
## 📐 规则格式与约定
所有规则均遵循 [Sigma 规范](https://sigmahq.io/docs/basics/rules.html)。本库中使用的关键字段:
| 字段 | 描述 |
|---|---|
| `id` | 规则的唯一 UUID |
| `status` | `stable` \| `experimental` \| `test` |
| `level` | `informational` → `low` → `medium` → `high` → `critical` |
| `tags` | MITRE ATT&CK 技术 ID(例如 `attack.t1110.001`) |
| `logsource` | 定义日志类型和平台 |
| `detection` | 匹配逻辑(selections + conditions) |
| `falsepositives` | 已知的良性触发,用于进行针对性调整 |
**本库中使用的严重程度指南:**
| 级别 | 含义 |
|---|---|
| `medium` | 可疑,需调查 —— 在嘈杂环境中常见 |
| `high` | 强烈的失陷指标 —— 立即调查 |
| `critical` | 保留给已确认的恶意行为,且无误报路径 |
## 🔧 调优技巧
1. **从 `medium` 规则开始**,以仅检测/告警模式建立基线
2. **构建白名单**,在启用阻断之前,先为已知的扫描器 IP、服务账户和管理工具建立列表
3. **关联规则** —— 来自同一 IP 的 SSH 暴力破解 + 随后的成功登录,比其中任何一个单独出现的信号都要强得多
4. **阈值调整** —— 所有基于计数的规则(`count(...) > N`)在备注部分都有说明,解释了需要根据您的环境调整什么
5. **结合上下文丰富信息** —— 将告警与资产清单配对以确定优先级(例如,针对域控制器的端口扫描比针对开发 VM 的扫描更关键)
## 🗺️ MITRE ATT&CK 覆盖范围
```
Credential Access ████████░░ T1110 (Brute Force variants)
Privilege Escalation ████████░░ T1548, T1134
Discovery ██████░░░░ T1046 (Network Service Discovery)
Execution ████████░░ T1218, T1059, T1105
Persistence ██████████ T1547, T1053, T1037, T1546
Defense Evasion ██████░░░░ T1218 (LOLBins)
```
## 📚 参考资料
- [Sigma HQ](https://sigmahq.io/) — 官方 Sigma 文档和规则仓库
- [sigma-cli](https://github.com/SigmaHQ/sigma-cli) — 规则转换工具
- [MITRE ATT&CK](https://attack.mitre.org/) — 对手技术框架
- [LOLBAS Project](https://lolbas-project.github.io/) — Windows LOL 二进制文件
- [GTFOBins](https://gtfobins.github.io/) — 通过系统二进制文件进行 Linux 权限提升
- [Uncoder.IO](https://uncoder.io/) — 基于 Web 的 Sigma 规则转换器(无需安装)
## ⚖️ 许可证
MIT — 可免费使用、修改及回馈贡献。
标签:AMSI绕过, asyncio, ATT&CK 框架, CSV导出, HTTP/HTTPS抓包, Linux 安全, LOLBins, macOS 安全, Python3.6, Reconnaissance, RFI远程文件包含, Sigma 规则, SSH 暴力破解, Windows 安全, 代码执行, 协议分析, 域名分析, 威胁检测, 子域枚举, 安全运营, 开源规则库, 态势感知, 扫描框架, 插件系统, 数据统计, 权限提升, 样本日志, 端口扫描, 网络安全, 速率限制, 隐私保护