打印机公司提供感染恶意软件的软件下载长达半年
当YouTube频道Serial Hobbyism的博主Cameron Coward想要评测一台价值6000美元的UV打印机并插入带有打印机软件的USB闪存盘时,防病毒软件提醒他存在USB传播蠕虫和Floxif感染。Floxif是一种文件感染病毒,会附加到可移植可执行文件上,因此可以传播到网络共享、USB闪存盘或备份存储系统等可移动驱动器。
打印机公司Procolored最初向他保证这些都是误报。尽管如此,Cameron还是转向Reddit,希望能找到专业的恶意软件分析师来查明真相。
这就是我介入的时候。首先我检查了Procolored公共网站上的软件下载。有六种产品的下载,分别是F8、F13、F13 Pro、V6、V11 Pro和VF13 Pro。
所有这些软件下载都可以在mega.nz上找到,每个产品都有不同的mega文件夹链接。总共有8 GB的文件和存档,适用于所有六种产品。大多数文件最后更新于2024年10月,也就是撰写本文时的六个月前。
防病毒扫描显示39个文件有签名匹配,其中20个具有唯一哈希值。这20个文件只出现了两个检测名称:
- 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后门的回归
我选择了VF 11 Pro软件下载中的PrintExp.exe样本进行以下分析,SHA256为:531d08606455898408672d88513b8a1ac284fdf1fe011019770801b7b46d5434
其他具有检测名称Win32.Backdoor.XRedRAT.A的样本非常相似。
我们的内部沙盒系统证实了XRed后门的识别。这个后门在2024年2月由eSentire进行了深入分析,并且至少自2019年以来就存在。
PrintExp样本具有与eSentire文章中的恶意软件完全相同的下载URL:
这一点值得注意,因为当eSentire在2024年报告这些URL时,它们已经离线——而当恶意软件出现新变种时,URL通常是首先改变的元素之一。
另一个确认是在RCDATA/EXEVSNX资源中存在相同的XRed版本号:
与eSentire的样本一样,PrintExp.exe具有键盘记录功能,允许文件下载、屏幕截图,提供cmd.exe shell(如果请求),可以删除文件并列出目录或驱动器内容。
再次分析相同的恶意软件版本是徒劳的。与eSentire的XRed唯一的区别是我们的样本在运行恶意软件代码后会执行原始的PrintExp.exe。
原始的、干净的PrintExp.exe软件位于RCDATA/EXERESX资源中,偏移量为0x30a00。起初文件在资源中有偏移量似乎很奇怪。第二个文件,检测为MSIL.Trojan-Stealer.CoinStealer.H,存在于RCDATA/EXERESX资源中,偏移量为0x0。
SnipVex—不仅仅是剪贴板劫持者
MSIL.Trojan-Stealer.CoinStealer.H样本既有乏味之处,也有出乎意料的方面。
乏味是由于样本有效载荷的简单性:它是一个由八行代码组成的.NET剪贴板劫持者。它搜索剪贴板中类似BTC地址的内容,并将其替换为攻击者的地址,这样加密货币交易将被转移到攻击者。
出乎意料的部分?这个剪贴板劫持者是一个感染.exe文件的病毒。它还没有名字,我从此称它为SnipVex。
SnipVex有一个感染标记以避免重复感染:它期望在已感染文件的最后三个字节中看到0x0A 0x0B 0x0C。
SnipVex不感染位于%TEMP%或%APPDATA%目录中的文件,也不感染任何以点开头的文件。
它使用%TEMP%目录在组装新文件之前临时存储其单独部分。首先它复制自身主体并将宿主文件的图标提取到%TEMP%。然后它将图标从%TEMP%注入到新的病毒副本中。之后它将宿主文件附加到病毒主体,最后应用感染标记序列0x0A 0x0B 0x0C。
这意味着根据Peter Szor的病毒分类,这是一个简单的预置病毒。它没有加密,也不是多态的。
然后SnipVex将新构建的病毒感染文件移动到宿主文件的原始位置。
该病毒监视所有逻辑驱动器上具有“.exe”扩展名的文件的任何变化,以找到新的宿主文件。
现在可以理解为什么干净的PrintExp.exe文件出现在XRed资源中的特定偏移量之后,而不是使用单独的资源:XRed捆绑了已经感染并因此预置到PrintExp.exe的病毒。
这被称为重复感染——一个文件或系统被多次感染。它通常发生在没有防病毒软件的系统上。这也符合Cameron收到Floxif警告的情况。在基本安全方面被忽视的系统通常会成为多种自我复制恶意软件的主机。
病毒感染也解释了为什么Procolored下载部分总共有39个文件被感染。SnipVex很可能在开发人员的系统或构建服务器上复制了自己。
在此过程中,它为威胁行为者赚了一点钱。区块链浏览器显示,威胁行为者的BTC地址总共收到了9.30857859 BTC——相当于大约100,000.00美元或90,000.00欧元。
Procolored的回应
当Cameron首次向Procolored报告受感染的软件下载时,该公司的初步反应是否认。相反,他们提供了各种解释,说明防病毒程序可能将其软件误报为误报的原因。尽管如此,他们还是从网站上撤下了软件下载,我们在2025年5月8日左右注意到了这一点,并开始了内部调查。Procolored和Cameron之间的对话记录在Cameron的文章中。
软件下载下线后,我联系了Procolored,提供了关于恶意软件和受感染文件的详细信息,并请求就案件的几个问题发表官方声明:
这是怎么发生的? “我们网站上托管的软件最初是通过USB驱动器传输的。在这个过程中可能引入了病毒。此外,由于PrintEXP软件默认是中文的,一些国际操作系统可能会错误地标记或误解它为恶意软件,特别是如果系统不能很好地处理非英语程序。”
如何确保这不会再次发生? “作为预防措施,所有软件已暂时从Procolored官方网站移除。我们正在对每个文件进行全面的恶意软件扫描。只有通过严格的病毒和安全检查后,软件才会重新上传。这对我们来说是重中之重,我们非常重视。”
对可能受影响的客户的建议: “对于报告相关问题的用户,Procolored工程师已经提供了个别支持和解