钱包盗取工具内幕与EIP-7702漏洞利用

本文深入探讨了钱包盗取工具(Wallet Drainers)的演变及其利用EIP-7702进行大规模攻击的方式。文章分析了钱包盗取工具的原理、模拟交易的局限性以及EIP-7702引入的新型钓鱼风险,并提供了一系列防御措施,同时还分析了一个名为“Inferno Drainer Reloaded”的真实案例,揭示了攻击者如何利用自动化和AI技术来扩展其钓鱼活动。

AI 钓鱼系列:第二部分 - 剖析 Wallet Drainer 和 EIP-7702 漏洞利用

在我们 AI 钓鱼系列的第二部分中,我们将探讨 wallet drainer 如何随着 EIP-7702 的发展,在 Web3 中大规模地自动化、规避和窃取资产。

AI 钓鱼系列:第二部分 - 剖析 Wallet Drainer 和 EIP-7702 漏洞利用

2025-06-06 - 14 分钟阅读

作者:Simeon Cholakov & Niccolo Pozzolini

OpsecWeb3 安全

threesigma's twitterthreesigma's linkedinthreesigma's github

服务
支持
信息

Wallet Drainer 的剖析

Wallet drainer 是加密货币诈骗武器库中最具破坏性的工具之一。它们结合了社会工程学、前端欺骗和自动化脚本,直接从受害者的钱包中吸走资产。其核心思想很简单:说服用户授权一个表面上看起来安全的交易,但实际上,授予了攻击者完全的控制权。

Drainer 经常冒充合法的 dApp,使用通过被劫持的账户、Discord 机器人和赞助广告传播的虚假网站。一旦受害者访问该网站,他们就会被鼓励去铸造 NFT、领取代币或验证钱包。这些操作会触发恶意的 approve() 调用,授权攻击者通过 transferFrom() 转移资产。

这些攻击通常会呈现带有误导性 UI 标签、膨胀的 calldata 有效负载以及合约自毁的交易提示,以逃避静态检测和交易模拟。此外,一些 drainer 专门针对人为因素,通过紧迫性、虚假支持渠道,甚至是通过赞助搜索结果传播的克隆站点来欺骗用户。

即使是经验丰富的用户也未能幸免,包括创始人和钱包开发者。仅在 2024 年,就有超过 330,000 个钱包受到影响,造成的损失总计约 4.94 亿美元,wallet drainer 仍然是一个关键的威胁媒介,需要技术和行为方面的对策。

模拟假设和 Drainer 规避

交易模拟的一个关键问题是,钱包基于区块链的当前状态模拟交易,而区块链的状态在执行之前可能会发生变化。智能合约、DEX 余额或代理逻辑可能会在模拟和执行之间发生变化。Drainer 利用这种检查时间/使用时间(TOCTOU)的差距来欺骗用户。这在涉及基于 delegate-call 的代理的交易中尤其危险,因为逻辑可以在模拟后动态地重新连接。

合约可能会检测到它何时在模拟中运行并表现安全(“红丸”行为),但在签名后恢复为恶意逻辑。

可编程 EOA:新的钓鱼前沿

image

随着 EIP-7702 的激活,EOA(外部所有账户)现在可以将执行权委托给智能合约,从而有效地模糊了 EOA 和合约账户之间的界限。虽然这带来了强大的功能,如原子交易和可编程钱包,但它也创造了一种新的钓鱼风险:基于委托的 wallet drainer。

攻击者现在不诱骗用户签署传统的 approve() 调用,而是诱骗受害者将执行权委托给恶意合约,通常将此行为伪装成“钱包升级”、“安全增强”或“AI 助手授权”。这些委托的合约可以实现转移代币的逻辑、利用易受攻击合约中的重入漏洞,或批量处理恶意交易,所有这些都无需额外的用户输入。

攻击面更广:设置了委托的 EOA 的行为类似于合约,调用该地址可能会触发任意逻辑。用户可能会在不知情的情况下签署一项委托,该委托将所有未来的调用路由到恶意逻辑,这种行为可能无法被当前的模拟工具准确预览,特别是如果委托的合约使用代理模式、条件逻辑或混淆代码来掩盖意图。

