损失约820万美元 Visor Finance遭黑客攻击事件全解析_DEFI:EFI

12月21日,链必应-区块链安全态势感知平台舆情监测显示,UniswapV3流动性管理协议VisorFinance于北京时间12月21日晚上10点18分遭受攻击,总损失约为820万美元。关于本次攻击,成都链安技术团队第一时间进行了事件分析。

#1事件概览

2021年12月21日晚VisorFinance官方Twiiter发布通告称vVISR质押合约存在漏洞,发文前已有攻击交易上链。

经过成都链安技术团队分析,攻击者通过恶意合约利用VisorFinance项目的漏洞,伪造了向VisorFinance的抵押挖矿合约(0xc9f27a50f82571c1c8423a42970613b8dbda14ef)存入2亿代币的交易,从而获取了195,249,950vVISR抵押凭证代币。然后再利用抵押凭证,从抵押挖矿合约中取出了8,812,958VISR。

慢雾:上周Web3安全事件中总损失约1996.3万美元:金色财经报道,据慢雾区块链被黑档案库统计,2023年8月14日至8月20日,共发生安全事件10起,总损失约1996.3万美元。具体事件:

8月14日,Hexagate发推表示,过去几天单个MEV Bot被利用了约20万美元。以太坊上Zunami Protocol协议遭遇价格操纵攻击,损失1,179个ETH(约220万美元)。

8月15日,以太坊扩容解决方案Metis官方推特账号被盗。Sei Network官方Discord服务器遭入侵。Base生态项目RocketSwap遭遇攻击,攻击者窃取了RCKT代币,将其转换为价值约86.8万美元的ETH并跨链到以太坊。

8月16日,借贷协议SwirlLend团队从Base盗取了约290万美元的加密货币,从Linea盗取了价值170万美元的加密货币。BAYC推出的链上许可申请平台Made by Apes的SaaSy Labs APl存在一个问题,允许访问MBA申请的个人详细信息。

8月18日,DeFi借贷协议Exactly Protocol遭受攻击,损失超7,160枚ETH(约1204万美元)。

8月19日,Cosmos生态跨链稳定币协议Harbor Protocol被利用,损失42,261枚LUNA、1,533枚CMDX、1,571枚stOSMO和18,600万亿枚WMATIC。

8月20日,衍生品市场Thales发布公告称,一名核心贡献者的个人电脑/Metamask遭到黑客攻击,一些充当临时部署者(2.5万美元)或管理员机器人(1万美元)的热钱包已被攻破。[2023/8/21 18:13:42]

#2事件具体分析

安全团队:Premint NFT被黑客入侵事件总损失约为37.5万美元:金色财经消息,据CertiK安全团队,Premint NFT被黑客入侵事件到目前为止,总共发现了6个被利用的钱包。目前黑客从攻击中获得的利润约为37.5万美元,使其成为今年最大的NFT黑客攻击之一。

此前昨日下午报道,黑客在premint网站中通过植入恶意的JS文件实施钓鱼攻击。premint官方提醒用户不要签署任何设置批准所有的交易。[2022/7/18 2:19:32]

攻击交易为:

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

数字艺术家Beeple的Discord遭黑客攻击,虚假NFT空投导致用户损失约38 ETH:11月11日消息,数字艺术家Beeple的Discord中一位名叫“Multi”的管理员向该小组确认,尽管他们有2FA(双因子验证),但他们的账户还是被入侵了。肇事者冒充了Multi和Beeple公告机器人,在Nifty Gateway上宣传Beeple的虚假NFT空投,时间与其第二次佳士得拍卖会相吻合。此前Beeple也开展过类似的抽奖活动,用户可以1美元的价格抢购其NFT。事件发生一个多小时后,原管理员重新获得了对其登录的控制权。据Etherscan显示,据称黑客的钱包只剩下9121.54美元,有25个ETH被突然转移。然而,用户报告说损失了更多的ETH。(Cointelegraph)[2021/11/11 6:45:57]

DeFi 项目 xToken 遭到攻击 损失约 2500 万美元:5月13日消息,DeFi质押和流动性策略平台xToken遭到攻击,xBNTaBancor池以及xSNXaBalancer池立即被耗尽,造成约2500万美元损失,其中,xSNXa合约上直接损失的总价值为416枚ETH,xBNT合约上没有造成直接损失。xToken团队表示,在发现问题后暂停了所有xToken合约的的铸币工作,由于黑客没有直接从xBNT合约上撤出资金,将为xBNTa持有者恢复其全部资产,目前正在进行快照。

另外,黑客从xBNTa合约中提取的416枚ETH占合同资产净值的7%至8%,其余90%仍保留在xSNX合约中,将快照xSNXa余额并提供新代币允许持有者收回其资产。[2021/5/13 21:55:55]

攻击手法大致如下:

1.部署攻击合约

0x10c509aa9ab291c76c45414e7cdbd375e1d5ace8;

2.通过攻击合约调用VisorFinance项目的抵押挖矿合约deposit函数,并指定存入代币数量visrDeposit为1亿枚,from为攻击合约,to为攻击者地址

0x8efab89b497b887cdaa2fb08ff71e4b3827774b2;

3.在第53行,计算出抵押凭证shares的数量为97,624,975vVISR.

4.由于from是攻击合约,deposit函数执行第56-59行的if分支,并调用攻击合约的指定函数;

第57行,调用攻击合约的owner函数,攻击合约只要设置返回值为攻击合约地址,就能够通过第57行的检查;

第58行,调用攻击合约的delegatedTransferERC20函数,这里攻击合约进行了重入,再次调用抵押挖矿合约的deposit函数,参数不变,因此抵押挖矿合约再次执行第3步的过程;

第二次执行到第58行时,攻击合约直接不做任何操作;

5.由于重入,抵押挖矿合约向攻击者发放了两次数量为97,624,975vVISR的抵押凭证,总共的抵押凭据数量为195,249,950vVISR。

6.提现

攻击者通过一笔withdraw交易

,将195,249,950vVISR兑换为8,812,958VISR,当时抵押挖矿合约中共有9,219,200VISR。

7.通过UniswapV2,攻击者将5,200,000VISR兑换为了WETH,兑换操作将UniswapV2中ETH/VISR交易对的ETH流动性几乎全部兑空,随后攻击者将获得的133ETH发送到Tornado。

#3事件复盘

本次攻击利用了VisorFinance项目抵押挖矿合约RewardsHypervisor的两个漏洞:

1.call调用未对目标合约进行限制,攻击者可以调用任意合约,并接管了抵押挖矿合约的执行流程;<-主要漏洞,造成本次攻击的根本原因。

2.函数未做防重入攻击;<-次要漏洞,导致了抵押凭证数量计算错误,不是本次攻击的主要利用点,不过也可凭此漏洞单独发起攻击。

针对这两个问题,成都链安在此建议开发者应做好下面两方面防护措施:

1.进行外部合约调用时,建议增加白名单,禁止任意的合约调用,特别是能够控制合约执行流程的关键合约调用;

2.函数做好防重入,推荐使用openzeppelin的ReentrancyGuard合约。

来源:金色财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-7:172ms