本文主要通过一种较为常见的 NFT 钓鱼方式顺藤摸瓜,发现了 Monkey Drainer 组织的大规模 NFT 钓鱼站群,并提炼出 Monkey Drainer 组织的部分钓鱼特征。Web3 不断创新的同时,针对 Web3 钓鱼的方式也越来越多样,令人措手不及。
原文:《慢雾:“揭开” 数千万美金大盗团伙 Monkey Drainer 的神秘面纱》
作者:慢雾安全团队
事件背景
2023 年 2 月 8 日,慢雾科技(SlowMist)从合作伙伴 ScamSniffer 收到安全情报,一名受害者因一个存在已久的网络钓鱼地址损失超过 1,200,000 美元的 USDC。
- 黑客地址:0x69420e2b4ef22d935a4e2c194bbf3a2f02f27be1;
- 获利地址:0x9cdce76c8d7962741b9f42bcea47b723c593efff。
(https://twitter.com/realScamSniffer/status/1623148125623029760)
2022 年 12 月 24 日,慢雾科技首次全球披露 “朝鲜 APT 大规模 NFT 钓鱼分析” ,而本次钓鱼事件与我们追踪的另一个 NFT 钓鱼团伙 Monkey Drainer 关联。由于一些保密要求,本篇文章仅针对该团伙的部分钓鱼素材及钓鱼钱包地址进行分析。
钓鱼网站分析
经过分析,我们发现主要的钓鱼方式是通过虚假大 V 推特账号、Discord 群等发布虚假 NFT 相关的带有恶意 Mint 的诱饵网站,这些 NFT 在 OpenSea、X2Y2 和 Rarible 等平台上均有出售。此次 Monkey Drainer 组织针对 Crypto 和 NFT 用户进行钓鱼涉及 2000 多个域名。
通过查询这些域名的注册相关信息,发现注册日期最早可追溯到 4 个月前:
最初 Monkey Drainer 组织是通过虚假推特账号进行推广钓鱼:
同时开始出现第一个 NFT 方向的钓鱼:mechaapesnft[.]art:
我们来看下两个具体的关联特征:
然后通过特征组合关联追踪:
经过整理,我们追踪到从 2022 年到现在有 2000 多个同特征的 NFT 钓鱼等网址。
我们使用 ZoomEye 来进行全球搜索,统计看看黑客有多少钓鱼站点同时运行与部署:
其中,最新的站点有伪装成 Arbitrum 空投的:
与朝鲜黑客组织不同,Monkey Drainer 钓鱼组织没有每个站点采用专门网站去统计受害者访问记录这种功能,而是使用简单粗暴的方式,直接钓鱼,批量部署,所以我们猜测 Monkey Drainer 钓鱼组织是使用钓鱼模版批量化自动部署。
我们继续追踪供应链,发现 Monkey Drainer NFT 钓鱼组织使用的供应链是现有灰色产业链提供的模版,如 广告售卖说明:
钓鱼供应链支持功能:
从介绍来看,价格优惠、功能完善。由于篇幅有限,此处不再贅述。
钓鱼手法分析
结合之前慢雾发布的 “NFT 零元购钓鱼”,我们对此钓鱼事件的核心代码进行了分析。
分析发现,核心代码都使用混淆、诱导受害者进行 Seaport、Permit 等签名,同时使用 Permit usdc 的离线授权签名机制等等,升级了原来的钓鱼机制。
随机找一个站点进行测试,显示为 “SecurityUpdate” 骗签钓鱼:
再通过可视化数据查看:
顺便提一句,Rabby 插件钱包的数据解析可视化、可读化做的很好。更多分析不再赘述。
链上鸟瞰
根据分析上述 2000 多个钓鱼网址及关联慢雾 AML 恶意地址库,我们共计分析到 1708 个与 Monkey Drainer NFT 钓鱼团伙有关的恶意地址,其中 87 个地址为初始钓鱼地址。相关恶意地址都已经录入 MistTrack 平台(https://misttrack.io/)及慢雾 AML 恶意地址库(https://aml.slowmist.com/maliciousWallet.html)。
以关联到的 1708 个恶意地址为链上分析数据集,我们能够得到该钓鱼团伙以下结论:
- 示例钓鱼交易:https://etherscan.io/tx/0x3f2ac9758a6c91b08406082b65be6f2758a9b37c7626b11f24ce214181cbcd99
https://etherscan.io/tx/0x18bed0d26634f7856ce75b0d25dd9652d94f705fcdcbf6b7b1e24787e127aee0
https://etherscan.io/tx/0xc22800042e660c2ac360896fc5de06ed48aa723185c7733099b76d82de37b29c
- 时间范围:链上地址集最早的活跃时间为 2022 年 8 月 19 日,近期仍在活跃中。
- 获利规模:通过钓鱼的方式共计获利约 1297.2 万美元。其中钓鱼 NFT 数量 7,059 个,获利 4,695.91 ETH,约合 761 万美元,占所获资金比例 58.66%;ERC20 Token 获利约 536.2 万美元,占所获资金比例 41.34%,其中主要获利 ERC20 Token 类型为 USDC, USDT, LINK, ENS, stETH。(注:ETH 价格均取 2023/02/09 价格,数据源 CryptoCompare。)
获利 ERC20 Token 详情如下面表格:
(钓鱼团伙地址获利 ERC20 Token 详情表)
追踪溯源分析
慢雾 MistTrack 团队对恶意地址集进行链上追踪溯源分析,资金转移流向如下图:
根据资金流向 Sanky 图,我们追踪到获利资金中共计有 3876.06 ETH 转移到实体地址,其中 2452.3 ETH 被存款到 Tornado Cash,剩余资金则转移到一些交易所。
87 个初始钓鱼地址的手续费来源情况如下图:
根据手续费来源直方图,2 个地址的手续费来自 Tornado Cash,79 个地址来自个人地址转账,剩余 6 个地址未接受过资金。
典型示例追踪
2 月 8 日,损失超过 1,200,000 美元的黑客地址:
0x69420e2b4ef22d935a4e2c194bbf3a2f02f27be1 通过钓鱼获取受害者地址的权限,将 1,244,107.0493 USDC 转入
0x9cdce76c8d7962741b9f42bcea47b723c593efff ,后 USDC 通过 MetaMask Swap 兑换成 ETH,部分 ETH 转移到 Tornado Cash,剩余资金转移到之前使用过的钓鱼地址。
团伙画像分析
最后感谢 ScamSniffer、NFTScan 提供的数据支持。
总结
本文主要通过一种较为常见的 NFT 钓鱼方式顺藤摸瓜,发现了 Monkey Drainer 组织的大规模 NFT 钓鱼站群,并提炼出 Monkey Drainer 组织的部分钓鱼特征。Web3 不断创新的同时,针对 Web3 钓鱼的方式也越来越多样,令人措手不及。
对用户来说,在进行链上操作前,提前了解目标地址的风险情况是十分必要的,例如在 MistTrack 中输入目标地址并查看风险评分及恶意标签,一定程度上可以避免陷入资金损失的境地。
对钱包项目方来说,首先是需要进行全面的安全审计,重点提升用户交互安全部分,加强所见即所签机制,减少用户被钓鱼风险,如:
钓鱼网站提醒:通过生态或者社区的力量汇聚各类钓鱼网站,并在用户与这些钓鱼网站交互的时候对风险进行醒目地提醒和告警。
签名的识别和提醒:识别并提醒 eth_sign、personal_sign、signTypedData 这类签名的请求,并重点提醒 eth_sign 盲签的风险。
所见即所签:钱包中可以对合约调用进行详尽解析机制,避免 Approve 钓鱼,让用户知道 DApp 交易构造时的详细内容。
预执行机制:通过交易预执行机制可以帮助用户了解到交易广播执行后的效果,有助于用户对交易执行进行预判。
尾号相同的诈骗提醒:在展示地址的时候醒目的提醒用户检查完整的目标地址,避免尾号相同的诈骗问题。设置白名单地址机制,用户可以将常用的地址加入到白名单中,避免类似尾号相同的攻击。
AML 合规提醒:在转账的时候通过 AML 机制提醒用户转账的目标地址是否会触发 AML 的规则。