phour44/Malware-Analysis
GitHub: phour44/Malware-Analysis
该仓库是一份详细的恶意软件综合分析报告,展示了通过静态与动态技术在隔离沙箱中对多种恶意样本进行调查并提取入侵指标(IOC)的完整实践过程。
Stars: 0 | Forks: 0
🛡️ 恶意软件综合分析报告
对 njRAT、Casdet 木马及恶意 PDF 漏洞的静态与动态调查
## 📌 目录
- [概述](#-overview)
- [目标](#-objectives)
- [分析工作流](#-analysis-workflow)
- [使用的工具](#-tools-used)
- [静态分析摘要](#-static-analysis-summary)
- [动态分析摘要](#-dynamic-analysis-summary)
- [关键发现](#-key-findings)
- [MITRE ATT&CK 映射](#-mitre-attck-mapping)
- [入侵指标 (IOC)](#-indicators-of-compromise-iocs)
- [检测机会](#-detection-opportunities)
- [经验教训](#-lessons-learned--research-value)
- [仓库结构](#-repository-structure)
- [作者](#-author)
## 🔍 概述
本仓库记录了我在隔离实验室环境中进行的一次恶意软件分析实践调查。我检查了**三个恶意制品** —— 一个 .NET 远程访问木马 (`njrat.exe`)、一个经 UPX 加壳的 Win32 木马 (`Infected.exe`,属于 *Casdet* 家族) 以及一个武器化的 PDF 漏洞 (`Infected.pdf`) —— 外加一封钓鱼邮件诱饵。为了确保结论基于证据并避免误报,我还引爆了**良性基准程序**(Microsoft Visual Studio Build Tools 安装程序、AnyDesk 以及带有签名的 Python 安装程序)。
完整的、图文丰富的案例研究(包含 108 张带注释的截图、APA 格式排版、IOC 表格和 MITRE 映射)以 Word 文档和 PDF 格式提供:
📄 **[`Malware_Analysis_Report_Ibrahim_Fayomi.docx`](./Malware_Analysis_Report_Ibrahim_Fayomi.docx)**
## 🎯 目标
- 通过可重复的取证证据,确定每个样本是否为恶意软件。
- 描述其功能、持久化机制和网络行为。
- 提取**入侵指标 (IOC)**。
- 将观察到的活动映射到 **MITRE ATT&CK** 框架。
- 提供检测和修复建议。
## 🧪 分析工作流
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ STATIC │ ──▶ │ DYNAMIC │ ──▶ │ THREAT INTEL │
│ • File metadata│ │ • ANY.RUN │ │ • VirusTotal │
│ • Signatures │ │ • Process tree │ │ • MITRE ATT&CK │
│ • PEStudio │ │ • MalConf │ │ • IOC extract │
└─────────────────┘ └─────────────────┘ └─────────────────┘
```
## 🧰 使用的工具
| 工具 | 用途 |
|------|---------|
| **Windows 资源管理器 (属性)** | 文件元数据、磁盘占用空间、数字签名检查 |
| **PEStudio 9.56** | 静态 PE 分诊 —— 哈希、imphash、字符串、导入表、指标 |
| **ANY.RUN** | 交互式动态引爆;进程/注册表/网络遥测;配置提取 |
| **VirusTotal** | 多引擎信誉与家族归属评估 |
| **MITRE ATT&CK** | 对抗战术与技术映射 |
| **Bandicam** | 所有证据的取证屏幕录制 |
## 🧷 静态分析摘要
我将每个可疑文件与已知的合法程序进行了对比,以便对每个指标进行**验证而非假设**。决定性的证据来自 PEStudio:`njrat.exe` 是一个 24 KB 的 Microsoft **.NET (MSIL)** 二进制文件,其*指标*视图暴露了**硬编码的 C2 字符串 `10.0.0.16`**、一个 `avicap32.dll`(摄像头捕获)导入、imphash `F34D5F2D…` 以及预先映射的 MITRE 技术。

*PEStudio 指标暴露了 `njrat.exe` 中硬编码的 C2 地址 `10.0.0.16` 和摄像头捕获导入。*
我还确认了良性的 Python 安装程序拥有**数字签名 (SHA-256)**,而恶意样本则**没有签名**且**发布者元数据为空**。

*数字签名比较:良性安装程序已签名;`Infected.pdf` 未签名。*
## ⚙️ 动态分析摘要
我在 **ANY.RUN** 沙箱的 Windows 10 虚拟机中引爆了每个对象。`njrat.exe` 表现出典型的 njRAT 行为:它将 `Server.exe` 释放并自我复制到 `%Temp%` 和**启动文件夹**中,写入了自启动的 **Run 键值**,使用 `netsh` 添加了**防火墙例外**,并注册了一个**键盘记录器**值。
 |
 |
njRAT process chain: njrat.exe → Server.exe → netsh.exe → conhost.exe (YARA: NJRAT detected). |
Extracted njRAT configuration: C2 10.0.0.16:1177, botnet "HacKed", v0.7d. |
## 🚨 关键发现
| 样本 | 家族 / 类型 | VirusTotal | 结论 |
|--------|---------------|:----------:|:-------:|
| `njrat.exe` / `Server.exe` | njRAT / Bladabindi RAT | **65/71** | 🔴 恶意 |
| `Infected.exe` | Casdet 木马 (UPX) | **27/72** | 🔴 恶意 |
| `Infected.pdf` | Trojan.PDFka 漏洞 | **45/63** | 🔴 恶意 |
| 钓鱼 `.eml` | 社会工程学诱饵 | — | 🟠 恶意诱饵 |
| `AnyDesk.exe` | 合法 RMM (灰色软件) | 0/71 | 🟢 良性 |
| `vs_BuildTools.exe` | MS Visual Studio 安装程序 | 无报错 | 🟢 良性 |
 |
 |
njRAT payload: 65/71 — trojan.bladabindi/msil. |
njRAT MITRE matrix: 11 Danger-level events across Persistence, Defense Evasion & Discovery. |
## 🗺️ MITRE ATT&CK 映射
| 战术 | 技术 | ID | 证据 |
|--------|-----------|----|----------|
| 初始访问 | 鱼叉式钓鱼附件 | T1566.001 | "DEUDA" 钓鱼邮件 |
| 执行 | 用户执行:恶意文件 | T1204.002 | 邮件 Excel 附件 |
| 持久化 | 注册表 Run 键 / 启动文件夹 | T1547.001 | njRAT 自启动 + 启动文件夹副本 |
| 防御规避 | 禁用或修改系统防火墙 | T1562.004 | `netsh add allowedprogram` |
| 防御规避 | 软件加壳 | T1027.002 | `Infected.exe` UPX |
| 凭据访问 | 键盘记录 | T1056.001 | njRAT `[kl]` 注册表值 |
| 发现 | 系统信息发现 | T1082 | 计算机名 / 机器 GUID |
| 收集 | 视频捕获 | T1125 | `avicap32.dll` 导入 |
| 命令与控制 | 非标准端口 | T1571 | `10.0.0.16:1177` |
## 🧬 入侵指标 (IOC)
**文件哈希 (SHA-256)**
```
njrat.exe / Server.exe : 36882AFAFF37F70BE8D2566F1B4F8A05764C27305F4809002F1EE2822B6D8EA5
Infected.exe : F18D77049CBBC321AE9CF6360A509C88D904EAF782E5491A4F2E7D9F436891B4
Infected.pdf : 367547F151358C3FF872BDA0017ED0871842B946C7B61DA5E4D91F48176A617D
imphash (njrat.exe) : F34D5F2D4577ED6D9CEEC516C1F5A744
```
**网络与主机**
```
C2 : 10.0.0.16 : 1177 (njRAT, botnet "HacKed", v0.7d, splitter "|")
Run key : HKCU\...\CurrentVersion\Run\c7c410475d4d33dd6b97dc1e4dc051b8
Keylog value : [kl] under HKCU\SOFTWARE\c7c410475d4d33dd6b97dc1e4dc051b8
Dropped : %Temp%\Server.exe ; %Startup%\c7c410475d4d33dd6b97dc1e4dc051b8.exe
PDF URL : login.live.com/RST2.srf (POST → 404)
Phishing from : hospitalchancaytacte@gmail.com
```
## 🛰️ 检测机会
**YARA**
- 小型 .NET 程序集中硬编码的 `10.0.0.16` + 僵尸网络标记 `HacKed`。
- imphash `F34D5F2D4577ED6D9CEEC516C1F5A744` 与 `avicap32.dll` 导入的组合。
**Sigma / 遥测**
- 带有 `firewall add allowedprogram` 参数的 `netsh.exe` (T1562.004)。
- 引用位于 `%Temp%`/启动文件夹中随机命名可执行文件的 Run 键写入。
- 可执行文件将自身复制到用户启动文件夹。
- 到 `10.0.0.16:1177` 的出站 TCP 连接。
## 🎓 经验教训 / 研究价值
- **证据重于结论** —— 建立良性软件基准让我认识到,沙箱的标签和看似干净的动态运行都可能具有误导性;结论必须在静态、动态和信誉来源之间相互印证。
- **展示的技能** —— 静态 PE 分诊、动态行为分析、配置提取、网络分析、IOC 提取、MITRE ATT&CK 映射以及专业报告撰写。
- **道德规范** —— 所有工作均在隔离的沙箱内对故意收集的样本进行,未涉及任何生产系统,也没有进行真实的 C2 交互。
## 🗂️ 仓库结构
```
MALWARE ANALYSIS PROJECT/
├── Malware_Analysis_Report_Ibrahim_Fayomi.docx # Full case study (108 figures)
├── Malware_Analysis_Report_Ibrahim_Fayomi.pdf # PDF export
├── README.md
├── assets/ # Hero images used in this README
├── Static Analysis/ # Static-analysis screenshots (PEStudio, properties, signatures)
└── Dynamic Analysis/ # Dynamic-analysis screenshots (ANY.RUN, VirusTotal, MITRE)
```
## 📚 参考文献
- ANY.RUN — 交互式恶意软件分析沙箱 · https://any.run
- MITRE ATT&CK® 企业矩阵 · https://attack.mitre.org
- VirusTotal · https://www.virustotal.com
- PEStudio (Winitor) · https://www.winitor.com
- njRAT (Bladabindi), MITRE 软件 **S0385** · https://attack.mitre.org/software/S0385/
## 👤 作者
**Ibrahim Ayomide Fayomi**
网络安全分析师 —— 恶意软件分析与数字取证
[](https://github.com/phour44)
⚠️ 仅供教育和防御性安全目的使用。所有分析均在隔离的沙箱环境中进行。
标签:DAST, DNS 反向解析, 云安全监控, 云资产清单, 威胁情报, 开发者工具, 恶意软件分析, 网络信息收集, 逆向工程, 静态分析