abdul0haleem/Malware-Analysis-Lab
GitHub: abdul0haleem/Malware-Analysis-Lab
该项目是一个基于 VMware 和 FLARE-VM 搭建的安全隔离恶意软件分析实验室,用于执行静态与动态恶意软件分析。
Stars: 1 | Forks: 0
# 恶意软件分析实验室
# 恶意软件分析实验室搭建与恶意软件分析
一个安全且隔离的恶意软件分析实验室,使用 **VMware Workstation**、**Windows 11 Pro** 和 **FLARE-VM** 搭建,用于在受控环境中执行静态和动态恶意软件分析。
## 📑 目录
- [📖 项目概述](#-project-overview)
- [🎯 目标](#-objectives)
- [🖥️ 实验室环境](#️-lab-environment)
- [🛠️ 使用的工具](#️-tools-used)
- [⚙️ 项目实施](#️-project-implementation)
- [步骤 1:创建虚拟机](#step-1-creating-the-virtual-machine)
- [步骤 2:禁用 Windows 自动更新](#step-2-disabling-automatic-windows-updates)
- [步骤 3:禁用病毒和威胁防护](#step-3-disabling-virus--threat-protection)
- [步骤 4:禁用 Microsoft Defender 实时保护](#step-4-disabling-microsoft-defender-real-time-protection-via-group-policy)
- [步骤 5:创建基准快照](#step-5-creating-the-baseline-snapshot)
- [步骤 6:安装 FLARE-VM](#step-6-installing-flare-vm)
- [步骤 7:创建安装后快照](#step-7-creating-the-post-installation-snapshot)
- [步骤 8:恶意软件样本收集](#step-8-malware-sample-collection)
- [步骤 9:配置隔离的虚拟网络](#step-9-configuring-an-isolated-virtual-network)
- [🔬 静态恶意软件分析](#-static-malware-analysis)
- [哈希分析](#hash-analysis-hashmyfiles)
- [VirusTotal 分析](#virustotal-analysis)
- [字符串分析](#strings-analysis)
- [元数据分析 (ExifTool)](#metadata-analysis-exiftool)
- [⚡ 动态恶意软件分析](#-dynamic-malware-analysis)
- [分析前快照](#pre-analysis-snapshot)
- [注册表基准 (Regshot)](#registry-baseline-regshot)
- [恶意软件执行](#malware-execution)
- [进程识别](#process-identification-task-manager)
- [进程监控](#process-monitoring-process-monitor)
- [网络流量分析](#network-traffic-analysis-wireshark)
- [注册表对比](#registry-comparison-regshot)
- [行为分析](#behavioral-analysis)
- [📊 动态分析发现](#-dynamic-analysis-findings)
- [🎯 获得的技能](#-skills-gained)
- [⚠️ 遇到的挑战](#️-challenges-faced)
- [📚 关键经验教训](#-key-learnings)
- [🏁 结论](#-conclusion)
- [📁 仓库结构](#-repository-structure)
- [⭐ 致谢](#-acknowledgements)
## 📖 项目概述
本项目涉及使用 **VMware Workstation** 和 **Windows 11 Pro** 设计并搭建一个安全、隔离的恶意软件分析实验室。主要目标是在不危及宿主操作系统的情况下,建立一个受控环境,以便通过**静态**和**动态恶意软件分析**安全地分析恶意软件样本。
该实验室通过以下方式进行配置:
- 在 VMware Workstation 中安装 Windows 11 Pro
- 配置隔离的 Host-only 虚拟网络
- 禁用恶意软件分析所需的 Windows 安全功能
- 安装 FLARE-VM 恶意软件分析工具包
- 创建 VMware 快照用于系统恢复
- 使用行业标准工具执行静态和动态恶意软件分析
## 🎯 目标
- 搭建一个安全且隔离的恶意软件分析实验室。
- 在 VMware Workstation 中安装和配置 Windows 11 Pro。
- 为进行恶意软件分析配置 Windows 安全策略。
- 建立一个隔离的 Host-only 虚拟网络。
- 安装和配置 FLARE-VM。
- 创建 VMware 快照以进行可重复的分析。
- 执行静态恶意软件分析。
- 执行动态恶意软件分析。
- 通过进程、注册表、文件系统和网络监控分析恶意软件行为。
- 识别并记录妥协指标 (IOCs)。
## 🖥️ 实验室环境
| 组件 | 详情 |
|-----------|---------|
| 宿主操作系统 | Windows 11 |
| 虚拟化平台 | VMware Workstation |
| 客户机操作系统 | Windows 11 Pro (64-bit) |
| 虚拟磁盘大小 | 100 GB |
| 虚拟网络 | Host-only 网络 (VMnet2) |
| 分析工具包 | FLARE-VM |
| 分析类型 | 静态和动态恶意软件分析 |
## 🛠️ 使用的工具
| 工具 | 用途 |
|------|---------|
| **VMware Workstation** | 创建并管理用于恶意软件分析的隔离虚拟机。 |
| **Windows 11 Pro** | 用于恶意软件分析环境的客户机操作系统。 |
| **FLARE-VM** | 包含逆向工程、取证和安全分析工具的恶意软件分析工具包。 |
| **Windows PowerShell** | 用于安装和配置 FLARE-VM。 |
| **本地组策略编辑器 (gpedit.msc)** | 用于配置 Windows 安全和更新策略。 |
| **Microsoft Defender 设置** | 禁用安全功能,以允许在虚拟机内受控地执行恶意软件。 |
| **VMware 快照管理器** | 创建和管理快照,用于恢复分析环境。 |
| **VMware 虚拟网络编辑器** | 配置隔离的 Host-only 网络,以安全地执行恶意软件。 |
| **HashMyFiles** | 生成恶意软件样本的 MD5、SHA-1 和 SHA-256 哈希值。 |
| **VirusTotal** | 验证恶意软件哈希值,并查看杀毒软件检测结果和威胁情报。 |
| **Strings** | 从恶意软件可执行文件中提取可读字符串和妥协指标 (IOCs)。 |
| **ExifTool** | 检查可执行文件的元数据,如时间戳、版本信息和文件属性。 |
| **Process Monitor (Procmon)** | 在恶意软件执行期间监控实时的文件系统、注册表、进程和线程活动。 |
| **Regshot** | 对比恶意软件执行前后的 Windows 注册表快照,以识别注册表更改。 |
| **Wireshark** | 捕获并分析恶意软件执行期间生成的网络流量。 |
| **任务管理器** | 识别恶意软件进程,并获取其进程 ID (PID) 以便在 Process Monitor 中进行过滤。 |
## ⚙️ 项目实施
### 步骤 1:创建虚拟机
使用 **VMware Workstation** 创建了一个新的虚拟机,并使用官方的 Windows 11 ISO 镜像安装了 **Windows 11 Pro (64-bit)** 操作系统。分配了 **100 GB 的虚拟硬盘**,为恶意软件样本、分析工具和快照提供充足的存储空间。
该虚拟机作为执行静态和动态恶意软件分析的隔离环境,同时保护宿主操作系统。
#### Windows 11 安装

*图 1:在 VMware Workstation 中安装 Windows 11 Pro。*
#### 虚拟机配置

*图 2:用于恶意软件分析实验室的 VMware 虚拟机配置。*
### 步骤 2:禁用 Windows 自动更新
为了维护稳定且可复现的恶意软件分析环境,使用**本地组策略编辑器**禁用了 **Windows 自动更新**。这可以防止操作系统安装可能改变分析环境或影响测试期间恶意软件行为的更新。
**导航路径:**
`计算机配置 → 管理模板 → Windows 组件 → Windows 更新 → 管理最终用户体验 → 配置自动更新`
**配置自动更新**策略从**未配置**更改为**已禁用**。
#### 配置自动更新策略

*图 3:组策略编辑器显示“配置自动更新”策略已设置为“已禁用”。*
### 步骤 3:禁用病毒和威胁防护
为了在隔离的虚拟机内实现受控的恶意软件执行,通过禁用可用的防护机制修改了 **Microsoft Defender 病毒和威胁防护**设置。这可以防止 Windows Defender 在分析期间自动检测或隔离恶意软件样本。
以下防护功能已被禁用:
- 实时保护
- 云提供的保护
- 自动样本提交
- 防篡改保护(如适用)
- 开发者驱动器保护
#### 病毒和威胁防护设置

*图 4:为进行恶意软件分析而配置的 Microsoft Defender 病毒和威胁防护设置。*
### 步骤 4:通过组策略禁用 Microsoft Defender 实时保护
为了防止 **Microsoft Defender 实时保护**在系统重启后自动重新启用,使用**本地组策略编辑器**配置了相应的组策略设置。这确保了可以不受 Windows Defender 干扰地分析恶意软件样本。
**导航路径:**
`计算机配置 → 管理模板 → Windows 组件 → Microsoft Defender 防病毒软件 → 实时保护`
**关闭实时保护**策略被设置为**已启用**。
#### 组策略配置

*图 5:本地组策略编辑器显示 **关闭实时保护** 策略已配置为 **已启用**。*
### 步骤 5:创建基准快照
完成初始虚拟机配置后,使用 **VMware 快照管理器**创建了一个**基准**快照。此快照作为干净的还原点,允许在执行恶意软件样本之前将虚拟机恢复到其原始状态。
创建基准快照确保了在执行恶意软件后可以快速恢复分析环境,从而维护一个干净、一致且可重复的测试环境。
#### 基准快照

*图 6:VMware 快照管理器显示在初始虚拟机配置后创建的 **基准** 快照。*
### 步骤 6:安装 FLARE-VM
准备好虚拟机后,安装了 **Google Chrome** 以下载所需的安装文件,并遵循了官方的 **FLARE-VM** 安装指南。安装是使用 **Windows PowerShell** 启动的,它会自动下载并配置 FLARE-VM 恶意软件分析工具包。
安装过程耗时约**两小时**,并需要多次自动重启系统。完成后,FLARE-VM 安装了一套包含恶意软件分析、逆向工程、数字取证和事件响应工具的综合工具集,提供了一个完全配置好的恶意软件研究环境。
#### FLARE-VM 安装

*图 7:Windows PowerShell 正在执行 FLARE-VM 安装过程。*
### 步骤 7:创建安装后快照
成功安装 **FLARE-VM** 后,使用 **VMware 快照管理器**创建了第二个快照。此快照代表了一个完全配置好的恶意软件分析环境,所有必需的工具都已安装并准备就绪。
安装后快照使虚拟机能够在分析新恶意软件样本之前快速恢复到干净、完全配置的状态,从而确保一致且可重复的分析工作流。
#### 安装后快照

*图 8:VMware 快照管理器显示在成功安装 FLARE-VM 后创建的安装后快照。*
### 步骤 8:恶意软件样本收集
从**公开可用的研究仓库**和**可信的教育资源**收集了恶意软件样本,以便在隔离的虚拟环境中进行分析。在整个项目中,仅使用了旨在用于研究和教育目的的样本。
为了接触不同的恶意软件行为和分析技术,在受控实验室环境中选择并分析了代表各种恶意软件家族的样本。
## 🔬 静态恶意软件分析
执行静态恶意软件分析时**无需运行恶意软件样本**,从而可以安全地检查其特征,同时识别潜在的**妥协指标 (IOCs)**。这种方法有助于分析人员了解恶意软件的结构,识别可疑痕迹,并在运行时分析之前确定潜在的恶意行为。
执行了以下静态分析技术:
### 哈希分析 (HashMyFiles)
使用 **HashMyFiles** 生成加密哈希值(**MD5**、**SHA-1** 和 **SHA-256**),以唯一标识恶意软件样本并验证其完整性。这些哈希值可用于将样本与威胁情报数据库进行比较,并识别已知的恶意软件。
#### 哈希分析结果

*图 9:HashMyFiles 显示生成的恶意软件样本的 MD5、SHA-1 和 SHA-256 哈希值。*
### VirusTotal 分析
生成的文件哈希被提交给 **VirusTotal**,以确定该恶意软件样本之前是否已被识别。VirusTotal 汇总了来自多个杀毒引擎的结果,并提供了社区威胁情报、检测统计信息和有关该样本的其他信息。
#### VirusTotal 扫描结果

*图 10:VirusTotal 扫描结果显示了恶意软件检测结果和分析摘要。*
### 字符串分析
执行了 **Strings** 分析,以在不执行恶意软件可执行文件的情况下提取嵌入其中的可读文本。此技术有助于识别潜在的**妥协指标 (IOCs)**,例如文件路径、URL、注册表、API 调用、可疑命令和其他嵌入式痕迹,这些痕迹可能会揭示恶意软件的功能或预期行为。
#### 字符串分析结果

*图 11:字符串分析输出显示从恶意软件可执行文件中提取的可读字符串。*
### 元数据分析 (ExifTool)
使用 **ExifTool** 检查了可执行文件的元数据,包括编译时间戳、文件属性、版本信息和其他嵌入的元数据。这些信息可以为恶意软件的来源、开发和潜在行为提供有价值的见解。
#### 元数据分析结果

*图 12:ExifTool 输出显示恶意软件可执行文件的元数据和文件属性。*
静态分析技术在不执行样本的情况下,为深入了解恶意软件的结构和特征提供了有价值的见解。在此阶段收集的信息有助于识别潜在的**妥协指标 (IOCs)**,并为随后的**动态恶意软件分析**奠定了基础,从而实现更安全、更深入的行为调查。
### 步骤 9:配置隔离的虚拟网络
在执行动态恶意软件分析之前,修改了虚拟机的网络配置,以确保恶意软件的执行与外部网络隔离。使用 **VMware 虚拟网络编辑器**创建了自定义的 **Host-only (VMnet2)** 虚拟网络。
Host-only 网络仅允许宿主系统和虚拟机之间进行通信,同时防止恶意软件在分析期间访问 Internet 或与外部系统通信。启用 **DHCP** 以在私有网络内自动分配 IP 地址,提供了一个受控且安全的分析环境。
这种网络配置最大限度地降低了恶意软件传播或与外部**命令与控制 (C2)** 服务器建立通信的风险,同时仍允许宿主机和虚拟机之间进行受控交互。
#### Host-only 网络配置

*图 13:VMware 虚拟网络编辑器显示用于恶意软件分析的自定义 Host-only (VMnet2) 网络配置。*
## ⚡ 动态恶意软件分析
通过在隔离的虚拟机内执行恶意软件样本并实时监控其行为,进行了动态恶意软件分析。与静态分析不同,这种方法允许观察恶意软件的运行时活动、系统修改和潜在的**妥协指标 (IOCs)**。
使用多种行业标准工具监控了恶意软件与操作系统的交互,以在受控和隔离的环境中分析进程活动、注册表修改、文件系统更改、网络通信以及整体系统行为。
### 分析前快照
在执行恶意软件样本之前,使用 **VMware 快照管理器**创建了**分析前**快照。此快照作为动态分析之前的一个还原点,允许虚拟机在每次执行恶意软件后恢复到干净状态。
创建专用的分析前快照确保了可以独立分析多个恶意软件样本,而不会保留以前执行的痕迹或系统修改。这种方法维护了一个干净、一致且可重复的恶意软件分析环境。
#### 分析前快照

*图 14:VMware 快照管理器显示在执行恶意软件之前立即创建的 **分析前** 快照。*
### 注册表基准 (Regshot)
在执行恶意软件样本之前,使用 **Regshot** 捕获了**第一个注册表快照 (1st Shot)**。此快照记录了 Windows 注册表的初始状态,并作为识别恶意软件引入更改的基准。
#### 初始注册表快照

*图 14:Regshot 在执行恶意软件之前捕获初始 Windows 注册表快照。*
### 恶意软件执行
该恶意软件样本是在隔离的虚拟机内以**管理员权限**执行的。在受控环境中运行样本确保了可以安全地观察其行为,而不会影响宿主操作系统。
### 进程识别 (任务管理器)
执行后,使用**任务管理器**识别正在运行的恶意软件进程。在此次分析期间,恶意软件被分配了**进程 ID (PID) 9544**,该 ID 用于在 Process Monitor 中进行针对性监控。
#### 恶意软件进程识别

*图 15:任务管理器显示具有 **PID 9544** 的恶意软件进程。*
### 进程监控 (Process Monitor)
将 **Process Monitor (Procmon)** 配置为使用 **PID 9544** 过滤事件,仅显示由恶意软件生成的活动。这消除了不相关的系统事件,并简化了对文件系统、注册表、进程和线程活动的分析。
#### Process Monitor 过滤器

*图 16:配置 Process Monitor 以监控由恶意软件进程 (PID 9544) 生成的事件。*
### 网络流量分析
使用 **Wireshark** 捕获并分析恶意软件执行期间生成的网络流量。这能够观察 DNS 请求、连接尝试和其他网络通信,有助于确定恶意软件是否试图与远程主机或外部**命令与控制 (C2)** 服务器通信。
#### 网络流量捕获

*图 17:Wireshark 捕获恶意软件执行期间生成的网络流量。*
#### 注册表对比结果
恶意软件完成执行后,使用 **Regshot** 捕获了**第二个注册表快照 (2nd Shot)**。对这两个快照进行了对比,以识别在执行恶意软件期间被**创建**、**修改**或**删除**的注册表项和值。对比结果被导出为文本报告,以供进一步分析和记录。
##### Regshot 对比摘要

*图 18:Regshot 对比摘要突出显示了执行恶意软件前后的注册表更改。*
##### 注册表更改报告(第 1 部分)

*图 19:导出的 Regshot 对比报告的第一部分,显示了恶意软件引入的注册表修改。*
##### 注册表更改报告(第 2 部分)

*图 20:导出的 Regshot 对比报告的第二部分,显示了其他注册表更改。*
### 行为分析
审查了从 **Process Monitor**、**Regshot** 和 **Wireshark** 收集的数据,以评估恶意软件的整体行为。分析重点在于:
- 进程创建
- 文件系统修改
- 注册表更改
- 持久化机制
- 网络活动
- 整体系统行为
综合观察结果为了解恶意软件的运行时行为提供了有价值的见解,并能够识别潜在的**妥协指标 (IOCs)**,同时确保了在隔离的恶意软件分析环境中安全地进行分析。
## 📊 动态分析发现
动态分析通过关联来自 **Process Monitor**、**Regshot** 和 **Wireshark** 的观察结果,为深入了解恶意软件的运行时行为提供了有价值的见解。在执行期间监控恶意软件使得我们能够识别系统修改、运行时活动和潜在的**妥协指标 (IOCs)**,而这些是仅靠静态分析无法观察到的。
### 关键发现
#### 进程活动
恶意软件启动了一个或多个执行各种系统操作的进程。**Process Monitor** 捕获了文件系统、注册表、进程和线程活动,为深入了解恶意软件的执行和运行时行为提供了详细的可见性。
#### 注册表更改
**Regshot** 对比报告识别了在执行期间被**创建**、**修改**或**删除**的注册表项和值。这些更改提供了对恶意软件如何与 Windows 注册表交互的见解,并揭示了潜在的持久化或配置机制。
#### 文件系统修改
恶意软件在虚拟机内创建、修改和访问了文件及目录。这些文件系统更改提供了有用的取证痕迹,有助于识别恶意软件行为并支持进一步的调查。
#### 网络活动
**Wireshark** 捕获了恶意软件执行期间生成的网络流量,包括 DNS 查询、连接尝试和其他网络通信。此分析有助于确定恶意软件是否试图建立外部连接或与远程系统通信。
#### 行为分析
通过结合来自 **Process Monitor**、**Regshot** 和 **Wireshark** 的观察结果,获得了对恶意软件运行时行为的全面了解。收集的证据突出了进程执行、注册表修改、文件系统活动、网络通信和其他行为特征,这些都有助于识别潜在的**妥协指标 (IOCs)**。
通过动态分析获得的发现补充了静态分析的结果,提供了对恶意软件功能和行为的更全面了解。这两种分析方法共同证明了在**安全**、**隔离**和**可重复**的分析环境中进行恶意软件调查的重要性。
## 📌 妥协指标 (IOCs)
在恶意软件分析期间识别到以下妥协指标 (IOCs):
| IOC 类别 | 观察结果 |
|--------------|-------------|
| 文件哈希 | 使用 HashMyFiles 生成的 MD5、SHA-1、SHA-256 |
| 注册表更改 | 执行期间创建、修改和删除的注册表项 |
| 文件系统活动 | 恶意软件访问或修改的文件和目录 |
| 进程活动 | 识别到的恶意软件进程 (PID 9544) |
| 网络活动 | 使用 Wireshark 观察到的 DNS 查询、连接尝试和网络通信 |
## 🎯 获得的技能
在整个项目中,我积累了以下方面的实践经验:
- 虚拟机部署
- 恶意软件分析实验室配置
- VMware 快照管理
- Windows 安全配置
- FLARE-VM 安装与配置
- 静态恶意软件分析
- 动态恶意软件分析
- 哈希分析
- 恶意软件识别
- 使用 VirusTotal 获取威胁情报
- 字符串分析
- 使用 ExifTool 进行元数据分析
- 使用 Process Monitor 进行进程监控
- 使用 Regshot 进行注册表分析
- 使用 Wireshark 进行网络流量分析
- 安全的恶意软件处理实践
## ⚠️ 遇到的挑战
在项目期间,遇到了几个挑战:
- FLARE-VM 安装时间长
- 安装期间多次自动重启系统
- 正确配置 Windows 安全策略
- 维护隔离且稳定的恶意软件分析环境
- 管理快照以确保干净且可重复的分析工作流
## 📚 关键经验教训
本项目提供了从头开始设计和配置安全恶意软件分析实验室的实践经验。它巩固了我在虚拟化、Windows 系统管理、虚拟网络隔离以及使用 **FLARE-VM** 部署专用恶意软件分析环境方面的理解。
通过静态分析,我获得了生成加密哈希、使用 **VirusTotal** 获取威胁情报、提取可读字符串以及分析可执行文件元数据以在不执行恶意软件的情况下识别潜在**妥协指标 (IOCs)** 的经验。
动态分析进一步增强了我监控进程活动、分析注册表修改、捕获网络流量以及使用 **Process Monitor**、**Regshot** 和 **Wireshark** 观察恶意软件行为的能力。
总体而言,该项目强化了维护 VMware 快照、记录分析发现以及在遵循安全恶意软件处理实践的同时,在安全、隔离且可重复的环境中进行恶意软件研究的重要性。
## 🏁 结论
本项目涉及使用 **VMware Workstation**、**Windows 11 Pro** 和 **FLARE-VM** 设计并实施一个专用的恶意软件分析实验室。通过结合虚拟化、虚拟网络隔离、VMware 快照以及静态和动态分析技术,建立了一个安全且可重用的环境,用于安全地分析恶意软件。
该项目提供了调查恶意软件特征、运行时行为、注册表修改、文件系统活动和网络通信的实践经验,同时保护宿主操作系统免受潜在的威胁。
总体而言,该项目巩固了我在恶意软件分析、数字取证和网络安全研究方面的实用技能,为在**恶意软件逆向工程**、**事件响应**和**威胁狩猎**方面的进一步学习奠定了坚实的基础。
## 📁 仓库结构
```
Malware-Analysis-Lab/
│
├── README.md
├── LICENSE
│
└── images/
├── baseline-snapshot.png
├── defender-settings.png
├── flarevm-installation.png
├── hash-analysis.png
├── host-only-network-configuration.png
├── metadata-analysis.png
├── post-installation-snapshot.png
├── pre-analysis-snapshot.png
├── procmon-pid-filter.png
├── real-time-protection.png
├── regshot-comparison-report.png
├── regshot-comparison-report-part1.png
├── regshot-comparison-report-part2.png
├── regshot-initial-snapshot.png
├── strings-analysis.png
├── task-manager-malware-process.png
├── virustotal.png
├── vm-overview.png
├── windows-installation.png
├── windows-update-policy.png
└── wireshark-network-traffic.png
```
## ⭐ 致谢
本项目是出于教育和研究目的完成的,旨在通过使用行业标准的工具和方法论,获得在恶意软件分析、数字取证和安全实验室设计方面的实践经验。
标签:AI合规, DAST, FLARE-VM, 云安全监控, 云资产清单, 恶意软件分析, 虚拟化环境, 逆向工程, 静态分析