旧坑新伤 —— 授权恶意合约被盗分析

By: Zero & Lisa


背景


近期,慢雾安全团队接触到几起由于授权引起的盗币事件,这些事件是最简单的 Approve 授权导致的盗币,而关键点在于受害者是在很久之前无意中点击了 Approve 授权。好在区块链的特性 —— 雁过留痕,在大量链上数据中总能发现蛛丝马迹。

被盗案例分析


根据受害者提供的信息,被盗交易如下:


旧坑新伤 —— 授权恶意合约被盗分析

(https://bscscan.com/tx/0x59aef62a8cee79996ff2b44b723c97fbc0c6e2a0992c61dea0e65fcb2d78f608)


粗略一看,只能看出受害者地址 0x8CCb 被黑客地址 0xFf6F 盗走了 13,811 USDT。


这笔交易既不是链下 permit/permit2 签名方式,也不存在其他合约漏洞任意授权方式,更不是 create2 方式。


在我们排除了这些常见的手法后,发现这笔交易竟是最简单的 Approve 授权导致的盗币,而且是很久之前埋下的导火索。


通过分析之前的链上交易记录,发现被盗的关键点在于受害者曾在两年多前授权过一个合约地址 (0x3880285800a89AB3C4338bf455acdA3da6f8fA24),授权记录如下:


旧坑新伤 —— 授权恶意合约被盗分析

(https://bscscan.com/tx/0x018479875137e5eafcc183c5574cf9197ee14c7921b5f6796b385bb15e8bf96d)


授权交易及被盗转移交易的时间表列在下面,中间时间间隔长达 767 天:


  • 2021 年 11 月 9 日,08:13:28 – 恶意授权给恶意合约地址交易;

  • 2023 年 12 月 16 日,07:26:53 – USDT-BEP20 被非授权转移交易。


授权给恶意合约地址后,资金是如何被盗走的呢?我们来进一步看看细节。


旧坑新伤 —— 授权恶意合约被盗分析

(https://dashboard.tenderly.co/tx/bnb/0x59aef62a8cee79996ff2b44b723c97fbc0c6e2a0992c61dea0e65fcb2d78f608)


在这笔交易中,发生了以下步骤:


  • 通过调用 0xcc4187 合约地址的 0xe473d7ed 方法,检查被盗地址的余额及对授权给恶意合约的 Allowance;

  • 调用恶意合约(图中的 TransparentUpgradeableProxy)的 Proxy 合约 0xd367b5 的 0xe5ee9334 方法:

    • 验证 0xcc4187 合约地址的 Role 角色权限;

    • 恶意合约作为 msg sender 调用 USDT-BEP20 的 transferFrom 函数,从而实现将授权给恶意合约的 Token 资产转移到黑客获利地址 0xFf6F。


MistTrack 分析


据 MistTrack 分析,黑客地址 (0xFf6FC7eafF07C93b555a1CA2A9efcBbca2b8c83D) 目前已获利约 20 万美元,包括多种代币。


旧坑新伤 —— 授权恶意合约被盗分析


黑客初始资金来自 Tornado Cash 转入的 0.098 BNB,且使用过 Venus, PancakeSwap, DinosaurEggs, WombatExchange:


旧坑新伤 —— 授权恶意合约被盗分析


接着,我们对恶意合约地址 (0x3880285800a89AB3C4338bf455acdA3da6f8fA24) 进行分析:


旧坑新伤 —— 授权恶意合约被盗分析


我们发现这个恶意合约在 MistTrack 里被标记为 King,也就是说这个合约地址是原来项目 King 的合约地址,该合约地址与 Kingfund Finance 也存在交互,King 和 Kingfund Finance 应该是同一个项目:


旧坑新伤 —— 授权恶意合约被盗分析


再看下恶意合约地址的创建者地址 (0x37a7cA97b33b6a9D1d80D33bff9E38f156FF8541) 被标记为 Kingfund Finance: Deployer。


旧坑新伤 —— 授权恶意合约被盗分析


我们在搜索这个项目信息的时候,发现这居然是个 RugPull 项目。在 2022 年 1 月 19 日,Kingfund Finance 卷款带走超 300 WBNB(约 141,000 美元),关闭了其官网和官方推特。也就是说,目前还没对这个恶意合约取消授权的用户仍在被盗,慢雾安全团队建议用户及时取消对恶意合约的授权。


Dune 数据分析


旧坑新伤 —— 授权恶意合约被盗分析

(https://dune.com/misttrack/rugpull-malicious-authorization)


根据上述总结出的特征及借助 Dune 分析,我们还发现了另一个用户在 2022 年 1 月授权了上述提到的恶意合约地址 (0x3880285800a89AB3C4338bf455acdA3da6f8fA24),随后在 5 月份又授权了另一个 RugPull 恶意合约地址 (0x3a40AeC5453dB9b49ACb2993F0F82FB1553f4C23)。


旧坑新伤 —— 授权恶意合约被盗分析


旧坑新伤 —— 授权恶意合约被盗分析


该恶意合约的创建者 (0x406119D496a3b0D1F0B7DA020B5e89d6FFf4Ff08) 已将大部分获利资金转移到 Tornado Cash。


旧坑新伤 —— 授权恶意合约被盗分析


目前相关地址已被 MistTrack 拉黑。


总结


本文主要介绍了一个由于早年授权给 RugPull 项目导致后续资金持续被盗的案例,并根据相关特征扩展出 Dune 数据集。钓鱼无孔不入,一不小心就中招,慢雾安全团队建议用户经常主动查看自己的授权情况,可以使用 RevokeCash、ScamSniffer、Rabby 等工具查询,若发现有异常授权,请及时取消。


往期回顾

Ledger Connect Kit 被黑之谜

慢雾:警惕因使用 Replit 平台注册钱包造成的助记词泄漏

慢雾:流行 DeFi 项目基础安全风险分析

适得其反 —— 任意地址欺骗攻击解析

慢雾:朝鲜黑客 Telegram 定点欺诈攻击分析

旧坑新伤 —— 授权恶意合约被盗分析

慢雾导航


慢雾科技官网

https://www.slowmist.com/


慢雾区官网

https://slowmist.io/


慢雾 GitHub

https://github.com/slowmist


Telegram

https://t.me/slowmistteam


Twitter

https://twitter.com/@slowmist_team


Medium

https://medium.com/@slowmist


知识星球

https://t.zsxq.com/Q3zNvvF

原文始发于微信公众号(慢雾科技):旧坑新伤 —— 授权恶意合约被盗分析

版权声明:admin 发表于 2023年12月29日 下午4:55。
转载请注明:旧坑新伤 —— 授权恶意合约被盗分析 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...