koome011/cuckoo-malware-lab
GitHub: koome011/cuckoo-malware-lab
这是一个记录从零构建基于Cuckoo Sandbox的私有恶意软件分析实验室的完整教程与配置文档库。
Stars: 0 | Forks: 0
# 🔬 Cuckoo 恶意软件分析实验室




## 📌 项目概述
本项目记录了从零开始构建私有恶意软件分析实验室的设计、部署和操作过程。它在完全可控的隔离环境中,复现了商业沙箱(如 Any.run 和 Hybrid Analysis)的核心功能。
该实验室具备以下能力:
- **动态分析** Windows 可执行文件、脚本和文档
- **捕获行为性 IOC** —— 文件系统更改、注册表修改、网络调用、进程树
- **检测威胁**,使用自定义 YARA 规则和 Suricata 网络特征
- **标记 TTPs**,使用 MITRE ATT&CK 框架
- **丰富结果**,通过 VirusTotal 和 MISP 集成
- **自动化分析**,通过 Python REST API 流水线
这是一个学习项目和作品集,记录了构建的每个阶段,从环境设置到威胁情报集成。
## 🏗️ 实验室架构
```
┌─────────────────────────────────────────────────────┐
│ Windows 10 (Physical Host) │
│ VirtualBox │
│ │
│ ┌──────────────────┐ ┌───────────────────────┐ │
│ │ Ubuntu 20.04 VM │ │ Windows 10 VM │ │
│ │ (Cuckoo Host) │◄──►│ (Analysis Guest) │ │
│ │ │ │ │ │
│ │ - Cuckoo Engine │ │ - Cuckoo agent.py │ │
│ │ - Web Dashboard │ │ - Clean snapshot │ │
│ │ - MongoDB │ │ - Isolated network │ │
│ │ - Suricata IDS │ │ - Malware detonation │ │
│ │ - YARA Engine │ │ │ │
│ └──────────────────┘ └───────────────────────┘ │
│ │ │ │
│ └──── Host-only network ───┘ │
│ 192.168.56.0/24 │
│ (no internet for guest) │
└─────────────────────────────────────────────────────┘
```
## 🗂️ 仓库结构
```
cuckoo-malware-lab/
├── README.md # This file
├── docs/
│ ├── architecture.md # Detailed design decisions
│ ├── phase-1-setup.md # Environment setup walkthrough
│ ├── phase-2-installation.md # Cuckoo installation guide
│ ├── phase-3-analysis.md # Running first analyses
│ ├── phase-4-detection.md # YARA & Suricata rules
│ ├── phase-5-automation.md # Python automation pipeline
│ └── phase-6-threatintel.md # MISP & ATT&CK integration
├── configs/
│ ├── cuckoo.conf # Cuckoo main config (sanitized)
│ ├── virtualbox.conf # VM config
│ └── reporting.conf # Report output config
├── scripts/
│ ├── check_requirements.sh # Pre-flight system check
│ ├── setup_network.sh # Host-only network setup
│ ├── submit_sample.py # Automated sample submission
│ └── triage_report.py # Auto-triage analysis results
├── yara-rules/
│ ├── README.md
│ ├── ransomware.yar # Custom ransomware detection
│ ├── persistence.yar # Registry/startup persistence
│ └── network_iocs.yar # Suspicious network patterns
├── analysis-reports/
│ ├── README.md
│ └── cases/ # Sample analysis writeups
└── .gitignore
```
## 🚀 构建阶段
| 阶段 | 主题 | 状态 |
|-------|-------|--------|
| 0 | 项目设置与文档 | ✅ 已完成 |
| 1 | 环境与虚拟机配置 | 🔄 进行中 |
| 2 | Cuckoo 安装与配置 | ⏳ 待定 |
| 3 | 首次恶意软件分析 | ⏳ 待定 |
| 4 | YARA 规则与 Suricata IDS | ⏳ 待定 |
| 5 | Python 自动化流水线 | ⏳ 待定 |
| 6 | 威胁情报集成 | ⏳ 待定 |
| 7 | 仪表板与报告 | ⏳ 待定 |
## 🛠️ 技术栈
| 组件 | 技术 |
|-----------|-----------|
| 沙箱引擎 | Cuckoo Sandbox 2.0.7 |
| Cuckoo 主机操作系统 | Ubuntu 20.04 LTS |
| 分析客户机操作系统 | Windows 10 |
| 虚拟机监控程序 | VirtualBox 6.x |
| 数据库 | MongoDB |
| 网络 IDS | Suricata |
| 静态分析 | YARA |
| 威胁情报 | MISP, VirusTotal API |
| 自动化 | Python 3, REST API |
| ATT&CK 映射 | MITRE ATT&CK Navigator |
## ⚠️ 安全与伦理
- 所有恶意软件样本均在**完全隔离的环境**中进行分析,客户机 VM 无法访问互联网
- 样本来源于**合法的恶意软件存储库**(MalwareBazaar, theZoo, VirusTotal)
- 本实验室**仅供教育和防御安全目的使用**
- 切勿在隔离的沙箱环境之外运行恶意软件样本
- 本仓库中的所有配置均已**清理** —— 未提交任何真实的 API 密钥或凭据
## 📚 学习成果
通过完成本项目,我学到了:
- 自动化恶意软件沙箱的内部工作机制
- 动态行为分析技术
- 编写用于威胁检测的 YARA 签名
- 使用 Suricata 进行基于网络的检测
- MITRE ATT&CK TTP 映射和威胁情报工作流
- 使用 Python 构建安全自动化
## 📖 文档
完整的分步构建文档位于 [`/docs`](./docs/) 文件夹中。每个阶段都有其单独的说明,不仅解释做了*什么*,还解释了*为什么* —— 包括决策、遇到的问题和经验教训。
## 🔗 参考资料
- [Cuckoo Sandbox Documentation](https://cuckoo.sh/docs/)
- [MITRE ATT&CK Framework](https://attack.mitre.org/)
- [YARA Documentation](https://yara.readthedocs.io/)
- [Suricata Documentation](https://suricata.readthedocs.io/)
- [MalwareBazaar](https://bazaar.abuse.ch/) — 样本来源
*作为一个动手实践的网络安全学习项目而构建。查看 [docs](./docs/) 文件夹以获取完整的构建演练。*
标签:Ask搜索, Cuckoo, DAST, IOCs, IP 地址批量处理, Metaprompt, Python, REST API, Suricata, VirtualBox, VirusTotal, Windows 10, YARA, 云资产可视化, 云资产清单, 威胁情报, 开发者工具, 恶意软件分析, 数据包嗅探, 无后门, 沙箱, 现代安全运营, 网络信息收集, 网络安全, 网络安全审计, 网络调试, 自动化, 虚拟化, 蜜罐, 证书利用, 逆向工具, 逆向工程, 隐私保护