CyberSecAndy/siem-detection-threat-hunting
GitHub: CyberSecAndy/siem-detection-threat-hunting
这是一个基于Home SOC Lab真实日志的SIEM检测工程和威胁狩猎实践项目,旨在帮助安全人员掌握从规则创建到事件分析的全流程技能。
Stars: 0 | Forks: 0
# SIEM 检测与威胁狩猎实验室
基于 Home SOC Lab 环境的真实日志进行实践检测工程和威胁狩猎。
## 🎯 概述
本项目提供以下实践经验:
- **检测规则创建**:构建 Sigma、Splunk SPL 和 Elastic KQL 规则
- **威胁狩猎**:主动寻找入侵指标
- **SIEM 查询**:掌握高级查询语言
- **告警调优**:减少误报,增加真阳性
- **威胁情报**:应用基于 IOC 的检测
- **事件调查**:分析事件以理解攻击
## 📚 学习内容
✅ 编写有效的检测规则
✅ 掌握 Splunk SPL 和 Elastic KQL
✅ 理解 Sigma 规则格式
✅ 进行大规模威胁狩猎
✅ 跨系统关联事件
✅ 识别攻击模式
✅ 减少告警疲劳
✅ 创建狩猎剧本
✅ 构建 SOC 仪表板
✅ 自动化检测工作流
## 🏗️ 项目结构
```
siem-detection-threat-hunting/
├── README.md
├── GETTING-STARTED.md
├── detections/
│ ├── credential-dumping/
│ │ ├── README.md
│ │ ├── sigma.yml
│ │ ├── splunk-spl.txt
│ │ ├── elastic-kql.txt
│ │ └── examples/
│ ├── lateral-movement/
│ ├── privilege-escalation/
│ ├── persistence/
│ ├── data-exfiltration/
│ └── ransomware/
├── threat-hunting/
│ ├── playbooks/
│ │ ├── hunting-for-encoded-powershell.md
│ │ ├── hunting-for-credential-dumping.md
│ │ ├── hunting-for-lateral-movement.md
│ │ ├── hunting-for-persistence.md
│ │ └── hunting-for-data-exfiltration.md
│ ├── queries/
│ │ ├── splunk/
│ │ ├── elastic/
│ │ └── README.md
│ └── dashboards/
│ ├── splunk-dashboards.xml
│ └── elastic-dashboards.json
├── resources/
│ ├── false-positive-analysis.md
│ ├── mitre-detection-mapping.md
│ ├── siem-query-reference.md
│ └── alert-tuning-guide.md
└── examples/
├── detected-attacks/
└── case-studies/
```
## 🚀 快速开始
### 前置条件
- Home SOC Lab 已部署并运行
- 可访问 SIEM(Splunk 或 Elastic)
- 正在收集 Windows 日志
- Sysmon 事件可用
### 步骤一:连接到你的 SIEM
**Elastic Stack**:
```
URL: http://192.168.100.30:5601
Index Pattern: winlogbeat-*
```
**Splunk**:
```
URL: http://192.168.100.30:8000
Index: windows
```
### 步骤二:探索可用事件
**Elastic KQL**:
```
host.name:"Windows-Target"
```
**Splunk SPL**:
```
index=windows source="WinEventLog:Microsoft-Windows-Sysmon/Operational"
| stats count by EventCode
```
### 步骤三:使用检测规则
从凭证转储检测开始:
**目录**:`detections/credential-dumping/`
## 🔍 检测类别
### 1. 凭证转储 (T1003)
**是什么**:攻击者从内存或 SAM 数据库中提取密码
**为什么**:用于横向移动和提升权限
**如何检测**:监控对 LSASS 的进程访问、对 SAM 的注册表访问
**工具**:Mimikatz、ProcDump、Hashdump
**Sigma 规则**:`detections/credential-dumping/sigma.yml`
**Splunk 查询**:`detections/credential-dumping/splunk-spl.txt`
**Elastic 查询**:`detections/credential-dumping/elastic-kql.txt`
### 2. 横向移动 (T1021)
**是什么**:攻击者从一个系统移动到另一个系统
**为什么**:寻找有价值的数据或提升权限
**如何检测**:监控认证事件、SMB 活动、RDP 会话
**技术**:PsExec、WMI、RDP、SSH、SMB 共享
**指标**:异常的服务创建、访问的管理共享、登录事件链
### 3. 权限提升 (T1548)
**是什么**:攻击者从用户权限提升至管理员权限
**为什么**:访问受限文件并执行特权命令
**如何检测**:监控 UAC 绕过尝试、服务修改、令牌模拟
**技术**:UAC 绕过、DLL 注入、令牌模拟、内核利用
### 4. 持久化 (T1547)
**是什么**:攻击者建立机制以维持访问
**为什么**:确保即使初始访问被移除也能长期存在
**如何检测**:监控注册表修改、计划任务创建、服务安装
**技术**:注册表运行键、计划任务、WMI 订阅、登录脚本
### 5. 数据渗出 (T1041)
**是什么**:攻击者将数据移出网络
**为什么**:出于利益或间谍目的窃取敏感信息
**如何检测**:监控网络流量、DNS 查询、文件大小传输
**技术**:DNS 隧道、HTTPS 隧道、SMB 渗出、FTP 传输
### 6. 勒索软件 (T1561)
**是什么**:攻击者加密文件并要求付款
**为什么**:勒索和破坏
**如何检测**:监控文件修改、进程执行模式、卷影副本删除
**指标**:快速文件更改、扩展名更改、可疑文件删除、高磁盘 I/O
## 📊 MITRE ATT&CK 映射
| 技术 | ID | 检测覆盖率 |
|-----------|----|-----------|
| 凭证转储 | T1003 | ✅ 高 |
| 远程服务 | T1021 | ✅ 高 |
| 权限提升 | T1548 | ✅ 中 |
| 启动/登录自启动 | T1547 | ✅ 高 |
| 通过 C2 渗出 | T1041 | ✅ 中 |
| 磁盘内容擦除 | T1561 | ✅ 高 |
| PowerShell | T1086 | ✅ 高 |
| Windows 管理共享 | T1570 | ✅ 高 |
| 服务创建 | T1543 | ✅ 高 |
## 🎓 学习路径
### 阶段一:基础 (4-6 小时)
1. 阅读 GETTING-STARTED.md
2. 探索 SIEM 界面
3. 运行基本查询
4. 理解 Sysmon 事件 ID
5. 复习 Windows 事件日志结构
### 阶段二:检测规则 (6-8 小时)
1. 学习 Sigma 规则格式
2. 将 Sigma 转换为 Splunk SPL
3. 将 Sigma 转换为 Elastic KQL
4. 使用样本数据测试规则
5. 分析误报
### 阶段三:威胁狩猎 (6-8 小时)
1. 练习狩猎剧本
2. 执行狩猎查询
3. 关联事件
4. 记录发现
5. 创建案例研究
### 阶段四:高级主题 (6-8 小时)
1. 构建自定义仪表板
2. 创建告警规则
3. 实施检测调优
4. 跨系统关联
5. 构建威胁情报集成
**总计**:完全掌握需要 22-30 小时
## 🛠️ 使用资源
### 检测规则
每个检测规则包括:
- **Sigma 格式**(通用,平台无关)
- **Splunk SPL**(Splunk 查询语言)
- **Elastic KQL**(Kibana 查询语言)
- **示例检测**(真实攻击截图)
- **误报分析**(调优指导)
- **MITRE 映射**(技术参考)
### 威胁狩猎剧本
每个剧本包括:
- **目标**:你正在寻找什么
- **威胁模型**:为什么攻击者这样做
- **IOC**:需要查找的指标
- **查询**:预构建的 SIEM 查询
- **分析步骤**:如何调查发现
- **案例研究**:带有发现的真实示例
## 🔗 与 Home SOC Lab 集成
本项目使用来自 **Home SOC Lab** 攻击场景的日志:
```
Home SOC Lab Attack Scenario
↓
Sysmon Event Logging
↓
Winlogbeat Forwarding
↓
Elasticsearch/Splunk
↓
Detection Rules Applied
↓
Detection & Investigation (This Project)
```
**使用这些规则**:
1. 部署 Home SOC Lab
2. 从 `attack-scenarios/` 运行攻击场景
3. 应用本项目的检测规则
4. 验证检测触发
5. 根据结果进行调优
## 📈 关键概念
### 误报 (FP)
**定义**:由合法活动触发的警报
**问题**:分析师在非威胁上浪费时间
**解决方案**:调整规则以排除已知的合法模式
### 真阳性 (TP)
**定义**:由实际恶意活动触发的警报
**目标**:最大化这些
**方法**:编写具体的规则,忽略噪音
### 灵敏度与特异性
- **高灵敏度**:捕获所有内容(但有很多误报)
- **高特异性**:仅对确定威胁发出警报(但会错过一些)
- **最佳平衡点**:平衡两者
## 💡 最佳实践
### 规则开发
1. **从具体开始**:首先编写非常具体的规则
2. **彻底测试**:用真实数据进行验证
3. **文档完善**:解释检测逻辑
4. **监控误报**:随时间跟踪和调优
5. **使用基线**:首先了解正常活动
### 威胁狩猎
1. **有假设**:针对特定事物进行狩猎
2. **遵循数据**:让证据引导你
3. **记录步骤**:记录你的过程
4. **分享发现**:交流你的发现
5. **迭代**:根据学习进行优化
### 告警调优
1. **建立基线**:什么是正常的?
2. **识别噪音**:什么导致误报?
3. **排除已知良品**:将合法活动列入白名单
4. **调整阈值**:找到合适的灵敏度
5. **监控趋势**:跟踪误报率随时间的变化
## 📖 如何使用此仓库
### 用于学习检测
1. 选择一个检测:`detections/credential-dumping/`
2. 阅读 README.md 了解背景
3. 审查 Sigma 规则:`sigma.yml`
4. 学习 Splunk 版本:`splunk-spl.txt`
5. 比较 Elastic 版本:`elastic-kql.txt`
6. 查看示例:`examples/`
### 用于威胁狩猎
1. 选择一个剧本:`threat-hunting/playbooks/`
2. 阅读目标和威胁模型
3. 审查提供的查询
4. 在你的 SIEM 中执行
5. 遵循分析步骤
6. 记录发现
### 用于构建仪表板
1. 访问仪表板:`threat-hunting/dashboards/`
2. 导入到你的 SIEM
3. 自定义可视化
4. 添加到狩猎工具包
## 🔗 跨项目集成
本项目与以下项目关联:
- **[Home SOC Lab](https://github.com/CyberSecAndy/Home-SOC-Lab)** ← 使用此处的日志
- **[检测规则工程](https://github.com/CyberSecAndy/detection-rule-engineering)** → 深入探究规则创建
- **[事件响应案例研究](https://github.com/CyberSecAndy/incident-response-case-studies)** → 记录调查过程
- **[SOC 自动化脚本](https://github.com/CyberSecAndy/soc-automation-scripts)** → 自动化检测任务
## 📚 外部资源
### 检测框架
- [MITRE ATT&CK](https://attack.mitre.org/)
- [Sigma 规则](https://github.com/SigmaHQ/sigma)
- [Splunk SPL](https://docs.splunk.com/Documentation/Splunk/9.0.0/Search/GetstartedwithSearch)
- [Elastic 查询语言](https://www.elastic.co/guide/en/kibana/current/kuery.html)
### 检测资源
- [Splunk Boss of the SOC](https://www.splunk.com/en_us/boss-of-the-soc.html)
- [Elastic 安全实验室](https://www.elastic.co/security-labs)
- [Windows 事件日志 ID 参考](https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/)
- [Sysmon 事件 ID 参考](https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon)
## ✅ 验证清单
开始前:
- [ ] Home SOC Lab 已部署并运行
- [ ] 日志流向 SIEM
- [ ] 可以访问 SIEM 用户界面
- [ ] 可以看到样本 Windows 事件
- [ ] Sysmon 事件正在显示
- [ ] 可以执行基本查询
## 📞 支持
如有问题或疑问:
1. 检查 [GETTING-STARTED.md](GETTING-STARTED.md)
2. 审阅资源指南
3. 创建 GitHub issue
4. 参考 [Home SOC Lab 故障排除](https://github.com/CyberSecAndy/Home-SOC-Lab/blob/main/SETUP-GUIDE.md#part-6-troubleshooting)
**状态**:🟢 生产就绪
**版本**:1.0.0
**最后更新**:2026-05-18
**难度**:中级
**掌握时间**:22-30 小时
**开始狩猎吧! 🕵️**
标签:AMSI绕过, Elasticsearch, IOC检测, KQL查询, PE 加载器, PFX证书, Sigma规则, SOC工具, SPL查询, Web报告查看器, 信息收集自动化, 妥协指标, 威胁情报, 威胁检测, 安全仪表板, 安全信息和事件管理, 安全运营, 安全运营中心, 开发者工具, 扫描框架, 攻击检测, 攻击模式识别, 查询优化, 漏洞发现, 目标导入, 结构化查询, 网络安全, 网络映射, 自动化安全, 规则创建, 警报管理, 越狱测试, 隐私保护