Solidity语言扩展包引发50万美元加密货币盗窃案的技术分析

本文详细分析了攻击者如何通过伪造Solidity语言扩展包进行供应链攻击,利用PowerShell脚本和ScreenConnect软件实施远程控制,最终窃取加密货币的技术细节和防御建议。

感染始末

2025年6月,俄罗斯一名区块链开发者遭遇网络攻击,损失约50万美元加密货币。受害者的操作系统仅安装数天,仅下载了必要且流行的应用程序。开发者虽然警惕网络安全风险,但未安装商业防病毒软件。

带有陷阱的语法高亮

在分析受感染系统的磁盘镜像时,我们发现了文件extension.js,路径为%userprofile%\.cursor\extensions\solidityai.solidity-1.0.9-universal\src\extension.js。该文件是Cursor AI IDE(基于Visual Studio Code的AI辅助开发环境)中Solidity Language扩展的组件,可从Open VSX注册表获取,发布于约两个月前,下载量达54,000次(可能被夸大)。

该扩展声称提供Solidity智能合约代码的语法高亮等功能,但分析发现所有版本均为伪造:未实现任何声称的功能,仅从web服务器angelic[.]su下载并执行恶意代码。扩展描述是从一个拥有61,000次下载的合法扩展页面复制而来。

扩展如何进入计算机

开发者搜索"solidity"时,恶意扩展在搜索结果中排名第四,而合法扩展仅排名第八。开发者选择了下载量较大的第一个扩展,不幸的是这是恶意扩展。

排名算法陷阱

Open VSX注册表按相关性对搜索结果排序,考虑扩展评分、发布时间/更新时间、总下载量和验证状态等因素。恶意扩展的最后更新日期为2025年6月15日,而合法扩展为2025年5月30日,因此恶意扩展的相关性超过原始扩展,使其在搜索结果中排名更高。

开发者未获得所需功能(无Solidity语法高亮),误认为是bug并继续工作,同时扩展悄悄在计算机上安装恶意软件。

从PowerShell脚本到远程控制

恶意插件激活后,从https://angelic[.]su/files/1.txt下载PowerShell脚本。脚本检查是否安装了ScreenConnect远程管理软件;如未安装,则从https://angelic[.]su/files/2.txt下载第二个PowerShell脚本,该脚本从https://lmfao[.]su/Bin/ScreenConnect.ClientSetup.msi?e=Access&y=Guest下载ScreenConnect安装程序并运行。此后,攻击者可通过新安装的软件控制受感染计算机,该软件配置为与C2服务器relay.lmfao[.]su通信。

数据窃取

攻击者使用ScreenConnect上传三个VBScript到受感染计算机:

  • a.vbs
  • b.vbs
  • m.vbs

每个脚本从文本共享服务paste.ee下载PowerShell脚本(URL经过混淆)。下载的PowerShell脚本然后从archive[.]org检索图像,从中提取已知的VMDetector加载器(此前在针对拉丁美洲实体的网络钓鱼活动中观察到)。加载器从paste.ee下载并运行最终有效负载。

分析确定以下有效负载被下载到受感染计算机:

  • Quasar开源后门(通过a.vbs和b.vbs)
  • 从浏览器、电子邮件客户端和加密货币钱包收集数据的窃取程序(通过m.vbs)。卡巴斯基产品将此恶意软件检测为HEUR:Trojan-PSW.MSIL.PureLogs.gen。

两个植入程序与C2服务器144.172.112[.]84通信(分析时解析为relay.lmfao[.]su)。通过这些工具,攻击者成功获取开发者钱包的密码并窃取加密货币。

新的恶意包

恶意插件于2025年7月2日从扩展商店下架。但攻击者继续其活动:下架一天后,他们发布了另一个名为"solidity"的恶意包,这次完全复制了原始合法扩展的名称。假扩展的功能未变:将恶意PowerShell脚本下载到受害者设备。但攻击者试图大幅夸大下载量,新扩展据称下载约200万次。

更新后的搜索结果中,合法和恶意扩展并列出现在搜索排名中,分别占据第七和第八位。开发者名称乍看相同,但合法包由juanblanco上传,恶意包由juanbIanco上传。Cursor AI使用的字体使小写字母l和大写字母I看起来相同。

因此,搜索结果显示了两个看似相同的扩展:合法扩展下载61,000次,恶意扩展下载200万次。用户选择安装哪个成为真正挑战。

类似网络攻击

我们发现攻击者还发布了其他恶意包。使用开源包监控工具发现恶意npm包"solsafe",使用URL https://staketree[.]net/1.txt下载ScreenConnect,也配置为使用relay.lmfao[.]su与攻击者通信。

2025年4月和5月,发布了三个恶意Visual Studio Code扩展:solaibot、among-eth和blankebesxstnion。感染方法与上述描述惊人相似,恶意脚本功能几乎相同。

所有列出的扩展在执行期间执行相同的恶意操作:

  • 下载名为1.txt和2.txt的PowerShell脚本
  • 使用带有混淆URL的VBScript从paste.ee下载有效负载
  • 从archive.org下载带有有效负载的图像

结论是这些感染方案正被广泛用于攻击区块链开发者。攻击者不会止步于Solidity扩展或我们发现的solsafe包。

经验教训

恶意包继续对加密行业构成重大威胁。许多项目依赖从包存储库下载的开源工具。不幸的是,这些存储库中的包通常是恶意软件感染的来源。因此,建议下载任何工具时极度谨慎。始终验证下载的包不是伪造的。如果安装后包未按广告宣传工作,应怀疑并检查下载的源代码。

许多情况下,通过假开源包安装的恶意软件是众所周知的,现代网络安全解决方案可以有效阻止。即使经验丰富的开发者也绝不能忽视安全解决方案,因为这些解决方案可以在安装恶意包时帮助防止攻击。

入侵指标

恶意JS文件哈希: 2c471e265409763024cdc33579c84d88d5aaf9aea1911266b875d3b7604a0eeb 404dd413f10ccfeea23bfb00b0e403532fa8651bfb456d84b6a16953355a800a 70309bf3d2aed946bba51fc3eedb2daa3e8044b60151f0b5c1550831fbc6df17 84d4a4c6d7e55e201b20327ca2068992180d9ec08a6827faa4ff3534b96c3d6f eb5b35057dedb235940b2c41da9e3ae0553969f1c89a16e3f66ba6f6005c6fa8 f4721f32b8d6eb856364327c21ea3c703f1787cfb4c043f87435a8876d903b2c

网络指标: https://angelic[.]su/files/1.txt https://angelic[.]su/files/2.txt https://staketree[.]net/1.txt https://staketree[.]net/2.txt https://relay.lmfao[.]su https://lmfao[.]su/Bin/ScreenConnect.ClientSetup.msi?e=Access&y=Guest 144.172.112[.]84

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计