Manvi-droid/malware-analysis-writeups
GitHub: Manvi-droid/malware-analysis-writeups
一个网络安全作品集项目,通过Ghidra、dnSpy和Detect-It-Easy工具详细展示恶意软件静态分析方法和IOC提取流程。
Stars: 0 | Forks: 0
# 恶意软件分析报告 — Umbral Stealer
**作者:** Manvi
**日期:** 2026年5月
**难度:** 初级
**使用工具:** Detect-It-Easy v3.21、dnSpy、Ghidra 12.0
## 1. 样本信息
| 字段 | 值 |
|---|---|
| 文件名 | `Umbral.payload.exe` |
| MD5 / SHA256 | `a4c68613a9c6718fe737a671897e41c03283a3cbb1f241142f0f6eb33f84f890` |
| 文件类型 | PE32 — Windows 32位 GUI 可执行文件 |
| 文件大小 | 231 KB |
| 架构 | I386(32位,可在所有 Windows 上运行) |
| 语言 | C# / MSIL(.NET Framework 4.6) |
| 首次分析时间 | 2026年5月 |
## 2. 初步分类分析 — Detect-It-Easy
通过 **Detect-It-Easy v3.21** 运行样本,无需执行文件即可立即发现多个危险信号。
**检测结果:**
| 检测项 | 严重程度 | 含义 |
|---|---|---|
| 恶意软件:窃密木马 [一般特征] | 🔴 高 | 匹配已知窃密木马特征 |
| 异常构建信息 [可能已感染] | 🔴 高 | PE 头部被篡改 |
| 混淆 [修改的托管入口点] | 🟡 中 | 入口点被混淆以阻碍分析 |
| 反分析 [反调试] | 🟡 中 | 主动检测是否正在被分析/调试 |
| 调试数据:记录 [repro] | 🟡 低 | 恶意软件作者留下的调试符号 |
**关键要点:** DIE 在检查任何代码之前就已确认这是一个窃密木马。混淆和反调试技术表明作者清楚分析工具的存在。

## 3. 静态分析 — dnSpy
由于样本是 .NET/C# 二进制文件,**dnSpy** 被用作主要的反编译工具(对托管 .NET 代码比 Ghidra 更有效)。
### 3.1 混淆
程序集资源管理器中的所有类和方法名都使用了 Unicode 字符进行混淆,使得符号树初看之下无法阅读。这是信息窃密木马常用的减缓分析速度的技术。

### 3.2 Discord 令牌/账户采集
尽管存在混淆,但在基类内部发现了可读的**数据字段**,强烈表明**Discord 账户数据被盗**:
```
email : string
username : string
phone : string
mfa_enabled : bool
premium_type : int
verified : bool
```
这些字段直接对应 Discord 的用户对象结构,表明恶意软件解析窃取的令牌以提取完整的账户详情。
### 3.3 浏览器凭据盗窃
在 dnSpy 中搜索 `"login data"` 返回多个引用:
- `` — 用于复制浏览器登录数据库的临时路径
- `GetPasswords` 函数 — 用于提取已保存凭据的专用方法
这与**基于 Chromium 的浏览器凭据盗窃**一致,恶意软件将 Chrome/Edge/Brave 配置文件中(SQLite 数据库)的 `Login Data` 复制到临时位置,然后提取存储的用户名和密码。
## 4. 静态分析 — Ghidra
**Ghidra 12.0** 用于低级别 PE 结构检查,作为 dnSpy 的补充。
- 运行时确认为 `.NET Framework 4.6, CLR 4.0.30319`
- 入口点修改与 DIE 的混淆发现一致
- 未检测到其他原生代码有效载荷 — 恶意软件完全是托管 .NET
## 5. 妥协指标(IOC)
| 类型 | 值 |
|---|---|
| SHA256 哈希 | `a4c68613a9c6718fe737a671897e41c03283a3cbb1f241142f0f6eb33f84f890` |
| 文件名 | `Umbral.payload.exe` |
| 文件路径(样本) | `C:\MalwareAnalysis\samples\` |
| 临时路径模式 | ``(浏览器凭据复制) |
| 目标数据 | Discord 令牌、浏览器已保存密码 |
| 目标浏览器 | 基于 Chromium 的浏览器(Chrome、Edge、Brave) |
## 6. 恶意软件家族 — Umbral Stealer
根据文件名、行为和代码结构,此样本属于 **Umbral Stealer** 家族 — 一个开源的 C# 信息窃密木马,已被广泛分发和修改。该家族的主要功能包括:
- Discord 令牌盗窃和账户枚举
- 浏览器凭据和 Cookie 采集
- 加密货币钱包攻击
- 屏幕截图
- 系统信息收集
## 7. 结论
此样本是一个**已确认的信息窃密木马**,针对 Discord 账户和浏览器存储的凭据。它使用:
- **.NET 混淆**来阻碍静态分析
- **反调试技术**来检测沙箱/分析师
- **Chromium Login Data** 数据库复制进行凭据盗窃
- **Discord API 令牌解析**来枚举完整账户详情
即使是初级分析师,DIE + dnSpy 的组合也足以识别恶意软件家族、核心功能和关键 IOC **无需执行样本**。
## 8. 工具与参考资料
- [Detect-It-Easy](https://github.com/horsicq/Detect-It-Easy) — 文件类型和加壳器检测
- [dnSpy](https://github.com/dnSpy/dnSpy) — .NET 反编译器和调试器
- [Ghidra](https://ghidra-sre.org/) — NSA 逆向工程框架
- [MalwareBazaar](https://bazaar.abuse.ch/) — 样本来源
- [any.run](https://any.run/) — 在线沙箱
*本分析仅在安全、隔离的环境中进行,用于教育和作品集展示目的。*
标签:APT分析, DAST, Detect-It-Easy, dnSpy, Ghidra, Gobuster, IOC提取, .NET反编译, PE分析, PE检查, SIP, 云安全监控, 云资产清单, 信息窃取器, 多人体追踪, 威胁情报, 威胁识别, 开发者工具, 恶意软件分析, 恶意软件报告, 恶意软件逆向, 红队技术, 网络安全, 网络安全Portfolio, 逆向工程, 隐私保护, 静态分析