打印机公司提供受感染软件下载达半年之久
当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文件夹链接。总共有8GB的文件和压缩包,涵盖所有六个产品。大多数文件最后更新于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工程师已经提供个别支持和解