Zkarx24/Proyecto-Final-NullSec
GitHub: ZeroExploit0x/Proyecto-Final-NullSec
该项目构建了一个结合 MISP 威胁情报与 Elastic Stack SIEM 的端到端威胁检测实验室,通过在隔离环境中受控执行真实勒索软件样本来验证 IOC 同步与自动化告警的完整检测周期。
Stars: 0 | Forks: 0
# 🛡️ 结合 Threat Intelligence 的威胁检测周期
**端到端检测实验室:MISP + SIEM (Elastic Stack) + 真实勒索软件的受控执行**
[](https://www.elastic.co/)
[](https://www.misp-project.org/)
[](https://learn.microsoft.com/sysinternals/downloads/sysmon)
[](https://tailscale.com/)
[](https://attack.mitre.org/)
[](https://keepcoding.io/)
KeepCoding 网络安全 Bootcamp (CS11) 的期末综合项目,由 **Nullsec** 团队开发。该项目实现了一个完整的威胁检测周期:从将真实勒索软件的 IOC 经过筛选后加载到 Threat Intelligence 平台,到在隔离的 endpoint 上受控执行样本生成遥测数据,最后在 SIEM 中对这些数据进行自动关联分析。
## 📋 目录
- [概述](#-resumen)
- [架构](#-arquitectura)
- [团队与角色](#-equipo-y-roles)
- [技术栈](#-stack-tecnológico)
- [实现内容](#-qué-se-implementó)
- [检测规则](#-reglas-de-detección)
- [妥协指标 (IOCs)](#-indicadores-de-compromiso-iocs)
- [MITRE ATT&CK 映射](#-mapeo-mitre-attck)
- [结果 / 证据](#-resultados--evidencia)
- [仓库结构](#-estructura-del-repositorio)
- [道德与安全考量](#-consideraciones-éticas-y-de-seguridad)
- [局限性与未来改进](#-limitaciones-y-mejoras-futuras)
- [完整文档](#-documentación-completa)
## 📖 概述
本项目整合了由团队每位成员独立开发的三个组件:
1. **MISP** — Threat Intelligence 平台,集中管理了 **Bad Rabbit** 勒索软件的 39 个 IOC,这些 IOC 均经过人工筛选并使用 MITRE ATT&CK 进行分类。
2. **SIEM (Elastic Stack)** — Elasticsearch + Kibana + Logstash + Fleet,通过原生集成 `ti_misp` 同步这些 IOC,并利用 4 条自定义检测规则实时关联事件。
3. **受害 VM (Windows 10)** — 隔离在专用 NAT 网络中的 endpoint,配置了 Sysmon 和 Elastic Agent,在此环境中执行了真实的 Bad Rabbit 样本以生成真实的遥测数据。
**结果:** 手动加载到 MISP 中的一个 IOC,在执行相应的恶意软件后在 SIEM 中触发了真实的警报,验证了端到端的检测周期。
## 🏗️ 架构
这三个节点完全通过私有 mesh 网络 进行通信,没有向互联网暴露任何服务。
```
flowchart LR
subgraph Tailnet["Red privada Tailscale (VPN mesh)"]
MISP["Servidor MISP
Threat Intelligence
100.82.43.53"] SIEM["Servidor SIEM / ELK
Elasticsearch · Kibana · Logstash · Fleet
100.121.95.14"] VM["VM Víctima (Windows 10)
Sysmon + Elastic Agent
100.97.37.74"] end MISP -->|"IOCs vía ti_misp
polling 10 min"| SIEM VM -->|"Telemetría vía Fleet
enrollment"| SIEM SIEM -->|"4 reglas de detección"| Alertas["Alertas correlacionadas
Kibana Security"] ``` **端到端流程:** 1. 在 sandbox (CAPEv2) 中对样本进行动态分析 → 生成初始 IOC 2. 将经过筛选的 IOC 加载到 MISP 中,并使用 MITRE ATT&CK 进行分类 3. 通过原生集成 `ti_misp` 定期同步到 SIEM 4. 在受害 VM 中受控执行恶意软件 → 通过 Elastic Agent + Sysmon 生成真实遥测数据 5. 通过 4 条激活的检测规则,自动关联真实遥测数据和 IOC ## 👥 团队与角色 | 成员 | 角色 | 职责 | |---|---|---| | **Brayan Gabriel Gutiérrez Rebolledo** | MISP / Threat Intelligence | 安装 MISP,筛选 39 个 IOC,通过 Tailscale 建立安全连接 | | **Juan Malbrán** | SIEM / ELK Stack | Elasticsearch, Kibana, Logstash, Fleet Server,检测规则 | | **Irene Alcalá Serrano** | 受害 VM / 受控执行 | 网络隔离,endpoint 遥测,恶意软件执行 | ## 🧰 技术栈 - **Threat Intelligence:** MISP (Malware Information Sharing Platform) - **SIEM:** Elastic Stack 8.19.16 (Elasticsearch, Kibana, Logstash, Fleet Server, Elastic Agent) - **Endpoint 遥测:** Sysmon v15.21 (Sysinternals) - **私有网络:** Tailscale (VPN mesh, WireGuard) - **恶意软件分析:** CAPEv2 (sandbox), MalwareBazaar (样本来源) - **分析样本:** Bad Rabbit (ransomware) - **参考框架:** MITRE ATT&CK - **隔离:** VirtualBox 中的专用 NAT 网络 (`SIEMLab`, 10.0.2.0/24) ## ✅ 实现内容 - MISP 平台包含 39 个经过人工筛选的 IOC(哈希值、C2 IP、域名、URL、注册表键、计划任务)以及 MITRE ATT&CK 分类。 - 基于 Elastic Stack 8.19.16 的完整 SIEM,Fleet Server 管理着 2 个 agent 策略(服务器 + Windows endpoint)。 - 使用 `ti_misp` 集成通过 API REST 原生消费 IOC(由于 SSL 证书问题,放弃了 TAXII)。 - Kibana Security 中激活了 4 条检测规则(Custom Query,每 5 分钟执行一次)。 - 专用的隔离 NAT 网络,用于控制恶意软件的执行,与生产网络没有任何连接。 - 在 endpoint 上安装 Sysmon 以捕获进程执行情况(如果没有它,Windows 的标准集成只能记录 PowerShell 日志)。 - 受控并记录了 Bad Rabbit 真实样本的执行过程,并在三份个人报告之间交叉验证了哈希值、IP 和行为。 ## 🔍 检测规则 | 规则 | 严重性 | Risk Score | |---|---|---| | 在 PowerShell 中检测 BadRabbit 脚本 | Critical | 99 | | 连接到恶意 IP (BadRabbit / STOP Ransomware) | Critical | 99 | | 对恶意域名的 DNS 查询 | High | 73 | | 访问恶意 URL (BadRabbit / STOP Ransomware) | High | 73 | 所有这些都是基于 `logs-windows.*` 的 *Custom Query* (KQL) 类型,每 5 分钟执行一次,并有 1 分钟的额外回溯时间。 ## 🎯 妥协指标 | 类型 | 数量 / 详情 | |---|---| | 加载到 MISP 的 IOC 属性 | 39 | | 样本哈希值 | SHA256, SHA1, MD5 | | 恶意 IP (C2 和 payload) | 13 | | 恶意域名 | 6 | | 释放的文件 | `dispci.exe`, `infpub.dat`, `cscc.dat` | | 保留期 | 90 天 | ## 🗺️ MITRE ATT&CK 映射 | 战术 | 技术 (ID) | 证据 | |---|---|---| | Defense Evasion / Execution | T1218 – Signed Binary Proxy Execution (`rundll32.exe`) | 在实验室中直接观察到 | | Impact | T1485 – Data Destruction | 文件加密和勒索信 | | Defense Evasion | T1562.001 – Impair Defenses | `antivirus-configuration-changed` 事件 | | Persistence / Priv. Escalation | T1053 – Scheduled Task/Job | MISP 中的事件分类 | | Credential Access | T1003 – OS Credential Dumping | MISP 中的事件分类 (CAPEv2) | | Defense Evasion | T1027 – Obfuscated Files or Information | MISP 中的事件分类 | | Command and Control | T1071 – Application Layer Protocol | IP/URL 检测规则 | | Persistence | T1543.003 – Windows Service | MISP 中的事件分类 | | Defense Evasion | T1070 – Indicator Removal on Host | MISP 中的事件分类 | ## 📊 结果 / 证据 - 从 MISP 同步了 **484** 个威胁事件 (`logs-ti_misp.threat-default`) - 从受害 VM 捕获了 **2.457+** 个 PowerShell 事件 - 在 Discover 中发现了 **46** 个与 `BadRabbit.exe` 执行相关的文档 - **4/4** 条激活的检测规则,最后一次执行状态为 `Succeeded` - 在团队的三份个人报告之间,对哈希值、IP、域名和行为进行了交叉验证 ## 📁 仓库结构 ``` . ├── README.md ├── docs/ │ ├── Informe_final_Nullsec.pdf # Informe técnico completo (3 partes + anexos) │ └── Presentacion_final_Nullsec.pdf # Slides de la presentación final └── screenshots/ # Capturas de configuración y evidencia (opcional) ``` ## ⚠️ 道德与安全考量 - Bad Rabbit 样本**仅**在隔离的 NAT 网络(`SIEMLab`,10.0.2.0/24)内执行,与生产网络或任何成员的家庭网络没有任何连接。 - 下载源是用于恶意软件研究的受控且公认的可靠来源。 - 禁用 Windows Defender 和 Firewall 的操作仅限于隔离的 VM,绝不会影响到物理主机。 - 对 VM 和样本的访问仅限于负责该项目阶段的成员。 - 收尾建议:一旦记录完所有证据,立即删除受感染的 VM 或将其恢复到之前的 snapshot;严禁将样本转移出隔离环境。 ## 🔮 局限性与未来改进 - 未评估真实的横向传播(EternalRomance/SMB,使用 Mimikatz 窃取的凭证);执行仅限于一台主机。 - 仅限于被动检测 —— 未引入 SOAR 来自动响应紧急警报。 - 手动加载 IOC(为确保质量而做出的设计决定);未来的改进方向是在保持相同筛选标准的前提下,增加 MISP 的自动化 feeds。 - 从自签名证书迁移到有效证书,从而免除禁用组件间 SSL 验证的需要。 - 使用 Infrastructure as Code(例如 Ansible)实现部署自动化,使其具备可重复性。 ## 📄 完整文档 - 📘 [完整技术报告](https://github.com/Zkarx24/Proyecto-Final-NullSec/blob/main/Informe_final_Nullsec.pdf) — 包含每个组件的安装、配置、故障排除和完整命令 - 🖥️ [最终演示文稿](https://github.com/Zkarx24/Proyecto-Final-NullSec/blob/main/Presentacion_final_Nullsec.pdf) **Nullsec 团队** · KeepCoding 网络安全 Bootcamp (CS11) · 2026 年 7 月
Threat Intelligence
100.82.43.53"] SIEM["Servidor SIEM / ELK
Elasticsearch · Kibana · Logstash · Fleet
100.121.95.14"] VM["VM Víctima (Windows 10)
Sysmon + Elastic Agent
100.97.37.74"] end MISP -->|"IOCs vía ti_misp
polling 10 min"| SIEM VM -->|"Telemetría vía Fleet
enrollment"| SIEM SIEM -->|"4 reglas de detección"| Alertas["Alertas correlacionadas
Kibana Security"] ``` **端到端流程:** 1. 在 sandbox (CAPEv2) 中对样本进行动态分析 → 生成初始 IOC 2. 将经过筛选的 IOC 加载到 MISP 中,并使用 MITRE ATT&CK 进行分类 3. 通过原生集成 `ti_misp` 定期同步到 SIEM 4. 在受害 VM 中受控执行恶意软件 → 通过 Elastic Agent + Sysmon 生成真实遥测数据 5. 通过 4 条激活的检测规则,自动关联真实遥测数据和 IOC ## 👥 团队与角色 | 成员 | 角色 | 职责 | |---|---|---| | **Brayan Gabriel Gutiérrez Rebolledo** | MISP / Threat Intelligence | 安装 MISP,筛选 39 个 IOC,通过 Tailscale 建立安全连接 | | **Juan Malbrán** | SIEM / ELK Stack | Elasticsearch, Kibana, Logstash, Fleet Server,检测规则 | | **Irene Alcalá Serrano** | 受害 VM / 受控执行 | 网络隔离,endpoint 遥测,恶意软件执行 | ## 🧰 技术栈 - **Threat Intelligence:** MISP (Malware Information Sharing Platform) - **SIEM:** Elastic Stack 8.19.16 (Elasticsearch, Kibana, Logstash, Fleet Server, Elastic Agent) - **Endpoint 遥测:** Sysmon v15.21 (Sysinternals) - **私有网络:** Tailscale (VPN mesh, WireGuard) - **恶意软件分析:** CAPEv2 (sandbox), MalwareBazaar (样本来源) - **分析样本:** Bad Rabbit (ransomware) - **参考框架:** MITRE ATT&CK - **隔离:** VirtualBox 中的专用 NAT 网络 (`SIEMLab`, 10.0.2.0/24) ## ✅ 实现内容 - MISP 平台包含 39 个经过人工筛选的 IOC(哈希值、C2 IP、域名、URL、注册表键、计划任务)以及 MITRE ATT&CK 分类。 - 基于 Elastic Stack 8.19.16 的完整 SIEM,Fleet Server 管理着 2 个 agent 策略(服务器 + Windows endpoint)。 - 使用 `ti_misp` 集成通过 API REST 原生消费 IOC(由于 SSL 证书问题,放弃了 TAXII)。 - Kibana Security 中激活了 4 条检测规则(Custom Query,每 5 分钟执行一次)。 - 专用的隔离 NAT 网络,用于控制恶意软件的执行,与生产网络没有任何连接。 - 在 endpoint 上安装 Sysmon 以捕获进程执行情况(如果没有它,Windows 的标准集成只能记录 PowerShell 日志)。 - 受控并记录了 Bad Rabbit 真实样本的执行过程,并在三份个人报告之间交叉验证了哈希值、IP 和行为。 ## 🔍 检测规则 | 规则 | 严重性 | Risk Score | |---|---|---| | 在 PowerShell 中检测 BadRabbit 脚本 | Critical | 99 | | 连接到恶意 IP (BadRabbit / STOP Ransomware) | Critical | 99 | | 对恶意域名的 DNS 查询 | High | 73 | | 访问恶意 URL (BadRabbit / STOP Ransomware) | High | 73 | 所有这些都是基于 `logs-windows.*` 的 *Custom Query* (KQL) 类型,每 5 分钟执行一次,并有 1 分钟的额外回溯时间。 ## 🎯 妥协指标 | 类型 | 数量 / 详情 | |---|---| | 加载到 MISP 的 IOC 属性 | 39 | | 样本哈希值 | SHA256, SHA1, MD5 | | 恶意 IP (C2 和 payload) | 13 | | 恶意域名 | 6 | | 释放的文件 | `dispci.exe`, `infpub.dat`, `cscc.dat` | | 保留期 | 90 天 | ## 🗺️ MITRE ATT&CK 映射 | 战术 | 技术 (ID) | 证据 | |---|---|---| | Defense Evasion / Execution | T1218 – Signed Binary Proxy Execution (`rundll32.exe`) | 在实验室中直接观察到 | | Impact | T1485 – Data Destruction | 文件加密和勒索信 | | Defense Evasion | T1562.001 – Impair Defenses | `antivirus-configuration-changed` 事件 | | Persistence / Priv. Escalation | T1053 – Scheduled Task/Job | MISP 中的事件分类 | | Credential Access | T1003 – OS Credential Dumping | MISP 中的事件分类 (CAPEv2) | | Defense Evasion | T1027 – Obfuscated Files or Information | MISP 中的事件分类 | | Command and Control | T1071 – Application Layer Protocol | IP/URL 检测规则 | | Persistence | T1543.003 – Windows Service | MISP 中的事件分类 | | Defense Evasion | T1070 – Indicator Removal on Host | MISP 中的事件分类 | ## 📊 结果 / 证据 - 从 MISP 同步了 **484** 个威胁事件 (`logs-ti_misp.threat-default`) - 从受害 VM 捕获了 **2.457+** 个 PowerShell 事件 - 在 Discover 中发现了 **46** 个与 `BadRabbit.exe` 执行相关的文档 - **4/4** 条激活的检测规则,最后一次执行状态为 `Succeeded` - 在团队的三份个人报告之间,对哈希值、IP、域名和行为进行了交叉验证 ## 📁 仓库结构 ``` . ├── README.md ├── docs/ │ ├── Informe_final_Nullsec.pdf # Informe técnico completo (3 partes + anexos) │ └── Presentacion_final_Nullsec.pdf # Slides de la presentación final └── screenshots/ # Capturas de configuración y evidencia (opcional) ``` ## ⚠️ 道德与安全考量 - Bad Rabbit 样本**仅**在隔离的 NAT 网络(`SIEMLab`,10.0.2.0/24)内执行,与生产网络或任何成员的家庭网络没有任何连接。 - 下载源是用于恶意软件研究的受控且公认的可靠来源。 - 禁用 Windows Defender 和 Firewall 的操作仅限于隔离的 VM,绝不会影响到物理主机。 - 对 VM 和样本的访问仅限于负责该项目阶段的成员。 - 收尾建议:一旦记录完所有证据,立即删除受感染的 VM 或将其恢复到之前的 snapshot;严禁将样本转移出隔离环境。 ## 🔮 局限性与未来改进 - 未评估真实的横向传播(EternalRomance/SMB,使用 Mimikatz 窃取的凭证);执行仅限于一台主机。 - 仅限于被动检测 —— 未引入 SOAR 来自动响应紧急警报。 - 手动加载 IOC(为确保质量而做出的设计决定);未来的改进方向是在保持相同筛选标准的前提下,增加 MISP 的自动化 feeds。 - 从自签名证书迁移到有效证书,从而免除禁用组件间 SSL 验证的需要。 - 使用 Infrastructure as Code(例如 Ansible)实现部署自动化,使其具备可重复性。 ## 📄 完整文档 - 📘 [完整技术报告](https://github.com/Zkarx24/Proyecto-Final-NullSec/blob/main/Informe_final_Nullsec.pdf) — 包含每个组件的安装、配置、故障排除和完整命令 - 🖥️ [最终演示文稿](https://github.com/Zkarx24/Proyecto-Final-NullSec/blob/main/Presentacion_final_Nullsec.pdf) **Nullsec 团队** · KeepCoding 网络安全 Bootcamp (CS11) · 2026 年 7 月
标签:MIT许可证, Shodan, 内容过滤, 越狱测试