更复杂的是,钓鱼工具包现在将 EIP-7702 委托负载捆绑到 SET_CODE (0x04) 交易模板中。只需几行 JavaScript 代码,攻击者就可以生成和模拟委托签名的负载,在钱包 UI 中自动填充它们,并诱骗用户设置持久的执行权限,而无需任何批准。

随着钱包和 dApp 竞相支持可编程 EOA,钓鱼基础设施也在并行发展,使得 EIP-7702 委托钓鱼成为 Pectra 后以太坊生态系统中需要监控的最关键威胁之一。

部署自动化

image

为了扩大运营规模,加密货币 drainer 团伙将其钓鱼基础设施的很大一部分自动化。虽然核心的 draining 逻辑驻留在嵌入在钓鱼网站中的恶意脚本中,但攻击者专注于自动化周围基础设施的创建和部署。

该基础设施包括注册大量域名,以及在 GitHub Pages、Webflow 甚至受损的合法网站等平台上托管令人信服的前端。诈骗者通常会回收样板合约代码,对其进行修改,而不是在链上进行创新。这些钓鱼页面模仿真实的 dApp 和钱包界面,诱骗用户签署针对其钱包中已有的合法代币的恶意批准。自动化确保每个实例都使用新的合约地址和域名,从而使检测和列入黑名单的工作变得复杂。

大型语言模型(LLM)越来越多地被用于改变前端文本、钓鱼指令或聊天机器人响应,而不是生成合约。通过随机化措辞和品牌,诈骗者降低了模式匹配工具的有效性。其结果是一个高吞吐量的欺诈流水线:数千个看起来相似的去中心化应用程序(dApp)和网站,每个都指向一个中央 draining 脚本,以最少的人工部署。

防御模式

由于任何单一技术的固有局限性,防御 wallet drainer 和钓鱼工具包涉及多种策略。

  • 避免原始消息签名: 最关键的建议是完全避免签署原始 eth_sign 消息,因为这些消息无法被清楚地解析或可靠地模拟,并且仍然非常容易被利用。
  • 客户端模拟(具有局限性): 像 Rabby 和 MetaMask WalletGuard 这样的钱包提供交易模拟功能,允许用户在批准之前在本地预览交易结果。例如,Rabby 模拟余额变化,高亮显示潜在的恶意代币批准或转移。但是,模拟可能会被攻击者通过检查时间/使用时间漏洞所规避。因此,用户不能仅仅依赖这些工具。
  • 结构化签名(EIP-712): 通过 EIP-712 采用结构化数据签名使钱包能够清楚地显示交易意图,详细说明特定的代币、数量和接收者。与原始签名不同,结构化签名通过提供可读的、经过验证的意图屏幕来减少用户的困惑。广泛使用EIP-712对于更安全的交易仍然至关重要。
  • 中继和节点级防御(选择性链): 一些基于以太坊的 MEV 中继服务、矿池或区块构建者自愿实施黑名单,拒绝与已知恶意合约交互的交易。这种防御措施在以太坊主网和某些 L2 网络(Arbitrum、Optimism)中已经显现出来,但仍然不太标准化,并且没有普遍应用于所有区块链。

总之,没有一种预防措施可以提供完全的安全。用户应谨慎使用结构化签名标准和交易模拟,完全避免原始签名,并对未经请求或紧急的交易提示保持怀疑。

真实案例:“Inferno Drainer Reloaded”(2025 年 3 月至 5 月)

2025 年初,调查人员跟踪了一个再次兴起的 Drainer-as-a-Service 操作,昵称为 Inferno Drainer Reloaded。尽管其运营商在 2023 年底公开“关闭”,但区块链遥测数据显示,其核心基础设施从未消失,而是不断发展,以重大升级重新出现,在短短六个月内从 30,000 多个钱包中吸走了超过 900 万美元。

攻击漏斗

image

