juanmalbran/Nullsec-SIEM-ELK
GitHub: juanmalbran/Nullsec-SIEM-ELK
一个基于MISP与ELK Stack的端到端威胁检测集成项目,通过受控执行Bad Rabbit勒索软件验证了从威胁情报到SIEM真实告警的完整检测闭环。
Stars: 0 | Forks: 0
## 概述
**Nullsec** 是一个实验室,展示了端到端威胁检测的完整周期:手动加载到 **MISP** 中的 IOC,在 Windows 端点上受控执行 **Bad Rabbit** 勒索软件后,最终触发了 **SIEM 中的真实警报**。
这不仅仅是为了安装工具,而是为了证明威胁情报、遥测数据摄取和检测规则在生产环境中能够相互集成并协同工作。
## 架构

三台独立的机器通过 **使用 Tailscale 的私有 mesh 网络** 互连,每台机器负责一个模块:
| 模块 | 角色 | 组件 |
|---|---|---|
| **1 — MISP** | 威胁情报 | Bad Rabbit 的 IOC(哈希、C2 IP、域名)、MITRE ATT&CK Galaxies、用于 ti_misp 的 API |
| **2 — ELK Stack** *(我的模块)* | **检测核心 (SIEM)** | Elasticsearch · Kibana · Logstash · Fleet Server · ti_misp · 4 条 KQL 规则 |
| **3 — 受害虚拟机** | 被攻陷的端点 | Windows 10 · Elastic Agent · Sysmon · 执行 BadRabbit.exe |
## 我的工作 — SIEM(模块 2)
- 部署并强化了完整的 **ELK Stack 8.19.16**(Elasticsearch、Kibana、Logstash)。
- **Fleet Server**(端口 8220),用于集中管理 Elastic Agent。
- **ti_misp v1.43.1 集成**,用于将 IOC 从 MISP 同步到 SIEM。关键决策:将 `Initial interval` 设为 **2160h(90 天)** 而不是默认值(120h),因为 Bad Rabbit 的 IOC 在集成前 37 天以上就已加载,否则它们将永远无法同步。
- 在 Kibana 的 Detection Engine 中设置了 **4 条 KQL 检测规则**,每 5 分钟运行一次。

## 结果
在受害虚拟机上受控执行 Bad Rabbit 后,**4 条规则全部触发**:

- **预计 MTTD:5-6 分钟**
- 通过 ti_misp 同步了 **484** 份 IOC 文档
- 执行期间捕获了 **46** 个 Sysmon 事件
- 验证了端到端检测:**恶意 PowerShell · C2 IP · 恶意 DNS · 恶意 URL**
- 映射到 MITRE ATT&CK 的技术(T1218 rundll32、T1485、T1562.001 等)
## 技术栈
`Elasticsearch` · `Kibana` · `Logstash` · `Fleet Server` · `Elastic Agent` · `ti_misp` · `MISP` · `Sysmon v15.21` · `Tailscale VPN` · `CAPEv2` · `MITRE ATT&CK` · `KQL`
## 经验总结
- 有效的检测并不依赖于单一工具,而是依赖于通过 SIEM 实现威胁情报(MISP)和遥测数据(Sysmon)之间的**关联**。
- 一个配置细节(同步间隔)可能成为检测到或未检测到真实威胁的决定性因素。
- 设计 KQL 规则需要同时理解攻击技术(勒索软件的运作方式)和数据源(每个操作生成什么事件)。
标签:ELK Stack, 内容过滤, 威胁情报, 安全, 开发者工具, 超时处理, 越狱测试