freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Zenterest 攻击事件分析
零时科技 2024-08-22 10:16:12 33132

背景介绍

近期,我们监控到一起针对 Ethereum 的链上攻击事件,https://etherscan.io/tx/0xfe8bc757d87e97a5471378c90d390df47e1b29bb9fca918b94acd8ecfaadc598

被攻击的项目为 Mantra DAO 的 DeFi 项目 Zenterest

该项目是一个 Compound Fork 的项目,提供借贷等功能,不过该项目已经关闭。

1724292117_66c69c1567805102bc351.png!small?1724292117619


攻击及事件分析

首先,攻击者利用 Uniswap V3 通过 flash ,借入了 85.0085 WHITE

1724292144_66c69c30e7a59a00c6483.png!small?1724292145051

随后,攻击者将自己的2 000 MPH 转给了Zenterest,并 mint 了 751,165,762,743 / 1e18zenMPH ,即 MPH Token 的 underlying Token (价值 21200 MPH )。

1724292496_66c69d90df896b26512a7.png!small?1724292497028

在 Compound 中, mintTokenAmount 为 mintAmount 除以exchangeRate(为underlying Token的价值)

1724292507_66c69d9b426c5a11a06ff.png!small?1724292507277

exchageRate 的计算方式为

1724292522_66c69daab524f0002d135.png!small?1724292522733

其中, totalCash为 2,130,237,755,166,997,669,234 ,

totalBorrows为377,279,871,321,643,951,514,656 ,

totalReserves为336,296,661,332,642,353,710,274 ,

totalSupply为 1,527,610,653,739 。

故 exchangeRate 为 28,222,798,550.562313 。

1724292535_66c69db7178c65396e67a.png!small?1724292535238

所以, mintToken 为 751,165,762,743 。

1724292547_66c69dc36c941d7ef40da.png!small?1724292547483

1724292560_66c69dd03e36fc173bf40.png!small?1724292560373

接着,攻击者将从 Uniswap 中 flash 闪电贷获得的 85 WHITE Token 转给了 Zenterest。

1724292570_66c69ddab3672bf0daff3.png!small?1724292570866

这里,攻击者是为了操纵 zenWHITE 的 borrowRate ,否则导致 borrowRate 过高,导致攻击失败。

1724292579_66c69de33b6f74d4f1292.png!small?1724292579385

然后,攻击者利用 cToken 的 borrow 借出 zenWHITE 的所有余额。

1724292607_66c69dff42aeb6a2a2da0.png!small?1724292608482

漏洞点就出现在 ZenterestPriceFeed 价格预言机上,

1724292616_66c69e08abf314bf3f4fe.png!small?1724292617039

我们可以看到 ZenterestPriceFeed 的代码如下:

1724292625_66c69e1150afebfe0a51b.png!small?1724292625382

其价格是通过 updatePrice 和 updatePriceBatch 来更新的。

1724292636_66c69e1cc67fe24c74bf4.png!small?1724292636843

我们可以看到,此价格预言机中的价格已经570天没有更新,所有价格均已过期,我们找到最近一次更新 MPH Token 价格的交易如下:

1724292646_66c69e261a2f9247e5adb.png!small?1724292646382

最近的更新 MPH Token 价格的交易为:https://etherscan.io/tx/0x8938ec223516e0f09d904ee6187032f2038f3f768d754eb19b4f19450e7d185d

1724292663_66c69e37bebba85420e6c.png!small?1724292663914

其价格更新参数的数据结构为:

1724292672_66c69e409e33f984506f2.png!small?1724292672620

所以,通过 Zenterest Price Oracle 获取的 MPH Token 的价格为 0x35b52f953f951 =944,836,858,607,953 ,而当前实际的价格为 0.4677 USD 。

1724292686_66c69e4ebe96516f93bf7.png!small?1724292686924

同时,我们可以看到获取的 WHITE Token 的价格为 66,570,137,662,599,764 ,而当前实际的价格为 4200 USD 。

攻击者投入 23200 MPH ,借贷 89.91 WHITE ,根据 Zenterest Price Oracle 获取的价格计算,

1724292697_66c69e59676c37e8f9bb5.png!small?1724292697511

所以,攻击者可以借出 89.91 WHITE ,攻击者归还从 Uniswap 借到的 85 WHITE 和 0.0085 WHITE利息,最终获利 4.9 WHITE ,价值 21000 USD 。

总结

本次漏洞的成因是项目已经不再使用,但是 cToken 却没有暂停,且价格预言机的价格没有更新,导致标的资产价格失真,攻击者利用失真的价格来通过借贷进行获利,最终导致攻击者用极少的 MPH 掏空了项目方的 WHITE 代币。

# 黑客攻击 # 安全事件
本文为 零时科技 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
零时科技 LV.7
这家伙太懒了,还未填写个人描述!
  • 119 文章数
  • 16 关注者
【安全月报】| 3月因加密货币漏洞和诈骗造成损失达3,871万美元
2025-04-01
零时科技 || Four.meme 攻击事件分析2
2025-03-19
零时科技 || H2O 攻击事件分析
2025-03-18
文章目录