撰文:Certik
2024 年 6 月开始,CertiK 安全团队监控到大量相似的 phishing/drainer transaction,仅 6 月份监控到的涉案金额就超过 5500 万美元,进入 8、9 月份后,相关钓鱼地址的活动更加频繁,钓鱼攻击有愈演愈烈的架势。整个 2024 年第三季度,钓鱼攻击已经成为造成最多经济损失的攻击手段,钓鱼攻击者在 65 次攻击行动中获取了超过 2.43 亿美元。根据 CertiK 安全团队分析,近期频繁爆发的钓鱼攻击极有可能与 Inferno Drainer 这一臭名昭著的钓鱼工具团队有关。该团队曾在 2023 年底高调宣布「退休」,但如今似乎再次活跃,并且卷土重来,制造了一系列大规模攻击。
基于这一背景,本文将分析 Inferno Drainer、Nova Drainer 等网络钓鱼攻击团伙的典型作案手法,并详细列举其行为特征。希望通过这些分析,能够帮助用户提高对网络钓鱼诈骗的识别和防范能力。
什么是 Scam-as-a-Service
许多人或许对 Software-as-a-Service(软件即服务,SaaS)这个概念并不陌生,在加密世界中,SaaS 还有另一种含义,钓鱼团队发明了一种新的恶意模式,称为 Scam-as-a-Service(诈骗即服务)。这一模式将诈骗工具和服务打包,以商品化的方式提供给其他犯罪分子,臭名昭著的 Inferno Drainer 正是这一领域的典型代表,在 2022 年 11 月至 2023 年 11 月他们第一次宣布关闭服务期间,其诈骗金额超过 8000 万美元。Inferno Drainer 通过向买家提供现成的钓鱼工具和基础设施,包括钓鱼网站前后端、智能合约以及社交媒体账户,帮助他们快速发起攻击,购买 SaaS 服务的钓鱼者保留大部分赃款,而 Inferno Drainer 收取 10%-20% 的佣金。这一模式大大降低了诈骗的技术门槛。这使得网络犯罪变得更加高效和规模化,导致钓鱼攻击在加密行业内的泛滥,尤其是那些缺乏安全意识的用户更容易成为攻击目标。
Scam-as-a-Service 是如何运作的?
在介绍 SaaS 之前,我们可以先了解一下典型的去中心化应用(DApp)的工作流程。如下图,一个典型的 DApp 通常由前端界面(如 Web 页面或移动应用)和区块链上的智能合约组成。用户通过区块链钱包连接到 DApp 的前端界面,前端页面生成相应的区块链交易,并将其发送至用户的钱包。用户随后使用区块链钱包对这笔交易进行签名批准,签名完成后,交易被发送至区块链网络,并调用相应的智能合约执行所需的功能。
那么,钓鱼攻击者是如何骗取用户资金的呢?答案在于他们通过设计恶意的前端界面和智能合约,巧妙地诱导用户执行不安全的操作。攻击者通常会引导用户点击恶意链接或按钮,从而欺骗他们批准一些隐藏的恶意交易,甚至在某些情况下,直接诱骗用户泄露自己的私钥。一旦用户签署了这些恶意交易或暴露了私钥,攻击者就能轻松地将用户的资产转移到自己的账户中。
以下是一些最常见的手段:
1. 伪造知名项目前端:攻击者通过精心模仿知名项目的官方网站,创建看似合法的前端界面,让用户误以为自己正在与可信任的项目进行交互,从而放松警惕,连接钱包并执行不安全操作。如图 1 中,钓鱼团伙将自己的页面伪造成 bagerDAO 的前端页面,用户一旦在页面上批准交易,其代币就会被授权给攻击者的地址。
2. 代币空投骗局:他们在推特、Discord、Telegram 等社交媒体上大肆宣传钓鱼网站,声称有「免费空投」、「早期预售」、「免费铸造 NFT」等极具吸引力的机会,从而引诱受害者点击链接。受害者在被吸引到钓鱼网站后,往往会不自觉地连接钱包并批准恶意交易。如图 2,攻击者向用户空投了名为「ZEPE」的代币,欺骗用户前往其钓鱼页面进行兑换,而用户一旦点击,其账户中的全部 ETH 都将被发送到骗子的地址。
3. 虚假黑客事件与奖励骗局:网络犯罪分子宣称某知名项目因遭遇黑客攻击或资产冻结,现正向用户发放补偿或奖励。他们通过这些虚假的紧急情况吸引用户前往钓鱼网站,诱骗他们连接钱包,最终窃取用户资金。
可以说,钓鱼诈骗并不是什么新鲜手段,在 2020 年之前就已经十分普遍,但 SaaS 模式很大程度上是近两年钓鱼诈骗愈演愈烈的最大推手。在 SaaS 出现之前,钓鱼攻击者们每次进行攻击,需要准备链上启动资金、创建前端网站和智能合约,虽然这些钓鱼网站大多粗制滥造,通过使用一套模板并进行简单的修改,就能重新创建新的诈骗项目,但网站的运维,页面设计还是需要一定的技术门槛。Inferno Drainer 等 SaaS 工具提供者,完全消除了钓鱼诈骗的技术门槛,为缺乏相应技术的买家提供了创建和托管钓鱼网站的服务,并从诈骗所得中抽取利润。
Inferno Drainer 与 SaaS 买家是如何分赃的?
2024 年 5 月 21 日,Inferno Drainer 在 etherscan 上公开了一条签名验证消息,宣告回归,并创建了新的 Discord 频道。
0x0000db5c8b030ae20308ac975898e09741e70000 正是 CertiK 近期集中监控到的具有异常行为的钓鱼地址之一。我们发现,该地址进行了大量具有相似模式的交易,经过对交易的分析和调查,我们认为,此类交易就是 Inferno Drainer 在检测到受害者上钩后进行资金转移和分赃的交易,我们以该地址进行的其中一个交易为例:
https://etherscan.io/tx/0x5cd1eeee1b091888e7b19bc25c99a44a08e80112fdc7a60a88b11ed592483a5f
攻击者通过 Permit2 转移受害者代币
1. Inferno Drainer 通过 CREATE2 创建一个合约。CREATE2 是以太坊虚拟机中的一条指令,用来创建智能合约,与传统的 CREATE 指令相比,CREATE2 指令允许根据智能合约字节码和固定的 salt 提前计算出合约的地址,Inferno Drainer 利用了 CREATE2 指令的性质,提前为钓鱼服务的买家预先计算出分赃合约的地址,等到受害者上钩后再将分赃合约创建出来,完成代币转移和分赃操作。
2. 调用创建的合约,将受害人的 DAI 批准给钓鱼地址(Inferno Drainer 服务的买家)和分赃地址。攻击者通过前文提到的各种钓鱼手段,引导受害者无意中签署了恶意的 Permit2 消息。Permit2 允许用户通过签名授权代币的转移,而不需要直接与钱包进行互动。于是,受害者误以为他们只是在参与常规交易或授权某些无害的操作,实际上却在不知不觉中将自己的 DAI 代币授权给了攻击者控制的地址。
3. 向两个分赃地址先后转入 3,654 和 7,005 DAI,向买家转入 50,255 DAI,完成分赃。
值得一提的是,目前有不少区块链钱包实现了反钓鱼或类似功能,但许多钱包的反钓鱼功能是通过域名或区块链地址黑名单的方式实现,Inferno Drainer 通过分赃前再创建合约的方式,一定程度上能够绕过这些反钓鱼功能,进一步降低受害者的戒备。因为在受害者批准恶意交易时,该合约甚至没有被创建出来,对该地址进行分析和调查也就无从谈起了。在这笔交易中,购买钓鱼服务的买家拿走了 82.5% 的赃款,而 Inferno Drainer 保留了 17.5%。
揭秘:创建一个钓鱼网站需要几步?
看完了 Inferno Drainer 如何分赃,我们再来看看在 SaaS 的帮助下,攻击者打造一个钓鱼网站到底有多么容易。
第一步,进入 Drainer 提供的 TG 频道后,只需一个简单的命令,一个免费域名和对应的 IP 地址就被创建了出来。
第二步,从机器人提供的上百种模板中,任选 1 个,随后进入安装流程,几分钟后,一个界面像模像样的钓鱼网站就被创造了出来。
第三步,寻找受害者。一旦有受害者进入了该网站,相信了页面上的欺诈信息,并连接钱包批准了恶意交易,受害者的资产就会被转移。而攻击者在 SaaS 的帮助下,打造一个这样的钓鱼网站,仅需要三步,花费的时间也仅需要几分钟。
总结和启示
作为加密货币世界中最具威胁的「Drainer」之一,Inferno Drainer 的回归无疑为行业用户带来了巨大的安全隐患,Inferno Drainer 凭借其强大的功能和隐蔽的攻击手段,以及极低的犯罪成本,成为网络犯罪分子实施钓鱼攻击和资金盗窃的首选工具之一。
用户在参与加密货币交易时,需要时刻保持警惕,牢记以下几点:
- 天下没有免费的午餐:不要相信任何「天上掉馅饼」的宣传,例如可疑的免费空投、补偿,仅信任官方网站或接受过专业审计服务的项目。
- 时刻检查网络链接:在任何网站连接钱包之前,仔细检查 URL,是否模仿了知名项目,并尽量使用 WHOIS 域名查询工具,查看其注册时间,注册时间过短的网站很可能是欺诈项目。
- 保护隐私信息:不要向任何可疑网站或 App 提交自己的助记词、私钥,在钱包要求签名任何消息或批准交易之前,仔细检查该交易是否是可能导致资金损失的 Permit 或 Approve 交易。
- 关注诈骗信息更新:关注 CertiK Alert 等定时发布预警信息的官方社交媒体账号,如果发现自己不慎向诈骗地址授权了代币,及时撤回授权或将剩余资产转移至其他安全地址。