IZE:慢雾:TitanoFinance 被黑简析

据慢雾区情报,2022 年 2 月 14 日,BSC 链上的 TitanoFinance 项目遭受攻击。

1. 在 2022-02-10 18:48:04 (UTC),攻击者创建了相关的攻击合约 (0x1866207c355d4c6e0b03b4dc0bf9c658f4d13f8a)

2. 在 2022-02-14 4:36:21 (UTC),攻击者调用第一步中的 0x186620 合约中的 createMultipleWinnersFromExistingPrizeStrategy 函数创建了恶意的 prizeStrategy 合约 0x49D078d25b08f2731cBf5AF8e8CDF1eA3E0a2046

慢雾:针对传言火币信息泄漏事件不涉及用户账户与资金安全 请保持客观冷静对待:据官方消息,慢雾注意到近日有白帽子公开了此前一个火币已经处理完毕的过往漏洞信息。经慢雾与火币官方确认,火币本着负责任披露信息的策略,对本次事件做以下说明:本次事件是小范围内(4000人)的用户联络信息泄露,信息种类不涉及敏感信息,不涉及用户账户与资金安全。事件发生于2021年6月22日日本站测试环境S3桶相关人员不规范操作导致,相关用户信息于2022年10月8日已经完全隔离,日本站与火币全球站无关。本次事件由白帽团队发现后,火币安全团队2023年6月21日(10天前)已第一时间进行处理,立即关闭相关文件访问权限,当前漏洞已修复,所有相关用户信息已经删除。感谢白帽团队对于火币安全做出的贡献。最后提醒请大家冷静对待,切勿传谣。[2023/7/1 22:12:01]

3. 在 2022-02-14 4:39:12 (UTC),StakePrizePool 合约 (0x4d7f0a96967dce1e36dd2fbb131625bbd9106442) 中,owner (0xc8abdb16fd6040c76dfd9b5186abfdc3b96df4b8) 调用了 setPrizeStrategy 函数 ( 该函数仅 owner 可以调用 ),使得 _prizeStrategy 被改成了 0x49D078d25b08f2731cBf5AF8e8CDF1eA3E0a2046

慢雾:Inverse Finance遭遇闪电贷攻击简析:据慢雾安全团队链上情报,Inverse Finance遭遇闪电贷攻击,损失53.2445WBTC和99,976.29USDT。慢雾安全团队以简讯的形式将攻击原理分享如下:

1.攻击者先从AAVE闪电贷借出27,000WBTC,然后存225WBTC到CurveUSDT-WETH-WBTC的池子获得5,375.5个crv3crypto和4,906.7yvCurve-3Crypto,随后攻击者把获得的2个凭证存入Inverse Finance获得245,337.73个存款凭证anYvCrv3Crypto。

2.接下来攻击者在CurveUSDT-WETH-WBTC的池子进行了一次swap,用26,775个WBTC兑换出了75,403,376.18USDT,由于anYvCrv3Crypto的存款凭证使用的价格计算合约除了采用Chainlink的喂价之外还会根据CurveUSDT-WETH-WBTC的池子的WBTC,WETH,USDT的实时余额变化进行计算所以在攻击者进行swap之后anYvCrv3Crypto的价格被拉高从而导致攻击者可以从合约中借出超额的10,133,949.1个DOLA。

3.借贷完DOLA之后攻击者在把第二步获取的75,403,376.18USDT再次swap成26,626.4个WBTC,攻击者在把10,133,949.1DOLAswap成9,881,355个3crv,之后攻击者通过移除3crv的流动性获得10,099,976.2个USDT。

4.最后攻击者把去除流动性的10,000,000个USDTswap成451.0个WBT,归还闪电贷获利离场。

针对该事件,慢雾给出以下防范建议:本次攻击的原因主要在于使用了不安全的预言机来计算LP价格,慢雾安全团队建议可以参考Alpha Finance关于获取公平LP价格的方法。[2022/6/16 4:32:58]

4. 在 2022-02-14 4:41:51 (UTC),接着攻击者调用了所创建的恶意的 prizeStrategy 合约 (0x49D078) 中的 _awardTickets 函数,该函数调用了 prizePool 合约中 (0x4d7f0a) 的 award 函数,该函数需要满足 onlyPrizeStrategy 修饰器条件 (_msgSender() == address(prizeStrategy)),该函数会给指定的 to 地址 mint 指定数量的 ticket 代币 (Ticket Titano (TickTitano)

动态 | 慢雾:10 月发生多起针对交易所的提币地址劫持替换攻击:据慢雾区块链威胁情报(BTI)系统监测及慢雾 AML 数据显示,过去的 10 月里发生了多起针对数字货币交易所的提币地址劫持替换攻击,手法包括但不限于:第三方 JS 恶意代码植入、第三方 NPM 模块污染、Docker 容器污染。慢雾安全团队建议数字货币交易所加强风控措施,例如:1. 密切注意第三方 JS 链接风险;2. 提币地址应为白名单地址,添加时设置双因素校验,用户提币时从白名单地址中选择,后台严格做好校验。此外,也要多加注意内部后台的权限控制,防止内部作案。[2019/11/1]

此时 prizePool 合约中的 _prizeStrategy 已经在上一步被修改成 0x49D078,满足 onlyPrizeStrategy 的条件,于是 StakePrizePool 合约给攻击者 mint 了 32,000,000 个 ticket 代币

5. 在 2022-02-14 4:43:18 (UTC),StakePrizePool 合约 (0x4d7f0a) 中,owner 再次调用了 setPrizeStrategy 函数,将 _prizeStrategy 改回 0x5739f9F8C9Fc9854a5B6f3667a6fB14144DC40A7

6. 最后攻击者调用 StakePrizePool 合约 (0x4d7f0a) 中的 withdrawInstantlyFrom 函数将 ticket 代币换成 Titano 代币,然后在 pancake 池子中把 Titano 换成 BNB,攻击者重复了这个过程 8 次, 最后共获利 4,828.7 BNB,约 1900w 美元

据慢雾 MistTrack 分析,攻击者最初的获利地址为 0xad9217e427ed9df8a89e582601a8614fd4f74563,目前被黑资金已被攻击者转移到其他 23 个钱包。

总结:此次主要由于 owner 角色可以任意设置 setPrizeStrategy 函数,导致了池子被设置成恶意的 PrizeStrategy 合约造成后续利用。慢雾安全团队建议:对于敏感的函数操作,建议采用多签钱包的角色来操作,或者把 owner 角色权限移交给社区管理。

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

链链资讯

[0:15ms0-4:908ms