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 在检查任何代码之前就已确认这是一个窃密木马。混淆和反调试技术表明作者清楚分析工具的存在。 ![DIE 扫描结果](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/48b58fac92204909.png) ## 3. 静态分析 — dnSpy 由于样本是 .NET/C# 二进制文件,**dnSpy** 被用作主要的反编译工具(对托管 .NET 代码比 Ghidra 更有效)。 ### 3.1 混淆 程序集资源管理器中的所有类和方法名都使用了 Unicode 字符进行混淆,使得符号树初看之下无法阅读。这是信息窃密木马常用的减缓分析速度的技术。 ![混淆的程序集资源管理器](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/68af706ecf204918.png) ### 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, 逆向工程, 隐私保护, 静态分析