ibernal1815/malware-analysis-lab
GitHub: ibernal1815/malware-analysis-lab
Stars: 0 | Forks: 0
# 恶意软件分析实验室
这是我建立的一个个人研究实验室,用于练习和记录从始至终的恶意软件分析过程。它涵盖了从初始静态分诊到行为引爆、内存取证以及基于发现编写检测内容的所有内容。该仓库旨在作为我自己的工作参考,同时也作为一个作品集,展示我如何分析和检测威胁。
## 目的
我建立这个实验室是为了磨练在 SOC 和检测工程岗位中最重要的技能。我分析的每一个样本都遵循相同的结构化流程:静态分诊、在隔离环境中引爆、提取内存,然后将这些发现转化为实际的检测规则。重点不仅仅是记录恶意软件的行为,而是要充分理解这些行为,以便在真实环境中捕获它。
## 实验室环境
| 组件 | 详情 |
|-------------------|--------------------------------------------|
| 宿主机操作系统 (Host OS) | Windows 11 |
| Hypervisor | VirtualBox |
| 分析虚拟机 (Win) | FLARE-VM (Windows 11, 隔离的 Host-Only 网络) |
| 分析虚拟机 (Lin) | REMnux (基于 Ubuntu, 隔离的 Host-Only 网络) |
| SIEM | Wazuh |
| 网络监控 | Suricata, Wireshark |
| 内存取证 | Volatility 3 |
| 日志分析 | Elastic Stack / Kibana |
所有虚拟机均在隔离的 Host-Only 适配器上运行,在引爆期间没有外部互联网访问权限。我在每次会话前拍摄一个干净的快照,并在结束后立即还原。
## 仓库结构
```
malware-analysis-lab/
│
├── docs/ # Lab architecture, tool rationale, safety practices
├── setup/ # VM configuration and environment setup guides
├── static-analysis/ # PE analysis, YARA rules, pre-execution findings
│ ├── yara-rules/ # Custom and tuned YARA detection rules
│ └── reports/ # Per-sample static analysis reports
├── dynamic-analysis/ # Behavioral analysis, IOC extraction, network findings
│ └── reports/ # Per-sample dynamic analysis reports
├── memory-forensics/ # Volatility 3 workflows and memory artifact reports
│ └── reports/ # Per-sample memory forensics reports
├── detection-engineering/ # Sigma rules, Wazuh alerts, MITRE ATT&CK mapping
│ ├── sigma-rules/ # Detection rules in Sigma format
│ └── wazuh-rules/ # Custom Wazuh XML alert rules
├── tools-reference/ # Personal notes and cheat sheets for core tools
└── samples-index.md # Index of all analyzed samples with report links
```
## 分析方法论
我处理的每一个样本都按相同的顺序经历四个阶段。
**1. 静态分析**
在运行任何东西之前,我先进行预执行检查。这包括审查 PE 头、检查节区熵、检查导入表、提取字符串,以及针对二进制文件运行 YARA 和 CAPA,以发现功能和任何已知的签名。
**2. 动态分析**
静态分析完成后,我在隔离的虚拟机中引爆样本并监控一切。文件系统更改、注册表写入、进程创建和网络活动均使用 ProcMon、Noriben 和 Wireshark 进行捕获。我在每次会话结束时提取 IOC,并以结构化格式记录它们。
**3. 内存取证**
引爆后,我获取内存镜像并通过 Volatility 3 进行分析。我寻找注入的代码、可疑的进程关系、隐藏的网络连接以及恶意软件试图在磁盘检查中隐藏的任何其他内容。
**4. 检测工程**
这是分析产生回报的地方。我利用在所有三个阶段中发现的内容,围绕它构建检测内容。这意味着编写可以跨不同 SIEM 部署的 Sigma 规则,创建与特定行为绑定的自定义 Wazuh 告警规则,并将每个相关技术映射到 MITRE ATT&CK。
## 使用的工具
| 类别 | 工具 |
|---------------------|---------------------------------------------------|
| 静态分析 | PEStudio, CAPA, Detect-It-Easy, strings, floss |
| 动态分析 | ProcMon, Noriben, Wireshark, FakeNet-NG, x64dbg |
| 内存取证 | Volatility 3, WinPmem |
| 检测 | Sigma, Wazuh, Elastic SIEM, Suricata |
| 威胁情报 | MalwareBazaar, VirusTotal, Any.run, MITRE ATT&CK |
## 样本索引
请参阅 [samples-index.md](./samples-index.md) 获取我分析过的每个样本的完整表格,包括恶意软件家族、类型、来源以及指向单个报告的链接。
## MITRE ATT&CK 覆盖范围
此实验室中的每个检测规则和分析报告都映射到 MITRE ATT&CK Enterprise 框架中的技术。我在 [detection-engineering/mitre-mapping.md](./detection-engineering/mitre-mapping.md) 中追踪覆盖情况。
## 展示的技能
在整个实验室中,我涉及恶意软件分诊和行为分析、IOC 提取和威胁情报丰富、内存取证和工件恢复、使用 Sigma 和 Wazuh 编写检测规则、MITRE ATT&CK 技术映射以及 SIEM 集成和告警调优。
## 参考资料和样本来源
[MalwareBazaar](https://bazaar.abuse.ch) 是我的主要样本来源,由 abuse.ch 社区维护。我还参考 [Any.run](https://any.run) 进行行为沙箱比较,参考 [MITRE ATT&CK](https://attack.mitre.org) 进行技术映射,并使用 [FLARE-VM](https://github.com/mandiant/flare-vm) 和 [REMnux](https://remnux.org) 作为我的分析环境。内存分析运行在 [Volatility 3](https://github.com/volatilityfoundation/volatility3) 上。
## 免责声明
该实验室严格用于教育和研究目的。所有样本均来自公开的威胁情报存储库,并仅在隔离的实验室环境内处理。本仓库不存储或分发任何恶意代码。
标签:DAST, DNS通配符暴力破解, Elastic Stack, FLARE-VM, IP 地址批量处理, meg, Metaprompt, MIT许可证, REMnux, SecList, Suricata, VirtualBox, Wazuh, Windows 11, Wireshark, 云安全监控, 信息安全, 内存取证, 句柄查看, 后渗透, 威胁情报, 安全实验室, 安全运营中心, 开发者工具, 恶意软件分析, 数字取证, 数据包嗅探, 无线安全, 样本分析, 流量嗅探, 流量重放, 现代安全运营, 网络信息收集, 网络安全, 网络安全审计, 网络映射, 网络流量分析, 自动化脚本, 蜜罐, 证书利用, 越狱测试, 隐私保护, 静态分析