慢雾发布TitanoFinance被黑简析,owner角色可任意设置setPrizeStrategy函数

安全机构慢雾科技发布TitanoFinance被黑简析,2022年2月14日,BSC链上的TitanoFinance项目遭受攻击,慢雾安全团队分析认为:

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

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

慢雾:针对macOS系统恶意软件RustBucket窃取系统信息:金色财经报道,SlowMist发布安全警报,针对macOS 运行系统的 Rust 和 Objective-C 编写的恶意软件RustBucket,感染链由一个 macOS 安装程序组成,该安装程序安装了一个带后门但功能正常的 PDF 阅读器。然后伪造的 PDF 阅读器需要打开一个特定的 PDF 文件,该文件作为触发恶意活动的密钥。[2023/5/23 15:20:27]

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

慢雾:Polkatrain 薅羊毛事故简析:据慢雾区消息,波卡生态IDO平台Polkatrain于今早发生事故,慢雾安全团队第一时间介入分析,并定位到了具体问题。本次出现问题的合约为Polkatrain项目的POLT_LBP合约,该合约有一个swap函数,并存在一个返佣机制,当用户通过swap函数购买PLOT代币的时候获得一定量的返佣,该笔返佣会通过合约里的_update函数调用transferFrom的形式转发送给用户。由于_update函数没有设置一个池子的最多的返佣数量,也未在返佣的时候判断总返佣金是否用完了,导致恶意的套利者可通过不断调用swap函数进行代币兑换来薅取合约的返佣奖励。慢雾安全团队提醒DApp项目方在设计AMM兑换机制的时候需充分考虑项目的业务场景及其经济模型,防止意外情况发生。[2021/4/5 19:46:39]

4.在2022-02-144:41:51(UTC),接着攻击者调用了所创建的恶意的prizeStrategy合约(0x49D078)中的_awardTickets函数,该函数调用了prizePool合约中(0x4d7f0a)的award函数,该函数需要满足onlyPrizeStrategy修饰器条件(_msgSender()==address(prizeStrategy)),该函数会给指定的to地址mint指定数量的ticket代币(TicketTitano(TickTitano);此时prizePool合约中的_prizeStrategy已经在上一步被修改成0x49D078,满足onlyPrizeStrategy的条件,于是StakePrizePool合约给攻击者mint了32,000,000个ticket代币;

动态 | 慢雾区:已修复EOS智能合约底层asset类溢出缺陷:据慢雾区消息, EOS智能合约底层asset类存在溢出缺陷,目前 EOSIO v1.1.4版本已修复该问题。如果智能合约中使用到了 asset的乘法操作,建议更新对应的代码并重新编译合约。因为像 asset这样的工具代码是静态编译进合约中的,必须重新编译才能解决其中的安全隐患。[2018/8/9]

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

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

据慢雾MistTrack分析,攻击者最初的获利地址为0xad9217e427ed9df8a89e582601a8614fd4f74563,目前被黑资金已被攻击者转移到其他23个钱包。此次主要由于owner角色可以任意设置setPrizeStrategy函数,导致了池子被设置成恶意的PrizeStrategy合约造成后续利用。对此,慢雾安全团队建议,对于敏感的函数操作,建议采用多签钱包的角色来操作,或者把owner角色权限移交给社区管理。

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

银河链

[0:15ms0-1:886ms