为什么 Inferno Drainer 很重要

  • 技术升级增加了链上加密 C2 和自毁合约,击败了静态 IOC 黑名单。
  • 联盟经济对每笔盗窃收取 30% 的固定分成;新手只需将一行脚本粘贴到克隆的网页中即可开始盗窃。
  • 跨链覆盖默认模板处理以太坊、BSC、Polygon 和 Base;自动检测链 ID 并制作特定于链的 RPC 调用。

结论

从基本的钓鱼页面到具有可编程委托和红丸检测的复杂多链、模拟感知系统,Drainer 不断发展。随着 EIP-7702 重塑 EOA 的运作方式,钓鱼工具包也在并行适应。未来的防御必须结合结构化签名、模拟完整性、基于约束的交易建模和谨慎的用户行为。只有加强技术和人为层面,我们才能减少这些日益可扩展的攻击的影响。

常见问题解答 (FAQ)

什么是加密钱包 drainer?

Wallet drainer 是一种恶意脚本或钓鱼工具包,旨在直接从用户的加密钱包中窃取资产。它引诱用户签署欺骗性交易,从而授予攻击者访问其资金的权限,通常通过冒充真实 dApp 或钱包服务的虚假网站。

Wallet drainer 如何诱骗用户授予访问权限?

用户通常通过虚假的 Discord 机器人、受损的 Twitter 帐户或赞助广告被吸引到钓鱼网站。这些网站模仿合法的界面,并提示用户签署交易,从而授予对攻击者控制的合约的无限批准或委托执行权。

EIP-7702 在现代钓鱼攻击中扮演什么角色?

EIP-7702 引入了可编程 EOA,可以将执行权委托给合约。钓鱼者通过将恶意委托伪装成钱包升级或安全功能来利用这一点,从而使其能够在用户签署委托交易后执行任意逻辑。

交易模拟工具可以检测到 drainer 活动吗?

像 Rabby 或 MetaMask WalletGuard 这样的模拟工具可以帮助预览交易效果,但它们可以被绕过。Drainer 可能会利用检查时间/使用时间 (TOCTOU) 的差距或使用在签名后表现不同的混淆逻辑,从而降低模拟的有效性。

Drainer 如何大规模部署?

Drainer 运营商使用脚本工具自动执行基础设施,以启动数千个钓鱼域名并克隆前端。LLM 有时用于改变文本和品牌,从而避免检测。这些钓鱼网站都指向一个带有 draining 脚本的共享后端。

是什么让 Inferno Drainer 如此危险?

Inferno Drainer 是功能最丰富的钓鱼即服务工具包之一。它支持跨链目标定位、自动生成的钓鱼网站、混淆的 JavaScript 有效负载以及内置的洗钱路径。联盟会员只需要嵌入一行代码即可开始窃取资金。

approve() 诈骗和基于委托的诈骗有什么区别?

approve() 诈骗会诱骗用户授予合约无限访问权限以转移特定代币。基于委托的诈骗(通过 EIP-7002 或 EIP-7702)授予更广泛的执行权,允许攻击者从委托的合约运行任意代码,而无需额外的提示。

如何保护我的钱包免受 drainer 的侵害?

使用支持 EIP-712 结构化签名的钱包,避免签署原始 eth_sign 消息,仔细检查 URL,避免点击赞助搜索广告,并将大量资金保存在冷存储中。切勿批准未经请求的提示中的交易或委托。

为什么钓鱼网站通常看起来如此令人信服?

攻击者克隆真实的 dApp 界面并使用类似的域名(例如“uniswap-airdrop[.]xyz”)。借助 LLM 和自动化,他们可以生成定制的、本地化的和不断轮换的钓鱼页面,这些页面非常类似于合法平台。

被 drain 后是否可以找回资金?

不幸的是,一旦交易被签名并在链上执行,就不可逆转。某些平台可能会帮助跟踪资金或识别 drainer 的地址,但资产恢复非常罕见。预防仍然是最好的防御。

  • 原文链接: threesigma.xyz/blog/opse...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Three Sigma
Three Sigma
Three Sigma is a blockchain engineering and auditing firm focused on improving Web3 by working closely with projects in the space.