宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Fil > 正文

移花接木:Revest Finance 被黑分析

作者:

时间:1900/1/1 0:00:00

By:九九@慢雾安全团队

2022 年 03 月 27 日,据慢雾区消息,Revest Finance 的 Revest 合约遭到黑客攻击,黑客盗取了近 770 万枚 ECO、579 枚 LYXe、近 7.15 亿枚 BLOCKS 以及超 35 万枚 RENA。慢雾安全团队第一时间介入分析,并将结果分享如下:

相关信息

Revest Finance 提出了一种新协议,用于将可替代的 ERC-20 代币作为不可替代的代币化金融工具进行打包、转移和存储,利用 ERC-1155 非可替代代币(NFT)标准来简化访问和商业通用性。使用该产品,资产的所有权可以以不影响资产价值的方式进行交易,从而形成一个新的商业模式。通过有针对性的用例发现该协议的机制、治理和货币化。

以下是本次攻击涉及的相关地址:

攻击者地址:

https://etherscan.io/address/0xef967ece5322c0d7d26dab41778acb55ce5bd58b

攻击合约:

https://etherscan.io/address/0xb480ac726528d1c195cd3bb32f19c92e8d928519

CryptoQuant CEO:Haru Invest疑似对客户隐瞒了对FTX的资金转账:6月15日消息,CryptoQuant首席执行官Ki Young Ju表示,OXT Research报道称,Haru Invest使用了FTX。如果这是真的,那么在FTX倒闭后的整整一年里,他们都对客户保持沉默。

OXT Research在推特上表示,Haru Invest的BTC余额从来没有特别高,交易量最高是在2022年夏季,监测到Haru Invest对FTX的两次资金交易是其比特币地址最大的转出交易。[2023/6/15 21:37:57]

被攻击合约:

https://etherscan.io/address/0x2320a28f52334d62622cc2eafa15de55f9987ed9#code

攻击交易:

https://etherscan.io/tx/0xe0b0c2672b760bef4e2851e91c69c8c0ad135c6987bbf1f43f5846d89e691428

https://etherscan.io/tx/0x613b2de3bb9043884a219296eeb1ada8c47b5a0262b9c68ca06ffd2de3a5d9f5

欧盟银行机构负责人:稳定币储备需要多样化:金色财经报道,欧洲银行管理局 (EBA) 主席José Manuel Campa表示,即将出台的欧盟管理稳定币的规则将侧重于确保发行人拥有多样化的储备,管理利益冲突,并且不会将风险转移给其他参与者。José Manuel Campa说,该集团的加密资产市场规则,即MiCA,将于2024年生效,但加密货币市场参与者现在应该开始调整他们的操作,该机构将通过起草附属立法在其实施中发挥关键作用。MiCA 要求稳定币的发行人有足够的储备来应对动荡“EBA 将特别关注储备存款部分的多样化。”[2023/4/27 14:30:45]

https://etherscan.io/tx/0x0251c2b8012a61567ec5855010d29618ada066642e4a2866755d58337c2866d9

https://etherscan.io/tx/0x19b10c6d38f0b911fdc0e722d681a70a56699d70559eefef3d4d6fe88276c813

攻击核心点

在被攻击的 Revest 合约中,用户调用 mintAddressLock 函数来将一定数量的 ERC-20 代币存入 Revest Smart Vault 时,就会创建 FNFT。该 NFT 代表了用户拥有的代币资产数额,后续可以调用 withdrawFNFT 函数将代币赎回。

Binance将于11月28日停止SRM/BNB、SRM/BTC、SRM/USDT交易对交易:金色财经报道,公告显示,由于 FTX 崩盘的影响仍在继续,加密货币交易所Binance将下架三个 Serum ( SRM ) 交易对。交易所将于11月28日停止SRM/BNB、SRM/BTC、SRM/USDT交易对交易。

Serum 是一种基于 Solana 的去中心化交易协议,自成立以来一直受到 FTX 的拥护,该交易所已倒闭,以每周空投的形式向交易者奖励 SRM 代币。[2022/11/26 20:46:40]

