当 YouTube 频道 Serial Hobbyism 的创作者 Cameron Coward 想要评测一台价值 6000 美元的 UV 打印机并插入附带打印机软件的 U 盘时,杀毒软件警告他该 U 盘携带了一个通过 USB 传播的蠕虫病毒和 Floxif 感染。Floxif 是一种文件感染器,会附着在可执行文件(Portable Executable)上,因此能够传播到网络共享、可移动驱动器(如 U 盘)或备份存储系统中。
打印机公司 Procolored 起初向他保证这只是误报。尽管如此,Cameron 还是转向 Reddit 寻求帮助,希望找到一位专业的恶意软件分析师来查明真相。
这时我介入调查。首先,我检查了 Procolored 官网公开提供的软件下载。网站上为六款产品提供了软件下载,分别是 F8、F13、F13 Pro、V6、V11 Pro 和 VF13 Pro。
-
• Win32.Backdoor.XRedRAT.A -
• MSIL.Trojan-Stealer.CoinStealer.H
MSIL.Trojan-Stealer.CoinStealer.H 表示一种基于 .NET 的窃密程序,它要么会窃取加密货币钱包信息,要么会将剪贴板中的地址替换为攻击者的钱包地址。
Win32.Backdoor.XRedRAT.A 是一种用 Delphi 编写的后门程序。其他杀毒软件给出的识别名,如 Worm:Win32/AutoRun!atmn,则表明其具有 USB 蠕虫的行为特征。
值得注意的是,在下载部分并未发现 Floxif。
与此同时,我与 Cameron Coward 建立了私下联系。他询问是否可以安全地为我提取 Floxif 文件。我们最终决定得失不成比例,因为我已经从 Procolored 官方下载区获取到了恶意软件文件。
背景说明:感染如 Floxif 这样的病毒属于最严重的感染类型之一,它会破坏系统文件,且无法彻底修复。虽然存在查杀工具,但它们无法将文件恢复到原始状态。此外,该病毒极易传播到其他可移动介质和系统中。
XRed 后门的回归
我从 VF11 Pro 软件包的下载中选择了名为 PrintExp.exe 的样本作为后续分析对象,其 SHA256 哈希值为:
531d08606455898408672d88513b8a1ac284fdf1fe011019770801b7b46d5434
其他被检测为 Win32.Backdoor.XRedRAT.A 的样本与其极为相似。
我们的内部沙箱系统确认了该程序属于 XRed 后门。该后门已被 eSentire 于 2024 年 2 月进行了深入分析,其存在至少可以追溯到 2019 年。
该 PrintExp 样本使用的下载链接与 eSentire 文章中的恶意程序完全一致:
另一个确认依据是,在 RCDATA/EXEVSNX 资源中可以看到相同的 XRed 版本号:
原始的、干净的 PrintExp.exe 程序位于资源段 RCDATA/EXERESX 中的偏移地址 0x30a00。起初,这个文件在资源中有一个偏移量显得有些奇怪。而在该资源段偏移地址 0x0 处,还存在第二个文件,该文件被检测为 MSIL.Trojan-Stealer.CoinStealer.H。
SnipVex——不仅仅是一个剪贴板劫持器
这个 MSIL.Trojan-Stealer.CoinStealer.H 样本既有平淡之处,也有出人意料的地方。
它的平淡之处在于其payload的简单性:它是一个仅由八行代码构成的 .NET 剪贴板劫持器。该程序会搜索剪贴板中的内容,如果发现类似于比特币地址的字符串,就会将其替换为攻击者的钱包地址,从而将加密货币交易转移至攻击者账户。
SnipVex 使用一个感染标记以避免重复感染:它会检查已感染文件的最后三个字节是否为 0x0A 0x0B 0x0C。
SnipVex 不会感染位于 %TEMP% 或 %APPDATA% 目录中的文件,也不会感染以点号开头的文件。
它使用 %TEMP% 目录临时存储新文件的各个部分,然后再进行组装。首先,它将自身代码复制并提取宿主文件的图标保存到 %TEMP%。然后,它将该图标从 %TEMP% 注入到新的病毒副本中。接着,它将宿主文件附加到病毒代码后面,最后添加感染标记序列 0x0A 0x0B 0x0C。
这意味着,根据 Peter Szor 的病毒分类法,SnipVex 属于一种简单的前置型病毒(prepending virus)。它没有加密,也不是多态的。
随后,SnipVex 会将新构建的感染文件移动回宿主文件的原始位置。
该病毒会监控所有逻辑驱动器上扩展名为“.exe”的文件变动,以寻找新的宿主文件。
这是一种“重复感染”(superinfection)的典型案例——即一个文件或系统多次被感染。这通常发生在没有安装杀毒软件的系统上。而 Cameron 曾对 Floxif 的警告也印证了这一点。那些在基本安全措施上被忽视的系统,往往会沦为多种可自我复制的恶意软件的宿主。
病毒感染也解释了为何 Procolored 下载页面上的 39 个文件中都被感染了。SnipVex 很可能是在某位开发者的电脑或构建服务器上自我复制的。
同时,攻击者也从中小赚了一笔。区块链浏览器 显示,该攻击者的比特币地址总共收到了 9.30857859 BTC——按当前汇率计算,约为 100,000 美元或 90,000 欧元。
Procolored 的回应
当 Cameron 首次将受感染的软件下载问题报告给 Procolored 时,该公司的最初回应是否认。他们提供了各种解释,试图说明为何杀毒软件可能会误报他们的软件为病毒。然而,我们注意到,在 2025 年 5 月 8 日左右,他们已悄然从网站上移除了软件下载,并展开了内部调查。Procolored 与 Cameron 的沟通记录已在 Cameron 的文章 中披露。
在软件下载被下线之后,我联系了 Procolored,提供了有关恶意软件和受感染文件的详细信息,并就以下几个问题请求了官方回应:
-
1. 这次事件是如何发生的?“我们网站上提供的软件最初是通过 U 盘传输的。在这一过程中可能引入了病毒。此外,由于 PrintEXP 软件默认语言为中文,一些国际操作系统可能无法正确识别,尤其是对非英文程序兼容性不佳时,可能会被误判为恶意。” -
2. 如何确保类似事件不再发生?“为防患于未然,我们已临时从官网下架所有软件,正在对每一个文件进行彻底的病毒扫描。只有在通过严格的病毒和安全检测后,软件才会重新上线。我们高度重视此事。” -
3. 给可能受影响用户的建议:“对于已报告相关问题的用户,Procolored 的工程师已提供了一对一的支持与解决方案。一旦全部软件经过审核并确认安全后,我们将通过官网和官方渠道通知用户更新下载。”
Procolored 还向我们提供了他们目前提供给用户的新软件包,我们已确认这些软件为干净版本。
给受影响用户的建议
我们建议用户检查打印机软件文件是否被添加到杀毒软件的排除列表中。由于软件来源于官方供应商,一些用户可能忽视了杀毒软件的警告,从而让恶意程序潜伏未被发现。
考虑到该恶意软件已有较长时间存在,如今的主流杀毒软件应该可以准确检测它,不太可能漏报。
最稳妥的做法仍是:若系统被文件型病毒感染,建议彻底格式化所有磁盘,并重装操作系统。
影响评估
后门感染通常是严重的安全事件。在本案中,我们已知该恶意软件的指挥控制(C2)服务器自 2024 年 2 月起便已下线。因此,XRed 不可能在此日期之后成功建立远程连接。
不过,随附的剪贴板劫持病毒 SnipVex 仍是一个严峻威胁。尽管比特币交易在 2024 年 3 月 3 日之后停止了,但文件感染本身已对系统造成损害。好消息是,这个病毒不复杂,可以通过从被感染文件中剪掉前 0x30a00 字节恢复原文件,但这仅适用于未发生“重复感染”的情况。
IoC
XRed IoCs
XRed backdoor: 531d08606455898408672d88513b8a1ac284fdf1fe011019770801b7b46d5434
SnipVex IoCs
SnipVex virus: 39df537aaefb0aa31019d053a61fabf93ba5f8f3934ad0d543cde6db1e8b35d1
SnipVex BTC wallet: 1BQZKqdp2CV3QV5nUEsqSg1ygegLmqRygj
SnipVex Run key: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunScdBcd
SnipVex Run key: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunClpBtcn
SnipVex file paths:
-
• Dibifu_9vshost32.exe -
• Dibifu_9IconExtractor.dll -
• Zgokr00.exe
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。
原文始发于微信公众号(白帽子左一):恶意软件分析 | 打印机公司提供被感染的软件下载安装包长达半年
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论