Files
trojan-samples/20250318_iOS_calendar_wx/README.md
乱世人魔 1e9c130424 更新 20250318_iOS_calendar_wx/README.md
增加 Gemini-2.0-Flash-Thinking 的分析结果
2025-03-18 11:51:48 +08:00

54 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 20250318_iOS_calendar_wx_trajon
来自Apple日历邀请的钓鱼攻击
好的我已经仔细分析了您提供的HTML代码。这是一个具有潜在恶意行为的网页以下是我的逆向分析结果
**整体结构:**
该网页包含以下几个主要部分:
1. **HTML 头部 (`<head>`)**
* 设置了字符编码为 `utf-8`
* 设置了网页标题为 `/e`
* 包含一些内联的 CSS 样式。这些样式定义了页面容器的布局、在小屏幕设备上的隐藏行为、列表样式、链接颜色以及一个用于遮罩层 (`.mask`) 的样式。
2. **HTML 主体 (`<body>`)**
* 包含一个 `div` 元素,其 `class``mask``id``mask`。这个 `div` 默认是隐藏的 (`display: none`),并且层级很高 (`z-index: 9999`)。它内部包含一个 `div`,其中有一个 `img` 标签,其 `src` 指向 `./option.bin`。这表明该网页可能会尝试加载一个名为 `option.bin` 的文件,并且在特定情况下会显示一个遮罩层覆盖整个页面。
* 包含一个 `div` 元素,其 `class``container`。这个 `div` 包含一段关于水饺的文本,很可能用作迷惑用户的诱饵内容。这个容器在屏幕宽度小于或等于 750px 时会被隐藏 (`display: none;`)。
3. **JavaScript 代码 (`<script>`)**
* 定义了一个名为 `urlCode` 的变量,默认值为 `"hi16q14p"`
* 定义了 `_0xodZ``_0x544ed5` 变量,其中 `_0x544ed5` 被赋值为 `_0x5c71`
* 包含一个经过 `jsjiami.com.v7` 加密的 JavaScript 代码块。这表明代码经过了混淆处理,增加了逆向分析的难度。
* 定义了一个名为 `urlParams` 的变量,用于获取 URL 中的查询参数。
* 定义了一个名为 `_0x2d18` 的函数,但其具体实现被混淆了。
* 定义了一个核心的解密函数 `_0x5c71`,该函数用于解密混淆后的字符串。
* 获取 URL 参数中名为某个特定名称(解密后可能是渠道代码之类的参数)的值,并将其赋值给 `channelCode`。如果 `channelCode` 存在且不为空,则会更新 `urlCode` 的值。
* 包含一个 `if(!window['hasRedirected'])` 块,这表明代码会尝试进行页面重定向,并且使用 `window['hasRedirected']` 来避免重复重定向。
* 在重定向逻辑中,代码会获取当前域名 (`currentDomain`),并定义一个函数 `extractRootDomain` 来提取根域名。
* 根据当前域名是否为根域名以及子域名的长度,代码会生成不同的新 URL 并尝试重定向。重定向的目标 URL 包含随机生成的字符串,这是一种常见的恶意网页规避检测的手段。
* 代码还会检查用户的 User-Agent判断是否为 iOS 或 Android 设备,以及是否使用了特定的浏览器(例如 QQ 浏览器)。
* **关键的恶意行为判断:**
* 如果用户是 Android 设备且不是 QQ 浏览器,或者用户是 iOS 设备且不是 QQ 浏览器,则会将页面重定向到一个由变量 `ccf`(这个变量的值在混淆代码中,需要进一步解密)和 `urlCode` 拼接而成的 URL。
* 如果用户是 Android 设备**并且**是 QQ 浏览器,或者用户是 iOS 设备**并且**是 QQ 浏览器,则会将 `id``mask``div` 元素的 `display` 样式设置为 `block`,从而显示遮罩层。由于遮罩层中包含 `<img>` 标签,其 `src` 指向 `./option.bin`,这会**触发浏览器加载该文件**。`option.bin` 很可能是一个恶意的可执行文件或其他形式的恶意内容。
**详细逻辑总结:**
1. 网页加载时,首先会尝试从 URL 参数中获取渠道代码,并更新一个名为 `urlCode` 的变量。
2. 然后,它会检查 `window.hasRedirected` 标志,以避免重复重定向。
3. 根据当前域名和子域名的长度,网页可能会重定向到一个包含随机生成字符串的新 URL。
4. 代码会根据用户的操作系统iOS 或 Android和浏览器类型是否为 QQ 浏览器)执行不同的操作。
5. **最可疑的行为是:当用户使用 QQ 浏览器访问该页面时(无论是在 iOS 还是 Android 设备上),网页会显示一个覆盖全屏的遮罩层,并尝试加载一个名为 `option.bin` 的文件。这极有可能是一个木马程序或其他恶意文件。**
6. 在其他情况下(非 QQ 浏览器),网页会将用户重定向到一个由混淆变量 `ccf``urlCode` 拼接而成的 URL这个 URL 的具体内容需要进一步分析混淆后的 JavaScript 代码才能确定,但很可能也是恶意站点。
7. 中间的关于水饺的文本内容很可能只是为了迷惑用户,让他们以为这是一个正常的网页。
**后续追查建议:**
1. **不要点击页面上的任何内容。**
2. **如果 `option.bin` 文件被下载,请不要运行它。** 应该在一个安全的隔离环境(例如沙箱)中对其进行分析,以确定其具体行为。
3. **分析混淆后的 JavaScript 代码,特别是变量 `ccf` 的值以及重定向的目标 URL。** 这可能需要使用 JavaScript 逆向工程工具或手动分析解密后的代码。
4. **检查服务器日志,** 查看该木马网页的来源以及是否有其他用户访问过该页面。
5. **将该网页报告给相关的安全机构和浏览器厂商,** 以帮助阻止其进一步传播。
总而言之,这是一个非常可疑的网页,其主要目的是在特定条件下(特别是使用 QQ 浏览器时)诱导用户下载并运行名为 `option.bin` 的恶意文件,或者将用户重定向到其他恶意站点。请务必小心处理。