攻击核心点就在于攻击者利用 ERC1155 标准铸造 NFT 时会调用接受者地址的 onERC1155Received 函数,因此攻击者利用该点回调重入了 Revest 合约中的 depositAdditionalToFNFT 函数,该函数会铸造一个新的 NFT,接着会调用 tokenVault 合约的 handleMultipleDeposits 函数记录新的 NFT 的信息,而 handleMultipleDeposits 函数中缺少了对该新铸造的 NFT 是否存在的判断,故此攻击者利用重入修改了已经铸造过的 NFT 的信息,而用户铸造 NFT 打入 ERC20 资产代币的流程是在重入操作之前的,故此用户无需打入 ERC20 代币就成功铸造了代表自己具有 360001 枚 ERC20 代币资产的 NFT。

鲸探亮相世界人工智能大会元宇宙展,支持官方发行数字藏品:金色财经报道,今日起,2022世界人工智能大会元境星球正式上线,用户打开官网进入后解锁“元住民”身份,伴随官方使者IP威客兄弟的带领,穿梭主题小镇。9月1日-3日,2022世界人工智能大会举办期间,用户还可在官方云平台用积分兑换两款数字藏品。据了解,该藏品设计源自WAIC五周年回顾地图(智会世图)和威客兄弟IP(元宇宙版),由鲸探提供发行相关科技服务。数字藏品作为元宇宙应用组成部分,连接大会、科技与大众,在链上永久留住这份中国AI技术变迁的纪念。[2022/8/31 13:00:26]

具体细节分析

此处拿获取 RENA 代币的攻击进行分析,其他几个攻击手法一致,不做过多赘述。

1. 攻击者首先从 uniswap 池子中闪电贷借出 2 枚 RENA 代币

2. 接着调用 Revest 合约中的 mintAddressLock 函数,传入 quantities 为 2,该函数进行加锁操作后会调用 doMint 函数来铸造 NFT

CoinShares宣布收购拿破仑资产管理公司:金色财经报道,数字资产投资公司CoinShares宣布,在获得Autorité des Marchés Financiers (AMF) 的批准后),它已收购拿破仑资产管理公司,这是自2019年3月以来根据 AIFM 指令获得许可的首批数字资产管理公司之一。该交易于 2022 年 6 月 30 日签署并完成。

据悉,2021年11月30日,CoinShares签订了一份买卖协议(集团SPA),收购整个Napoleon集团。该交易已于2021年12月16日完成。集团SPA包含一个收购拿破仑资产管理公司的选择权,该选择权的行使须事先得到金融市场管理局对控制权变更的批准。该批准已于2022年6月28日完成。CoinShares行使了收购Napoleon资产管理公司的选择权,并根据集团SPA中规定的条款签订了买卖协议,该协议于2022年6月30日同时签署并完成。(finextra)[2022/7/4 1:49:59]

在 doMint 函数中,会调用 tokenVault 合约的 createFNFT 函数记录所铸造的 NFT 函数信息,接着用户给 tokenVault 合约转账相应的 ERC20 代币,最后调用 FNFTHandler 合约中的 mint 函数来发放 NFT

所铸造的 NFT 的 fnftId 为 1027, 所记录的该 NFT 相关信息如下:

因为 depositAmount 为 0,故此 NFT 代表用户拥有的 ERC20 代币资产为 0,故无需转相关资产代币给合约

3. 再次调用 Revest 合约中的 mintAddressLock 函数,传入 quantities 为 360000,与上面相同的步骤调用 doMint 进行铸造 NFT,所铸造的 NFT 的 fnftId 为 1028,记录的 NFT 信息如下:

因为 depositAmount 为 0,故仍然无需转账代币资产给 tokenVault,但是与之前不同的是,这一次铸造 NFT 的操作中,因为在调用 FNFTHandler 合约的 mint 函数时会调用 _doSafeTransferAcceptanceCheck 函数

该函数会调用攻击合约的 onERC1155Received 函数,故此攻击者利用攻击合约中的重写的 onERC1155Received 函数回调重入了 Revest 合约的 depositAdditionalToFNFT 函数

