jasarjibran/detection-engineering-home-lab
GitHub: jasarjibran/detection-engineering-home-lab
基于MITRE ATT&CK的检测工程家庭实验室,提供实战演练环境。
Stars: 0 | Forks: 0
# 检测工程家庭实验室
### Splunk · Sysmon · MITRE ATT&CK · Atomic Red Team · Sigma





## TL;DR
我建立了一个功能齐全的SOC实验室,以练习端到端的检测工程工作流程:
**执行真实攻击者的技术 → 捕获遥测数据 → 编写自定义检测 → 记录事件响应。**
此存储库包含我在构建过程中编写的所有SPL检测查询、仪表板、MITRE ATT&CK映射和事件响应报告。
## 为什么选择这个项目
大多数入门级SOC候选人可以谈论理论上的检测。这个实验室证明了我可以:
- 架构从端点到SIEM的安全遥测管道
- 执行真实攻击者的技术,并分析它们在日志中的样子
- 从原始遥测数据编写SPL检测,而不仅仅是消费预构建的检测
- 使用在生产SOC中使用的结构和语言记录事件
- 调整检测以减少误报,就像一名合格的分析师一样
## 架构
```
┌─────────────────────┐ ┌─────────────────────┐
│ Attacker │ │ Victim │
│ Kali Linux │────────▶│ Windows 11 │
│ Atomic Red Team │ Attack │ + Sysmon │
│ │ │ + Splunk UF │
└─────────────────────┘ └──────────┬──────────┘
│
│ Forwarded Logs
▼
┌─────────────────────┐
│ Splunk Enterprise │
│ Ubuntu 22.04 │
│ │
│ • Indexers │
│ • Detection Rules │
│ • Dashboards │
│ • Alerts │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ Analyst Workflow │
│ • Triage │
│ • Investigation │
│ • IR Documentation│
└─────────────────────┘
```
**完整设置指南:** [01-architecture/lab-setup-guide.md](01-architecture/lab-setup-guide.md)
## 技术栈
| 层 | 工具 | 目的 |
|-------|------|---------|
| SIEM | Splunk Enterprise (免费许可证) | 日志聚合、搜索、警报 |
| 端点遥测 | Sysmon (SwiftOnSecurity配置) | 精细Windows事件记录 |
| 日志转发 | Splunk通用转发器 | 端点→SIEM管道 |
| 攻击平台 | Kali Linux + Atomic Red Team | 攻击者模拟 |
| 受害端点 | Windows 11 + Windows Server 2022 | 现实的企业目标 |
| 框架 | MITRE ATT&CK、Cyber Kill Chain、Sigma | 检测映射标准 |
| 检测语言 | SPL (Splunk处理语言) | 自定义规则编写 |
## 检测到的攻击技术
以下每个技术都在实验室中执行,并使用自定义SPL进行检测。点击任何一行以获取完整的攻击执行、检测逻辑和IR报告。
| # | MITRE ID | 技术 | 战术 | 难度 |
|---|----------|-----------|--------|------------|
| 1 | [T1003.001](02-attacks/T1003-credential-dumping/) | LSASS内存转储(Mimikatz) | 凭据访问 | 高 |
| 2 | [T1059.001](02-attacks/T1059-powershell/) | PowerShell编码命令 | 执行 | 中等 |
| 3 | [T1053.005](02-attacks/T1053-scheduled-task/) | 定时任务持久性 | 持久性 | 低 |
| 4 | [T1021.002](02-attacks/T1021-lateral-movement/) | SMB / PsExec横向移动 | 横向移动 | 中等 |
| 5 | [T1562.001](02-attacks/T1562-defense-evasion/) | 禁用Windows Defender | 防御规避 | 低 |
| 6 | [T1048.003](02-attacks/T1048-exfiltration/) | DNS隧道泄露 | 泄露 | 高 |
## 示例检测:LSASS凭据转储
此SPL查询检测可疑进程访问LSASS内存——Mimikatz和大多数凭据窃取工具使用的技术。
```
index=sysmon EventCode=10 TargetImage="*lsass.exe*"
| where NOT match(SourceImage, "(?i)(System32\\\\(svchost|wininit|csrss|services|lsm)\.exe|Microsoft\\\\Windows Defender)")
| eval GrantedAccess_decimal = tonumber(GrantedAccess, 16)
| where (GrantedAccess_decimal AND 0x1010) == 0x1010
| stats count, values(SourceImage) as SourceProcess, values(SourceUser) as User by _time, host
| eval severity = "HIGH"
| eval mitre_technique = "T1003.001"
| eval description = "Suspicious process requested LSASS memory access with read rights"
```
**为什么这有效:** Mimikatz需要特定的访问权限(`PROCESS_VM_READ` + `PROCESS_QUERY_INFORMATION` = `0x1010`)来转储凭据。过滤掉已知良好的系统进程,只留下值得调查的可疑访问。
**完整说明:** [02-attacks/T1003-credential-dumping/](02-attacks/T1003-credential-dumping/)
## 此存储库包含的内容
```
detection-engineering-home-lab/
│
├── 01-architecture/ ← Lab build guide & network diagrams
├── 02-attacks/ ← Per-technique: execution, detection, IR
│ ├── T1003-credential-dumping/
│ ├── T1059-powershell/
│ ├── T1053-scheduled-task/
│ ├── T1021-lateral-movement/
│ ├── T1562-defense-evasion/
│ └── T1048-exfiltration/
├── 03-detections/ ← Consolidated SPL rule library
│ ├── splunk-queries.md
│ ├── sigma-rules/
│ └── dashboard-config.md
├── 04-incident-reports/ ← Production-style IR documentation
│ ├── IR-001-credential-dumping.md
│ ├── IR-002-powershell-execution.md
│ └── ...
└── 05-lessons-learned/ ← What I'd do differently in production
└── production-considerations.md
```
## 展示的技能
| 技能领域 | 存储库中的证据 |
|------------|----------------------|
| **SIEM工程** | Splunk部署、索引配置、字段提取 |
| **检测工程** | 50多个自定义SPL查询、Sigma规则转换 |
| **威胁狩猎** | 每个技术的假设驱动狩猎笔记本 |
| **事件响应** | 根据800-61结构编写的6份完整IR报告 |
| **MITRE ATT&CK映射** | 每个检测映射到战术+技术 |
| **攻击者模拟** | Atomic Red Team执行+自定义攻击链 |
| **文档** | 生产级说明,而非实验室存档 |
| **生产思维** | 误报调整、扩展考虑 |
## 关键要点
完成此实验室后,我能够流利地谈论:
1. **为什么检测会失败**——大多数检测基于指标,而不是行为。围绕合法管理员活动进行调整是难点。
2. **为什么遥测比工具更重要**——Sysmon事件ID 10可以捕获Mimikatz;默认的Windows日志无法做到。
3. **为什么MITRE ATT&CK不仅仅是 buzzword**——将检测映射到技术可以显示仪表板无法显示的覆盖差距。
4. **为什么IR文档与检测一样重要**——一个很好的警报和一个糟糕的工单会被忽略。两者都必须强大。
## 生产中我会如何做不同
[在`05-lessons-learned/`中提供完整分析](05-lessons-learned/production-considerations.md)
- 使用Git版本控制和CI/CD验证实现检测即代码
- 构建SOAR剧本来自动丰富和包含高置信度警报
- 在合法AV/EDR进程周围调整LSASS访问检测(显著的误报来源)
- 添加UEBA以行为基线代替纯指标检测
- 将检测流式传输到数据湖,以便在历史遥测上进行回溯狩猎
## 关于我
我是一名专注于SOC、检测工程和GRC的早期职业安全分析师。这个实验室代表了大约20小时的动手工作,包括构建、破坏和检测——而不是消费教程。
**找到我:** [LinkedIn](#) · [电子邮件](#) · [其他项目](#)
## 许可证与致谢
- Sysmon配置基于[SwiftOnSecurity/sysmon-config](https://github.com/SwiftOnSecurity/sysmon-config)
- 攻击技术来源于[Atomic Red Team](https://github.com/redcanaryco/atomic-red-team)
- 检测逻辑模式受到[SigmaHQ](https://github.com/SigmaHQ/sigma)社区规则启发
- MITRE ATT&CK®是The MITRE Corporation的注册商标
*作为一个个人项目构建。所有攻击都在隔离的实验室环境中执行。*
标签:管理员页面发现