editsbyrafayyy/Malware-Analysis-Lab

GitHub: editsbyrafayyy/Malware-Analysis-Lab

一套基于 Arch Linux 和 CAPEv2 的恶意软件分析家庭实验室完整构建方案,涵盖环境搭建、动态静态分析、IOC 提取和 MITRE ATT&CK 行为映射。

Stars: 0 | Forks: 0

# 恶意软件分析家庭实验室 一个用于**动态和静态恶意软件分析**的个人研究环境,在 Arch Linux 上使用 CAPEv2 沙箱、KVM/QEMU 虚拟化技术和完全隔离的网络构建。本仓库记录了完整的设置过程、配置期间遇到的错误、在此过程中学到的概念,以及针对所研究的每个样本的结构化分析报告。 该实验室是我作为一名专注于蓝队行动、SOC 分析和威胁情报的网络安全从业人员持续发展的一部分。 ## 目标 - 构建一个安全、可复现的恶意软件行为分析环境 - 培养对行业标准工具的动手熟悉度(CAPEv2、Volatility3、Wireshark、INetSim) - 练习提取和记录失陷指标(IOC) - 将观察到的恶意软件行为映射到 MITRE ATT&CK 框架 - 生成与真实 SOC 工作流程格式一致的分析报告 ## 实验室技术栈 | 组件 | 工具 | 用途 | |---|---|---| | 宿主机操作系统 | Arch Linux (XFCE) | CAPEv2 控制器和 KVM hypervisor | | 沙箱 | CAPEv2 | 自动化动态分析和报告 | | 虚拟化 | KVM / QEMU + virt-manager | 虚拟机编排 | | 客户机操作系统 | Windows 10 (未激活) | 恶意软件引爆环境 | | 网络隔离 | libvirt 隔离网络 + iptables | 将客户机与真实网络进行物理隔离 | | 虚拟互联网 | INetSim | 模拟 DNS、HTTP、SMTP 以用于 C2 检测 | | 网络捕获 | tcpdump / Wireshark | 对所有客户机流量进行 PCAP 分析 | | 内存取证 | Volatility3 | 执行后的内存转储分析 | | 监控 | CAPEv2 监控 DLL | API 调用挂钩,行为日志记录 | ## 仓库结构 ``` malware-analysis-lab/ ├── README.md ├── setup/ │ ├── setup-documentation.md ← full environment setup walkthrough │ └── errors-encountered.md ← issues hit during setup and their fixes ├── concepts/ │ └── definitions.md ← reference notes on tools, techniques, terminology ├── analyses/ │ └── / │ ├── README.md ← full analysis report │ ├── iocs.txt ← extracted indicators of compromise │ ├── mitre-mapping.md ← ATT&CK technique mapping │ └── screenshots/ ← desktop captures during detonation ├── iocs/ │ └── master-ioc-list.csv ← aggregated IOCs across all samples └── methodology/ └── lessons-learned.md ← analyst notes, findings, tool limitations ``` ## 分析报告 | 样本 | 家族 | 类型 | 日期 | 关键行为 | |---|---|---|---|---| | *(进行中)* | — | — | — | — | 报告遵循结构化格式,涵盖:样本元数据、摘要、行为分析、网络指标、MITRE ATT&CK 映射和结论。该格式模拟了 1/2 级 SOC 分析师的报告。 ## MITRE ATT&CK 覆盖范围 每个样本的 ATT&CK 映射均已记录,并将随着实验室的发展在此处汇总。目前已涵盖的战术: - *(将随着分析的完成而更新)* ## 网络架构 ``` ┌─────────────────────────────────────────┐ │ Arch Linux Host │ │ │ │ CAPEv2 Controller │ │ Result Server → 192.168.100.1:2042 │ │ INetSim → 192.168.100.1:53/80 │ │ tcpdump on virbr-isolated │ │ │ │ virbr-isolated bridge │ │ 192.168.100.0/24 │ │ (no NAT, no forwarding to real NIC) │ └──────────────┬──────────────────────────┘ │ isolated virtual network │ (zero real internet access) ┌──────────────▼──────────────────────────┐ │ Windows 10 Guest VM │ │ 192.168.100.10 │ │ │ │ CAPEv2 agent.py (auto-start) │ │ Malware detonation environment │ │ Reverts to clean snapshot after run │ └─────────────────────────────────────────┘ ``` 所有客户机流量均由 INetSim 拦截,并在宿主机上通过 tcpdump 捕获。在任何情况下,客户机都没有通往真实网络的路径。 ## 设置概述 完整的分步设置过程记录在 [`setup/setup-documentation.md`](setup/setup-documentation.md) 中,涵盖: 1. 硬件虚拟化验证 2. KVM/QEMU 安装与配置 3. 创建隔离的 libvirt 网络 4. iptables 隔离规则 5. INetSim 安装与绑定 6. Windows 10 客户机虚拟机创建与加固 7. CAPEv2 agent 部署与快照 8. 在 Arch Linux 上安装和配置 CAPEv2 9. 使用良性测试 payload 进行首次运行验证 设置期间遇到的错误及其解决方案记录在 [`setup/errors-encountered.md`](setup/errors-encountered.md) 中。 ## IOC 格式 所有提取的 IOC 均遵循以下格式: ``` type → sha256 | md5 | ip | domain | url | mutex | filepath | registry_key value → the indicator itself family → malware family name date → date of analysis (YYYY-MM-DD) confidence → high | medium | low notes → optional context ``` ## 免责声明 本仓库**绝不包含任何恶意软件样本、二进制文件或可执行 payload**。所有分析的样本均来自合法的威胁情报源(MalwareBazaar、VX-Underground),并且仅在隔离的实验室环境中引爆。所有文档均出于教育和研究目的发布。 ## 关于 **Rafay Ather Khan** CS 专业学生(第 6 学期) — FAST-NU Lahore 专注领域:蓝队行动,SOC 分析,GRC,网络安全 [LinkedIn](https://www.linkedin.com/in/rafay-ather-khan-823089218/) · [GitHub](https://github.com/editsbyrafayyy)
标签:API钩子, Arch Linux, CAPEv2, DAST, INetSim, IOC提取, IP 地址批量处理, KVM, pdftotext, QEMU, SecList, TGT, virt-manager, Volatility3, Windows 10, Wireshark, 云安全监控, 入侵指标, 内存取证, 内联执行, 勒索软件分析, 句柄查看, 威胁情报, 安全实践, 安全实验室, 安全报告, 安全运营中心, 家庭实验室, 开发者工具, 恶意软件分析, 恶意软件引爆, 恶意软件研究, 攻防演练, 无线安全, 沙箱, 网络安全实验, 网络安全审计, 网络映射, 网络流量分析, 网络隔离, 虚拟化环境, 虚拟机监控程序, 行为映射, 身份验证强制, 静态分析