在 depositAdditionalToFNFT 函数需要传入指定的 fnftId(此处是 1027)、NFT 数量 quantity(此处是 1)与单个 NFT 中需要存款的资产数额 amount(此处是 1),该函数会 burn 掉传入的 fnftId 的指定数量的 NFT,接着用户转入指定数量的 ERC20 代币资产并 mint 新的 NFT,需要转账的数量是 quantity *? amount 为 1,最后调用 tokenVault 合约中的 handleMultipleDeposits?记录新的 NFT 的存款数量为上面传入指定 fnftId 的 NFT 的 depositAmount 值 + 传入的 amount 的值

而在 handleMultipleDeposits 函数 mint 新的 NFT 时没有判断该 NFT 的信息是否在 tokenVault 合约中存在,故此攻击者利用该问题直接修改了 1028 号 NFT 的信息,使得该 NFT 虽然在 doMint 操作时第一次记录的 depositAmount 为 0,但是在重入后却修改成了 1

4. 最后调用 withdrawFNFT 函数进行提取 NFT 中所代表的 ERC20 代币资产

该函数燃烧掉指定的 NFT 后,会调用 tokenVault 合约中的 withdrawToken 函数进行提款

因为 depositAmount 在回调后被修改了为了 1,故此最后提款的 RENA 数量计算出来约为 360000 枚

5. 攻击者归还闪电贷后获利离场

总结

本次攻击事件是由于在 tokenVault 合约中的 handleMultipleDeposits 函数中没有判断该新铸造的 NFT 是否存在,故此攻击者利用该点直接修改了已经铸造过的 NFT 的信息,并且在 Revest 合约中关键的函数没有做重入锁的限制,导致了被回调利用。慢雾安全团队建议在进行铸造 NFT 等敏感操作时需增加对 NFT 是否已经存在的判断,且在合约关键函数中必须添加重入锁的限制,避免再次出现此类问题。

标签:NFTESTULTFNFSWISSNFTFUND币ALL BEST ICO SATOSHIult币行情最新价格FNF币

Fil热门资讯
藏在EOA地址里的魔法:Qubit Finance 被黑分析

2022 年 1 月 28 日,一大早醒来就看见 ps 那边预警了 Qubit Finance 被黑了。有点惨,这是印象中 pancake bunny 项目不知道第几次被黑了(这里默哀。。).

1900/1/1 0:00:00
金色趋势丨ETH短线谨防小双顶形成

金色晨讯 | 5月23日隔夜重要动态一览:21:00-7:00关键词:高盛、韩国、稳定币、星展银行 1.高盛数字资产负责人:高盛将扩展加密货币领域产品; 2.韩国三大金融集团拒绝向加密交易所发放实名账户; 3.

1900/1/1 0:00:00
以太坊合并马上来了 普通人能做点什么?

来源:老雅痞 信息来源自BanklessDao,略有修改 编译:RR 来了来了它来了。随着Goerli测试网合并成功完成,TTD被设定为 58750000000000000000000,合并时间暂定在9月15-16日之间.

1900/1/1 0:00:00
金色趋势丨知史鉴今 又见黄金坑机会?

如果以13年牛市为例,启动点不以这一轮牛市的最低点(上一轮熊市的最低)算起,而是以后面这轮牛市持续拉升的主升浪启动前的最后一次调整低点算起,上方顶点以本轮牛市的最高点为结束点,可以发现这一轮牛市中期的大调整.

1900/1/1 0:00:00
欧洲央行主席:比特币不是货币 而是“高风险”资产

欧洲央行(ECB)在推特上发布了其主席Mario Draghi在参加央行组织的“欧洲央行青年对话(ECB Youth Dialogue)”活动时与青年人的对话视频.

1900/1/1 0:00:00
金色观察 | Robinhood限制交易 DeFi股票交易量攀升

Robinhood限制交易,DeFi股票交易量攀升上周Robinhood限制交易,股票投资者无法买卖,DeFi领域的合成资产交易正在升温.

1900/1/1 0:00:00