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报告查看器, 信息收集自动化, 妥协指标, 威胁情报, 威胁检测, 安全仪表板, 安全信息和事件管理, 安全运营, 安全运营中心, 开发者工具, 扫描框架, 攻击检测, 攻击模式识别, 查询优化, 漏洞发现, 目标导入, 结构化查询, 网络安全, 网络映射, 自动化安全, 规则创建, 警报管理, 越狱测试, 隐私保护