慢雾: Venus 大户 1300 万美元被黑深度分析
声明:本文为转载内容,读者可通过原文链接获得更多信息。如作者对转载形式有任何异议,请联系我们,我们将按照作者要求进行修改。转载仅用于信息分享,不构成任何投资建议,不代表吴说观点与立场。
背景
2025年9月2日,社区用户@KuanSun1990遭遇攻击,其在Venus协议上的多个头寸被转移,损失约1300万美元。慢雾(SlowMist)自主研发的Web3威胁情报与动态安全监控工具MistEye成功捕获该异常,并协助用户进行分析。以下为具体分析详情。
(https://x.com/SlowMist_Team/status/1962854755585429877)
根本原因
受害用户误入攻击者伪造的Zoom在线会议链接,并在该虚假网站的引导下在电脑上运行了恶意代码,导致设备被控制。由于相关记录已被删除,分析工作面临较大挑战。根据受害者的回忆,他当时使用的是某知名官方扩展钱包,并怀疑攻击者篡改了其电脑上的扩展钱包代码。结果,用户原本通过硬件钱包发起的Venus资产赎回操作被篡改为Venus头寸委托操作,最终导致其在Venus上的头寸被攻击者接管。
详细分析
攻击者利用社会工程学手段,以商务合作为幌子,诱导目标用户参加Zoom在线会议,并通过Telegram发送会议链接(由于相关聊天记录已被删除,无法完整复原整个过程)。受害者点击该链接并加入会议。
受害者当时因与其他会议时间冲突,匆忙进入会议,未仔细检查浏览器域名是否为Zoom官方域名。同时,伪装成商务洽谈方的攻击者在会议中持续催促,使受害者在紧迫情境下未能辨别网站上的升级提醒是否存在恶意行为。
最终,受害者的电脑被攻击者控制。关于电脑被攻陷的具体方式,可参考Web3钓鱼演练平台Unphishable(https://unphishable.io/)#NO.0x0036关卡中提供的完整练习挑战。
攻击者在获得受害者电脑控制权限后,通过某种方式修改了受害者电脑中浏览器扩展的钱包代码,从而能够劫持并替换受害者的交易原始数据。由于受害者使用的硬件钱包缺乏完善的“所见即所签”(whatyouseeiswhatyousign)验证机制,最终导致受害者签署了已被篡改的交易。
那么攻击者是如何修改浏览器扩展钱包的代码呢?
我们知道Chrome有一套安全机制,如果是从Chrome商城上下载的扩展,只要代码被修改,浏览器就会提示扩展已损坏且无法使用;此外,这种完整性检查无法被关闭。
因此,我们一度怀疑攻击者可能不是修改某知名官方浏览器扩展钱包的代码,而是采用了其他的攻击方式。由于受害者电脑中许多攻击痕迹已被清理,真相难以完全还原。然而,通过深入研究并与威胁情报网络的合作伙伴沟通,我们确认攻击者用于篡改交易的浏览器扩展ID与官方扩展ID一致。
于是,我们开始研究如何实现浏览器扩展ID与官方保持一致,同时允许代码被修改:
在浏览器扩展页面开启开发者模式的情况下,可以将官方原版扩展文件额外复制一份,然后导入浏览器,即可得到一个既可修改代码又与官方扩展ID一致的新扩展。这是因为Chrome根据manifest.json文件的key来生成扩展ID。只要确保扩展中的manifest.json文件的key与官方相同(相同的key是让扩展拥有相同ID的关键),就可以在该新扩展中(ID与官方一致)任意修改代码而不会触发完整性检查。
通过PatchChrome关于浏览器扩展内容验证的函数,可以全局关闭扩展的内容完整性检查。当然,在macOS上,这部分操作需要重新签名才能确保程序可用。
以上是我们研究出的两种可能攻击方式。目前没有更多明确信息来佐证,因此上述方法仅代表慢雾安全团队内部的研究和推测,并不意味着攻击者实际使用了该手法。
在攻击正式开始前,攻击者于9月1日使用自有资金筹集了约21.18个BTCB与205,000个XRP,为接管受害用户在Venus的头寸做好准备。
经过约10小时的等待,攻击者终于等到了受害用户操作其钱包的机会。此时,受害用户使用硬件钱包连接了其在Chrome浏览器上安装的扩展钱包,并访问了正确的Venus官网。
随后,受害用户准备赎回其在Venus上的USDT代币。此时,受害用户调用的是正确的redeemUnderlying函数。但由于扩展钱包已被篡改,发送到硬件钱包进行签名的操作被替换为updateDelegate操作。受害者的硬件钱包并不支持详细的签名数据解析,并且开启了盲签功能,这导致受害用户在毫无防备的情况下对updateDelegate操作进行了签名,并通过扩展钱包提交了交易。最终,其Venus头寸被委托给攻击者进行管理。
(https://bscscan.com/tx/0x75eee705a234bf047050140197aeb9616418435688cfed4d072be75fcb9be0e2)
受害用户完成委托后,攻击者立即发起攻击,通过Lista闪电贷借入约285个BTCB,并动用其自有的21.18个BTCB与205,000个XRP。随后,攻击者为受害用户在Venus上归还了约306.89个BTCB与152,673.96个XRP的贷款。
在为受害用户完成还款后,攻击者立即将受害用户在Venus的抵押品(USDT/USDC/WBETH/FDUSD/ETH)赎回至其控制的地址中。
此时,攻击者已完成对受害用户在Venus上头寸的转移,接下来只需归还从Lista闪电贷借入的约285个BTCB,即可实现获利。由于攻击者持有的抵押品(USDT/USDC/WBETH/FDUSD/ETH)直接在DEX中兑换为BTCB并不划算,可能造成较大滑点,因此攻击者选择将这些抵押品重新存入Venus并借出BTCB来归还闪电贷。
在完成闪电贷归还后,攻击者成功接管了受害用户的Venus头寸,这本是一场手法精妙的钓鱼攻击案例。然而,在攻击者持有Venus头寸且尚未进一步操作时,Venus团队反应迅速,立即暂停了协议,并在稍后暂停了所有市场的EXIT_MARKET操作。
(https://bscscan.com/tx/0xe4a66f370ef2bc098d5f6bf2a532179eea400e00e4be8ea5654fa9e8aeee65bf#eventlog)
这一措施阻断了攻击者进一步操作其头寸以获取利润。随后,Venus团队发起了紧急提案投票,以在确保协议安全恢复的同时,尽力追回用户被盗资金。
(https://snapshot.box/#/s:venus-xvs.eth/proposal/0x140da3dcb6dc711429700443d3b9f1def51eaae3b791f8b774664676f418a132)
最终,Venus团队通过强制清算攻击者的头寸,为受害用户追回了被盗资金。
(https://bscscan.com/tx/0xee9928b8d1a212f4d7b7e9dca97598394005a7b8fef56856e52351bc7921be43)
此外,据链上反洗钱追踪工具MistTrack分析,与攻击者相关的地址曾从ChangeNOW提币:
其他相关地址曾与多个兑换平台(如1inch)、跨链平台(如AcrossProtocol)以及受制裁交易所(如eXch)存在交互:
总结
此次事件是一场精心策划的网络钓鱼攻击。攻击者通过恶意Zoom客户端控制用户设备,并利用Chrome开发者模式的特性篡改钱包扩展,巧妙地将用户的资产赎回操作替换为头寸委托操作,手法极其精密。幸运的是,Venus团队展现了出色的应急响应能力,通过多方协作与快速响应,最终帮助用户化险为夷,避免了可能造成的巨大损失。