arockenbauer/Stealer-malware-analysis
GitHub: arockenbauer/Stealer-malware-analysis
对Discord传播的Veil of Mana凭证窃取恶意软件进行完整逆向工程分析,涵盖攻击链拆解、IOC指标提取和防御性研究文档。
Stars: 0 | Forks: 0
# Veil of Mana Discord 交付的凭证窃取链条逆向工程分析
[法语版本](#version-française)
**导航:** [README](./README.md) · [公开摘要](./PUBLIC_SUMMARY.md) · [技术报告](./RAPPORT.md) · [IOC](./IOC.md) · [安全片段](./SAFE_SNIPPETS.md)
## 免责声明
本仓库记录了对通过 Discord 社会工程学诱饵传播的凭证窃取恶意软件样本的离线逆向工程分析。
在此研究的案例中,该样本被展示为 **Veil of Mana** 并以 **`veilofmana.exe`** 的形式交付。这种相同的交付模式很容易被重新用于不同的游戏名称、启动器名称或文件名。
**本仓库中不包含任何可执行载荷。**
此处发布的所有内容仅用于**防御性研究、事件响应和文档记录**。
为了在保持仓库有用性的同时不增加恶意软件的复用便利性,它故意排除了:
- 原始的恶意二进制文件
- 可运行的重建载荷
- 完整的反编译转储
- 可用于重放窃取流程的工具
剩下的就是分析本身:笔记、指标和有助于解释样本工作原理的简短摘录。
## 分析内容
该样本由三层构建:
1. 一个 **Electron** 启动器
2. 一个用作 loader/stager 的 **原生 Node.js addon**
3. 一个处理网络活动的混淆 **Java payload**
宏观来看,该链条如下所示:
```
main.js -> addon.node -> %LOCALAPPDATA%\ZPLauncher -> launcher.jar -> bo / be
```
在分析过程中,恢复了以下远程目标地址:
- `https://create.mythic.cymru/l`
- `https://update.mythic.cymru/e`
Electron 层还包含硬编码密钥:
- `myth-uwu-oq8k8kyi4aczvff`
## 诈骗的传播方式
根据受害者账户的描述,感染始于一场相当典型的 **Discord 虚假试玩骗局**。
其模式很简单:
1. 攻击者发起正常的、友好的对话
2. 询问受害者是否想要测试一款据称仍在开发中的游戏
3. 将其引导至一个带有介绍页面和下载链接的虚假游戏网站
4. 该网站提供了一个启动器,展示为游戏客户端
5. 该启动器即为恶意文件 **`veilofmana.exe`**
一旦文件被打开,恶意软件链条便接管了控制权。
在此样本中观察到的流程如下:
1. Electron 启动器启动并将硬编码密钥传入原生 addon
2. 该 addon 在 `%LOCALAPPDATA%\ZPLauncher` 下部署了一个 Java 运行时和 `launcher.jar`
3. Java payload 接管并处理真正的网络通信
4. 一个组件向 `https://create.mythic.cymru/l` 发送二进制数据
5. 另一个向 `https://update.mythic.cymru/e` 发送 JSON 消息,包括错误/事件报告
6. 被窃取的数据随后可用于对受害者施压、恐吓或勒索
## 受害者应对措施
如果有人运行了该启动器,最好的应对措施是迅速行动。
- **不要支付**赎金或勒索要求。
- **立即更改密码**,从电子邮件、Discord、密码管理器、银行以及任何重复使用的凭证开始。
- 尽可能撤销活动会话。
- 轮换暴露的 token、API 密钥和保存的凭证。
- 如果可以安全地进行,请保留样本和任何有用的日志。
支付**不**能保证被窃取的数据会被删除,也不能保证攻击者会停止联系受害者。
## 仓库内容
- **[PUBLIC_SUMMARY.md](./PUBLIC_SUMMARY.md)**:关于骗局、`veilofmana.exe` 和恢复的 C2 端点的通俗语言概述
- **[RAPPORT.md](./RAPPORT.md)**:完整的技术分析,包括执行链、暂存和网络行为
- **[IOC.md](./IOC.md)**:从样本中提取的失陷指标
- **[SAFE_SNIPPETS.md](./SAFE_SNIPPETS.md)**:经过清理的简短摘录和简化技术片段以供审查
- **[.gitignore](./.gitignore)**:防止真正的恶意软件和大型分析工件被误发布的规则
## 发布材料范围
本仓库涵盖:
- Electron 入口点
- 原生 loader/stager 行为
- 暂存路径和文件布局
- 参与网络通信的 Java 类
- 重建的请求和响应格式
- 受害者描述的 Discord/社会工程学交付模式
- 与 IOC 相关的字符串、路径、标头、域名和端点
本仓库**不**包括:
- `addon.node`
- `launcher.jar`
- 提取的 `.class` 文件
- 完整的反编译源代码转储
- 会使恶意软件投入使用的可运行自动化脚本
## 主要发现
### 1. Electron 入口点
Electron 应用硬编码了一个密钥,并通过 `setup(KEY)` 将其传入原生 addon。
### 2. 原生 addon 的作用
该 addon 主要充当 **loader/stager**。它准备以下结构:
```
%LOCALAPPDATA%\ZPLauncher\
launcher.jar
runtime\bin\java-launcher.exe
```
它还导出 `elevate`,这表明可能存在可选的权限提升或与 UAC 相关的路径。
### 3. Java payload 的作用
暂存的 `launcher.jar` 包含核心的混淆逻辑。在分析过程中识别出的最重要的类包括:
- **`bZ`**:密钥占位符和与版本相关的常量
- **`bo`**:二进制 POST 通道
- **`be`**:JSON POST / 错误报告通道
- **`b7` / `b8`**:字符串去混淆和引导程序间接调用
### 4. 网络通道
#### `bo`
- **目标**:`https://create.mythic.cymru/l`
- **方法**:POST
- **正文**:二进制
- **标头**:
- `key: `
- `version: 1.0.5`
- `Content-Type: application/octet-stream`
- **预期成功响应**:HTTP `200`
#### `be`
- **目标**:`https://update.mythic.cymru/e`
- **方法**:POST
- **正文**:JSON
- **标头**:
- `Content-Type: application/json`
- **观察到的 JSON 字段**:
- `content`
- `type`
- **观察到的 type 值**:
- `ERROR`
- **预期成功响应**:HTTP `2xx`
## 发布选择
该仓库专为以下目的而写:
- 恶意软件分类
- IOC 提取
- 逆向工程审查
- SOC / DFIR 信息补充
- 防御性报告
同时,它避免发布那些会使直接复用变得更容易的部分。
这就是为什么该仓库保留:
- 书面分析
- IOC 列表
- 小段摘录
- 总结或经过编辑的格式
并排除了可运行的工件。
## 法语版本
[Back to English](#reverse-engineering-analysis-of-the-veil-of-mana-discord-delivered-credential-theft-chain)
**导航 :** [README](./README.md) · [Résumé public](./PUBLIC_SUMMARY.md) · [Rapport technique](./RAPPORT.md) · [IOC](./IOC.md) · [Extraits sûrs](./SAFE_SNIPPETS.md)
## 免责声明
Ce dépôt rassemble une analyse de reverse engineering réalisée hors ligne sur un malware de vol d'identifiants diffusé via un leurre d'ingénierie sociale sur Discord.
Dans le cas analysé ici, l'échantillon était présenté comme **Veil of Mana** et livré sous la forme de **`veilofmana.exe`**. Le même mode opératoire pourrait très bien être réutilisé avec un autre nom de jeu, un autre launcher ou un autre nom de fichier.
**Aucune charge exécutable n'est incluse dans ce dépôt.**
Tout ce qui est publié ici l'est dans un but de **recherche défensive, de réponse à incident et de documentation**.
Pour garder un dépôt utile sans faciliter la réutilisation du malware, il exclut volontairement :
- les binaires malveillants d'origine
- les payloads reconstruits et exécutables
- les dumps complets de code décompilé
- les outils qui permettraient de rejouer l'exfiltration
Ce qui reste, c'est l'analyse elle-même : des notes, des indicateurs et de courts extraits qui aident à comprendre le fonctionnement de l'échantillon.
## 分析内容
L'échantillon repose sur trois couches :
1. un launcher **Electron**
2. un **addon Node.js natif** servant de loader/stager
3. un **payload Java obfusqué** qui gère l'activité réseau
À haut niveau, la chaîne ressemble à ceci :
```
main.js -> addon.node -> %LOCALAPPDATA%\ZPLauncher -> launcher.jar -> bo / be
```
Pendant l'analyse, les destinations distantes suivantes ont été retrouvées :
- `https://create.mythic.cymru/l`
- `https://update.mythic.cymru/e`
La couche Electron contient aussi la clé hardcodée suivante :
- `myth-uwu-oq8k8kyi4aczvff`
## 诈骗传播方式
D'après le récit de la victime, l'infection a commencé par une **arnaque Discord au faux playtest**.
Le scénario était simple :
1. l'attaquant engage une conversation normale et polie
2. il demande à la victime si elle veut tester un jeu encore en développement
3. il envoie la victime vers un faux site de jeu avec une page de présentation et un lien de téléchargement
4. le site propose un launcher présenté comme le client du jeu
5. ce launcher est en réalité le fichier malveillant **`veilofmana.exe`**
À partir du moment où le fichier est ouvert, la chaîne malware prend le relais.
Dans cet échantillon, le flux observé était le suivant :
1. le launcher Electron démarre et transmet une clé hardcodée à l'addon natif
2. l'addon dépose un runtime Java et `launcher.jar` dans `%LOCALAPPDATA%\ZPLauncher`
3. le payload Java prend ensuite la main pour la communication réseau réelle
4. un composant envoie des données binaires vers `https://create.mythic.cymru/l`
5. un autre envoie des messages JSON, notamment liés aux erreurs ou aux événements, vers `https://update.mythic.cymru/e`
6. les données volées peuvent ensuite servir à faire pression sur la victime, à l'intimider ou à tenter une extorsion
## 受害者建议应对措施
Si quelqu'un a exécuté le launcher, le plus important est d'agir vite.
- **Ne payez pas** de rançon ni de chantage.
- **Changez les mots de passe immédiatement**, en commençant par l'e-mail, Discord, le gestionnaire de mots de passe, la banque et tous les accès réutilisés.
- Révoquez les sessions actives quand c'est possible.
- Faites tourner les tokens, clés API et identifiants sauvegardés qui auraient pu être exposés.
- Conservez l'échantillon et les journaux utiles si cela peut être fait sans risque.
Payer ne **garantit pas** que les données volées seront supprimées ni que l'attaquant cessera de recontacter la victime.
## 仓库内容
- **[PUBLIC_SUMMARY.md](./PUBLIC_SUMMARY.md)** : une vue d'ensemble en langage simple de l'arnaque, de `veilofmana.exe` et des endpoints C2 retrouvés
- **[RAPPORT.md](./RAPPORT.md)** : l'analyse technique complète, avec la chaîne d'exécution, le staging et le comportement réseau
- **[IOC.md](./IOC.md)** : les indicateurs de compromission extraits de l'échantillon
- **[SAFE_SNIPPETS.md](./SAFE_SNIPPETS.md)** : de courts extraits sanitisés et des snippets techniques simplifiés
- **[.gitignore](./.gitignore)** : les règles qui empêchent de publier par erreur le malware réel et les gros artefacts d'analyse
## 发布范围
Ce dépôt couvre :
- le point d'entrée Electron
- le comportement du loader/stager natif
- le chemin de staging et l'organisation des fichiers
- les classes Java impliquées dans la communication réseau
- les formats de requête et de réponse reconstruits
- le mode de diffusion Discord / ingénierie sociale décrit par la victime
- les chaînes, chemins, headers, domaines et endpoints utiles en IOC
Ce dépôt n'inclut **pas** :
- `addon.node`
- `launcher.jar`
- les fichiers `.class` extraits
- les dumps complets de code décompilé
- l'automatisation exécutable qui permettrait d'opérationnaliser le malware
Résultats principaux
### 1. Electron 入口点
L'application Electron contient une clé hardcodée et la transmet à l'addon natif via `setup(KEY)`.
### 2. 原生插件角色
L'addon agit avant tout comme **loader/stager**. Il prépare l'arborescence suivante :
```
%LOCALAPPDATA%\ZPLauncher\
launcher.jar
runtime\bin\java-launcher.exe
```
Il exporte aussi `elevate`, ce qui laisse penser qu'il peut exister un chemin optionnel lié à l'élévation de privilèges ou à l'UAC.
### 3. Java payload 角色
Le `launcher.jar` déposé contient la logique obfusquée principale. Les classes les plus importantes repérées pendant l'analyse sont :
- **`bZ`** : placeholder de clé et constantes liées à la version
- **`bo`** : canal POST binaire
- **`be`** : canal POST JSON / remontée d'erreurs
- **`b7` / `b8`** : déobfuscation de chaînes et bootstrap indirect
### 4. 网络通道
#### `bo`
- **Destination** : `https://create.mythic.cymru/l`
- **Méthode** : POST
- **Corps** : binaire
- **Headers** :
- `key: `
- `version: 1.0.5`
- `Content-Type: application/octet-stream`
- **Succès attendu** : HTTP `200`
#### `be`
- **Destination** : `https://update.mythic.cymru/e`
- **Méthode** : POST
- **Corps** : JSON
- **Headers** :
- `Content-Type: application/json`
- **Champs JSON observés** :
- `content`
- `type`
- **Valeur observée pour `type`** :
- `ERROR`
- **Succès attendu** : HTTP `2xx`
## 发布选择
Le dépôt est volontairement pensé pour être utile à :
- la qualification malware
- l'extraction d'IOC
- la revue de reverse engineering
- l'enrichissement SOC / DFIR
- le reporting défensif
Tout en évitant de publier les éléments qui rendraient une réutilisation directe plus simple.
C'est pour cette raison qu'il conserve :
- de l'analyse rédigée
- des listes d'IOC
- de petits extraits
- des formats résumés ou expurgés
et qu'il laisse de côté les artefacts exécutables.
标签:DAST, Discord钓鱼, DNS 反向解析, Electron安全, ESC8, IOC指标, IP 地址批量处理, Java恶意软件, JS文件枚举, MITM代理, Mythic C2, Node.js插件, RedTeam, 云资产清单, 多层载荷, 威胁情报, 开发者工具, 恶意软件分析, 样本分析, 混淆技术, 游戏诈骗, 社会工程学, 网络安全, 远控木马, 逆向工程, 隐私保护