本帖最后由 瞬犀安全 于 2026-6-24 09:14 编辑
近期发现一批银狐远控木马借助搜索引擎结果和仿冒软件下载站进行传播。
攻击者通过搭建伪装页面,将样本包装成“汽水音乐”安装包,引导用户从非官方渠道下载并运行。
与早期偏向定向投递的银狐木马不同,本次样本更接近批量化投毒模式:攻击者利用热门软件关键词获取自然搜索流量,再将合法签名程序、正版软件安装程序与恶意组件混合打包,以降低用户和安全产品的初步警觉。
本次分析的样本具备以下典型特征: 使用 NSIS 安装包封装多个组件; 捆绑正版汽水音乐安装程序作为伪装; 利用带合法签名的 GameBox.exe 加载无签名恶意 DLL; 通过 user.dat 保存加密配置与后续载荷; 采用 TCP 通信拉取上线模块和登录模块; 通过注册表保存 Shellcode 和 C2 配置,实现后续加载; 收集主机硬件、系统、进程、窗口、权限级别等信息并回传。 伪装下载站点如下: https://www.qishuiapp.com.cn/(现已失效)
一、样本信息
本次分析样本信息如下: 文件名 : qishuiyinyue_64.exe MD5: 56ee6cf64aeb26532b1b2f307882f057 SHA256 : 56f2513ee1e6abc3554cf7d456dde70a476a0de6ddae78f4d3a72b0b379e5006 类型: NSIS 安装包 伪装 : 汽水音乐安装程序
安装后默认释放目录为: C:\Program Files (x86)\CalendarPro
CalendarPro 与“汽水音乐”本身不存在直接关联。该目录命名具有一定迷惑性,攻击者可能希望借此规避用户对安装目录异常的关注。
释放后的文件位置如下:
传播与执行流程如下:
从链路可以看出,该样本并非单一文件直接释放恶意代码,而是采用多阶段加载方式,将恶意逻辑拆分在 Utility.dll、user.dat 以及网络下发模块中,增加了静态查杀和人工分析成本。
二、样本恶意行为分析
从假网站下载的压缩包 qishuiyinyue_64.zip 解压后,得到一个看似无害的单文件安装程序 qishuiyinyue_64.exe。
文件基本信息: 文件名:qishuiyinyue_64.exe MD5:56ee6cf64aeb26532b1b2f307882f057 SHA256:56f2513ee1e6abc3554cf7d456dde70a476a0de6ddae78f4d3a72b0b379e5006 打包工具:NSIS
使用 7z 手动解压该安装包,得到如下文件结构: 2026/05/11 16:20 <DIR> $PLUGINSDIR 2026/04/22 11:36 <DIR> config 2026/04/16 20:52 500,792 DuiLib_u.dll 2026/04/16 20:52 1,507,896 GameBox.exe 2026/03/05 19:02 145,061,704 SodaMusic-v3.1.0-official-win32_x64.exe 2026/04/21 05:00 2,384 user.dat2026/04/21 02:41 96,768 Utility.dll 2026/04/21 08:57 27,148 [NSIS].nsi 运行安装程序后,文件默认释放到 C:\Program Files (x86)\CalendarPro 路径下。
注意,CalendarPro 本是微软的共享团队日历,木马借壳伪装,让不明所以的用户即使看到路径也不会起疑。
对释放文件逐一核查数字签名,结果如下: 部分 NSIS 安装脚本内容如下: Section "Main Section" SetOutPath $INSTDIR SetOverwrite on AllowSkipFiles on File DuiLib_u.dll File GameBox.exe File SodaMusic-v3.1.0-official-win32_x64.exe File user.dat File Utility.dll CreateShortCut $DESKTOP\汽水音乐.lnk $INSTDIR\SodaMusic-v3.1.0-official-win32_x64.exe "" $INSTDIR\SodaMusic-v3.1.0-official-win32_x64.exe CreateDirectory $SMPROGRAMS\CalendarPro CreateShortCut $SMPROGRAMS\CalendarPro\汽水音乐.lnk $INSTDIR\SodaMusic-v3.1.0-official-win32_x64.exe "" $INSTDIR\SodaMusic-v3.1.0-official-win32_x64.exeSectionEnd
当前脚本片段主要负责释放文件和创建快捷方式,未在该片段中直接启动 GameBox.exe。但从组件关系看,只要攻击者在安装脚本中增加启动逻辑,即可触发后续白加黑加载链路。因此,脚本本身是否直接执行 GameBox.exe 并不影响对该样本核心能力的判断。
一眼望去,利用合法签名文件加无签名恶意 DLL 的“白加黑”手法,已然呼之欲出。
白加黑加载链路
样本中的关键恶意组件为 Utility.dll。该 DLL 无数字签名,导出函数中存在 CreateTipsManager。
加载链路如下: GameBox.exe -> Load Utility.dll -> 调用 CreateTipsManager -> 进入恶意逻辑
该方式利用合法签名程序作为加载入口,降低初始执行阶段的可疑程度。GameBox.exe 起到白文件加载器作用,Utility.dll 则负责解密载荷、连接 C2 与执行后续模块。
加密配置与载荷解密
Utility.dll 会读取并解密同目录下的 user.dat。该文件中保存了后续通信配置和 Shellcode 相关内容。
分析发现,user.dat 使用 AES-CBC 加密: 算法 : AES-CBC Key : 547256B719C07EFA4D60DD9B890029AAAD26F25FDBBFC1C088D19A551341BC17 IV : 6D29EFE0E68250AC5A348AF37A0E79BF
解密完成后,样本会创建线程执行内存中的 Shellcode:
同时,样本会在解密后的内存中搜索关键标识 codemark,并从其后提取 C2 配置。
配置内容如下: |p1:103.12.148.79|o1:443|t1:1|p2:103.12.148.79|o2:443|t2:1|p3:zhuzhu3.yunduans.com|o3:1280|t3:1|dd:1|cl:1|fz:默认|bb:1.0|bz:2026. 3.17|jp:1|bh:0|ll:0|dl:0|sh:0|kl:0|bd:0|97.841.21.30197.841.21.301
这套配置指明了多个 C2 地址(IP 和域名备用)、通信端口及木马行为开关,展现了典型的银狐多级冗余策略。其中结尾部分经过字符串反转后,可还原出 C2 IP: 103.12.148.79
网络通信与上线模块 样本启动网络通信后,会通过 TCP 与 C2 建立连接。初始通信中可见 33 32 00,对应 ASCII 字符串 32。 随后样本从网络侧获取加密 Shellcode,并在内存中完成解密。图中选中部分为相关解密逻辑:
解密后的载荷并不是单一 Shellcode,所有恶意 PE 文件均以 Shellcode+PE 的形式传输到内存中,直接加载运行,不落盘。这种 fileless 技术使得传统文件扫描形同虚设。PE 导出信息中可见模块名称为“上线模块.dll”。
上线模块入口函数会解析 user.dat 传入的配置,并根据 C2 信息构造通信数据包。 通信协议结构 样本会格式化 TCP 数据包并发送至 C2。 发包示例 密文如下: 40 00 00 00 F8 95 28 00 00 00 00 00 CA 00 2A 2E CB 5E 36 36 36 36 36 00 36 2E CB 5E 36 36 36 36 36 00 36 2E CB 5E 36 36 36 36 36 00 36 2E CB 5E 36 36 36 36 36 00 36 2E CB 5E 36 36 36 36 36 00 解密后如下: 40 00 00 00 F8 95 28 00 00 00 00 00 CA 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
收包示例 密文如下: 73 00 00 00 F8 95 28 00 00 00 00 00 CA 00 2A 1D CB 3D 36 02 36 04 36 36 36 4B CB 6B 36 50 36 55 36 36 36 19 CB 6E 36 00 36 04 36 65 36 48 CB 6F 36 57 36 0F 36 37 36 17 CB 3A 36 0F 36 05 36 63 36 4B CB 3D 36 55 36 57 36 38 36 1F CB 6A 36 36 36 36 36 00 36 2E CB 5E 36 36 36 36 36 00 36 2E CB 5E 36 36 36 36 36 00 36 2E CB 5E 36 36 36 36 36 00 36 解密后如下: 73 00 00 00 F8 95 28 00 00 00 00 00 CA 00 04 33 00 63 00 34 00 32 00 36 00 65 00 35 00 66 00 63 00 36 00 37 00 30 00 36 00 32 00 65 00 66 00 31 00 61 00 39 00 37 00 39 00 64 00 39 00 33 00 63 00 65 00 63 00 63 00 61 00 38 00 31 00 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
按字符串解析可得到如下内容,开头包含不可见控制字符 0x04: \x04 3c426e5fc67062ef1a979d93cecca814
数据包结构 根据样本逻辑可还原出如下结构: 通信包结构
typedef struct _Packet { DWORD PacketLength; CHAR EncryptKey[0x0A]; DWORD TickCount; CHAR Unknown[0x06]; DWORD Reserved; WORD Magic; // 0xCA BYTE PacketBody[0];} Packet;
其中包头包含长度、加密相关字段、时间戳类字段和固定标识,包体则承载模块请求、Shellcode 或主机信息等内容。
注册表持久化与二阶段加载 样本在处理 C2 返回数据时,会将部分载荷写入注册表,并在后续流程中从注册表读取后重新执行。 关键行为如下: - 打开 HKEY_CURRENT_USER\Console\0;
- 写入键值 451b464b7a6c2ced348c1866b59c362e;
- 将 Shellcode 存储到该键值中;
- 写入 HKEY_CURRENT_USER\SOFTWARE\IpDates_info 保存 C2 配置;
- 从注册表读取 Shellcode 到内存后执行。
处理逻辑伪代码
该逻辑说明样本并不完全依赖磁盘文件保存后续阶段载荷,而是使用注册表作为隐蔽存储位置。这种方式可规避部分基于文件落地的检测策略。
登录模块分析 上线模块执行后,样本继续通过 TCP 获取后续加密 Shellcode。解密后的二阶段模块同样采用“Shellcode + PE 文件”形式,导出表中可见“登录模块.dll”。
登录模块主要负责主机上线后的信息采集和远控前置逻辑,分析中观察到以下行为: - 重启自身或维持自身运行;
- 获取键盘输入相关信息;
- 枚举主机系统与硬件信息;
- 检测指定常用办公/通讯软件进程;
- 构造主机信息包并回传 C2;
- 进入远控指令分发逻辑。
主机信息采集 登录模块会构造协议号为 6 的主机信息包。该数据包以宽字符为主,中文内容使用 Unicode 编码。 主机信息协议包字段
协议号 : 6
包长度 : 0x1CA8
编码 : WCHAR / Unicode
+0x000 协议号: WORD
+0x002 本机所有 IP 地址
+0x278 用户闲置时间,例如 L"%02d:%02d:00" 或“正在操作”
+0x296 Windows 版本,例如 Windows 10 企业版
+0x2FA 计算机名,例如 DESKTOP-HNVDN6U
+0x3C2 系统版本号,例如 10.0.17763
+0x3FE CPU 核心数
+0x476 硬盘与内存容量信息
+0x606 显卡信息
+0x732 当前前台窗口标题
+0x930 分组或备注信息,例如“默认”
+0x994 版本号,例如 1.0
+0x9F8 构建日期,例如 2026.4.21
+0xA5C 系统运行时间与开机时间
+0xAC0 本地日期
+0xB24 操作系统位数,例如 64
+0xB38 Token 完整性级别
+0xB9C 当前运行路径
+0xD90 当前进程 PID
+0xDA4 显卡数量
+0xFAA 关注进程命中情况
+0x119E 系统语言
+0x11DE 分辨率与显示设备
+0x13DC 系统目录
+0x1440 硬件配置 GUID
+0x14A2 当前状态,例如 Waiting... 特别值得警惕的是,登录模块会主动枚举运行中的进程,并对以下目标表现出特别的“兴趣”:
关注进程列表 Telegram.exe Telegram
WeChat.exe 微信
WXWork.exe 企业微信
DingTalk.exe 钉钉
这些字段表明,攻击者在主机上线后会对受害环境进行较完整的画像,包括系统版本、权限级别、运行路径、在线状态、前台窗口、通讯软件和办公软件使用情况等。该类信息通常可用于目标筛选、人工接管和后续横向移动前的环境判断。
远控功能入口 登录模块后续进入一个大型 switch ... case ... 指令分发逻辑,显然是远控功能的中枢。从逆向分析可以推断其至少支持文件管理、屏幕监控、命令执行等全套远控能力。
由于继续交互需要与攻击者服务器通信,并可能暴露分析环境信息,本文未继续触发后续远控指令,仅保留至主机信息采集与指令分发入口位置。
三、威胁特点总结
综合分析,该样本具有以下特点: - 传播入口低成本化。通过仿冒下载站和搜索引擎结果获取流量,降低投递门槛。
- 伪装目标大众化。选择“汽水音乐”等热门软件作为诱饵,增加普通用户运行概率。
- 加载链路分阶段化。恶意逻辑拆分为 DLL、加密数据文件和网络下发模块,降低单点暴露风险。
- 执行方式白加黑化。使用带合法签名程序加载无签名恶意 DLL,增强迷惑性。
- 载荷存储隐蔽化。将 Shellcode 和 C2 配置写入注册表,减少明显文件落地痕迹。
- 远控能力模块化。上线模块、登录模块、后续远控指令分发相互分离,便于攻击者按需更新。
本次分析的样本代表了银狐家族的一个重要转型趋势:
1.降本增效:过去的定向 APT 攻击需要人力进行鱼叉邮件编写、目标调研、漏洞利用。如今借助 SEO 投毒和假下载站,攻击者只需坐等受害者上钩,边际成本趋近于零。
2.流量劫持:利用搜索引擎对“汽水音乐下载”等热门关键词的高权重页面进行污染,让官方结果与假网站混在一起,普通用户几乎无法分辨。
3.海量筛选:虽然广撒网命中率低,但基数足够大时,总会有一部分受害者中招。木马上线后通过信息采集自动完成“二次筛选”——高价值目标(如企业管理员、财务人员)会被标记,进入更深入的攻击流程。
4.对抗升级:白加黑 + 内存加载 + 加密通信的组合拳,让传统基于文件和签名的检测手段几乎完全失效。更令人头疼的是,这些木马甚至会在安装包内保留正版程序功能,用户体验没有明显异常,进一步延长了驻留时间。 四、IOC 信息
1.文件 IOC qishuiyinyue_64.exe
MD5 : 56ee6cf64aeb26532b1b2f307882f057
SHA256 : 56f2513ee1e6abc3554cf7d456dde70a476a0de6ddae78f4d3a72b0b379e5006 相关文件名: DuiLib_u.dll
GameBox.exe
SodaMusic-v3.1.0-official-win32_x64.exe
Utility.dll
user.dat
[NSIS].nsi
2.网络 IOC
3.注册表 IOC HKEY_CURRENT_USER\Console\0\451b464b7a6c2ced348c1866b59c362e
HKEY_CURRENT_USER\SOFTWARE\IpDates_info
4.路径 IOC C:\Program Files (x86)\CalendarPro
C:\Users\admin\Downloads\qishuiyinyue_64\qishuiyinyue_64\GameBox.exe
五、防护建议
面对这类“广撒网”式的新型威胁,普通用户和安全从业者可以从以下几个方面加强防护:
对普通用户: 只从官方渠道下载软件:搜索引擎的结果不可全信,尤其是带有“广告”标识、域名可疑(如本例的 qishuiapp.com.cn)的链接。汽水音乐的官方网站应以 dyscm.com 或字节跳动相关域名为准。 注意安装路径异常:如果发现软件被安装到 CalendarPro、System 等非默认目录,应立刻警觉并终止运行。 安装前核对数字签名:右键查看文件属性中的数字签名,确认签名主体与软件开发商一致。 非必要不赋予管理员权限:即使不慎运行了木马,低权限也能大幅限制其破坏能力和持久化手段。 保持系统与杀毒软件更新:虽然银狐能绕过传统扫描,但一些具备行为检测和内存防护能力的 EDR 或安全软件仍能拦截可疑操作。
对安全从业者: IOC 入库与威胁情报共享:将本次提取的 IP(103.12.148.79)、域名(zhuzhu3.yunduans.com)、文件哈希等加入检测规则,并及时同步至威胁情报平台。 监控非正常路径的白加黑行为:重点关注 Program Files (x86) 下非微软目录中加载无签名 DLL 的行为。 注册表异常监控:检测对 HKEY_CURRENT_USER\Console 等非典型路径写入可执行数据的操作。 网络侧检测:留意对非标准端口(如 443 端口传输非 TLS 流量、1280 端口的 TCP 长连接)的可疑通信,尤其是心跳包体积极小的特征。 持续追踪银狐变种:该家族迭代频繁,建议保持对最新样本的捕获与逆向分析,及时更新检测规则。
|