“银狐”远控木马新变种深度分析:从 MSI 投递到多阶段 C2 配置解密
在继《“银狐”病毒伪装安装包分析:从简单封装到 NSIS 脚本化投递》之后,我们近期捕获到“银狐”远控木马的又一高度进化的变种。该样本不再采用早期常见的“白加黑”简单打包方式,而是通过 MSI 安装包作为初始载体,结合 多层动态封装、环境感知、条件式释放与自定义反射加载机制,实现高度隐蔽的投递与持久化控制。
本文将从投递链路、执行流程、解密逻辑到最终 C2 通信,完整还原该新型“银狐”变种的攻击技术细节。
一、初始投递:MSI 安装包中的隐藏 Custom Action
样本以一个看似正常的 .msi 安装包形式出现,实则在 CustomAction 表中嵌入了恶意逻辑。关键字段如下:
- Action Name:任意命名(如
_BF84D321CFCEFEA02F92AC3F19AB7EFD)
- Type:3590
这个看似普通的数字实则暗藏玄机——它是多个 MSI 自定义动作标志位的叠加:
| 十六进制 |
十进制 |
标志位名称 |
作用说明 |
| 0x0400 |
1024 |
msidbCustomActionTypeInScript |
在脚本中的计划点执行队列。 此标志指定这是 延迟执行自定义作。 |
| 0x0200 |
512 |
msidbCustomActionTypeNoImpersonate |
以系统权限执行。该动作以高权限的 LocalSystem 账户运行,而不是当前用户权限。 |
| 0x0004 |
4 |
msidbCustomActionTypeHideTarget |
隐藏目标。对于执行命令行的动作,其完整路径和参数在日志中会被隐藏。 |
| 0x0002 |
2 |
msidbCustomActionTypeContinue |
忽略错误继续。动作失败不会导致安装失败或回滚。 |
该 Custom Action 实际执行一段内嵌的 VBScript ,其核心功能包括:
- 环境侦察:检测主机是否安装了火绒、腾讯电脑管家、360安全卫士等主流杀毒软件;
- 动态组装 payload:根据检测结果,从 MSI 资源中提取不同的二进制片段;
- Base64 解密 + 二进制拼接:将多个加密片段合并为下一阶段 DLL;
- 清理痕迹:释放完成后自动删除临时文件。
该设计显著提升了对抗能力:不同安全环境触发不同 payload 分支,有效规避静态特征检测。
二、第二阶段:条件式释放与自定义解密
以检测到 QQ电脑管家 的分支为例,样本会释放两个 DLL 文件(如 dll1.dll 和 libcef.dll)。
执行流程如下:
- 主 DLL 调用子 DLL;
- 子 DLL 读取上级目录中名为
_8 的隐藏文件(无扩展名);
- 该文件内容形如:
B1+A2+6C+FC+FB+FC+FC+FC+F8+FC+FC...
实为 十六进制字节以“+”分隔的字符串表示;
- 通过自定义解密函数,将字符串转为原始字节,并拼接成完整的 PE 文件;
- 最终加载为第三阶段的恶意 DLL。
此阶段通过 非标准编码格式 + 文件隐藏 + 动态拼接,有效绕过传统文件扫描。
三、第三阶段:反射加载与嵌套 payload
第三阶段 DLL 是核心加载器,具备以下行为:
- 调用第一阶段释放的
.exe 文件(用于创建互斥体 Run2019,防止重复运行);
- 内置一段 XOR 加密的第四阶段 DLL(密钥为多字节,如
EB0F);
- 实现 自定义反射加载器(Reflective Loader),直接在内存中解析并调用第四阶段 DLL 的
Main 函数,不写入磁盘,规避 EDR 文件监控;
- 第四阶段 DLL 中包含 80 组硬编码的 C2 配置,每组以 Base64 编码存储,并关联一个线程 ID(1~80)。
关键代码结构如下:
if (lpThreadParameter == (LPVOID)1)
BeaconRunner("jYaKi5SRzYaQoq8=", 443, 1);
if (lpThreadParameter == (LPVOID)2)
BeaconRunner("3tbXzeHN4eDizd7X5K8=", 6180, 2);
// ... 共 80 个分支
每个 BeaconRunner 调用对应一个 C2 地址与端口组合。
四、第四阶段:C2 解密、代理隧道与持久化
第四阶段 DLL 是“银狐”远控的核心模块,主要功能包括:
-
解密 C2 配置:
采用 ((byte - 102) & 0xFF) ^ 0x49 算法对 Base64 字符串进行解密,还原出真实域名或 IP;
-
建立网络代理:
修改系统代理设置,将用户流量透明转发至外网 C2 节点,实现隐蔽通信;
-
持久化驻留:
创建 Windows 服务(如 NetHelperSvc)或注册表 Run 项,确保开机自启;
-
等待指令执行:
连接任一生效的 C2 地址,接收远程命令(如文件窃取、屏幕监控、横向移动等)。
五、威胁指标(IOCs)
🌐 C2 域名(9 个)
nimlgb.icu
b.aeiessle.top
klaszaq.top
dashz.a5.com
dashz.a6.com
huairenshangde.xyz
fsbbb250804.com
llbbb250804.com
smignsangdsgjbn.shop
📍 C2 IP 地址(71 个)
8.210.85.204 8.210.196.121 8.218.85.204 8.218.196.121
23.224.194.33 27.50.63.10 27.124.2.161 27.124.2.198
27.124.3.74 27.124.43.45 27.124.45.134 38.45.127.82
38.46.12.250 38.46.15.2 38.46.15.234 38.91.112.98
38.91.113.10 38.91.114.26 38.91.118.98 38.181.23.70
43.248.172.149 45.194.36.11 45.195.148.42 45.197.63.138
47.76.145.46 47.76.206.40 47.76.226.133 47.239.160.115
52.184.66.236 103.71.152.14 103.99.61.46 103.101.177.98
103.101.177.106 103.101.177.178 103.142.147.155 103.193.174.48
103.207.164.50 118.107.46.23 118.107.47.132 120.89.71.130
127.0.0.1 134.122.196.9 137.220.137.139 137.220.152.195
137.220.205.130 154.212.146.57 154.23.127.35 154.23.178.23
154.23.178.82 154.82.85.34 154.82.92.13 154.91.65.112
154.91.83.28 156.234.0.28 156.247.35.2 156.247.38.11
156.247.41.56 192.2.183.40 198.2.235.187 198.176.60.31
202.95.8.55 206.119.80.53 206.119.82.12 206.238.114.13
206.238.115.106 206.238.198.49 206.238.220.50 206.238.220.85
206.238.221.97 206.238.76.142 206.238.77.181
注:部分 IP(如 127.0.0.1)可能用于本地测试或 fallback,但仍需警惕。
六、总结与建议
本次“银狐”变种展现了以下高级对抗特征:
- 投递阶段:利用 MSI 安装包的合法机制隐藏恶意 Custom Action;
- 执行阶段:基于安全软件环境动态选择 payload,实现“千人千面”;
- 加载阶段:多层解密 + 反射加载,全程无文件落地;
- 通信阶段:80 个 C2 备用地址,大幅提升存活率。
防御建议:
- 升级终端防护:确保及时更新杀毒软件病毒码版本;
- 监控 MSI 行为:重点审计
CustomAction 中含 NoImpersonate + Async 的异常调用;
- 网络层拦截:对上述 IOC 域名/IP 实施防火墙或 DNS 过滤;
- 启用 EDR 内存监控:检测反射加载、敏感 API 调用(如
CreateMutexA、VirtualAlloc)。
附:与前代“银狐”的演进对比
| 特性 |
早期版本 |
本次分析版本 |
| 投递方式 |
NSIS 打包、简单白加黑 |
MSI Custom Action + 动态拼接 |
| 抗分析能力 |
基础加壳 |
环境感知、条件式释放 |
| 加载方式 |
直接执行 EXE/DLL |
内存反射加载(无文件) |
| C2 配置 |
少量硬编码 IP |
80 组 Base64 加密 C2(域名+IP) |
| 持久化 |
注册表 Run |
服务 + 代理隧道 + 互斥体 |
“银狐”正持续进化,唯有结合 行为分析 + 内存监控 + 威胁情报,方能有效应对。