木星链 木星链
Ctrl+D收藏木星链
首页 > 区块链 > 正文

CRO:Crosswise攻击事件分析:“一两拨千金”

作者:

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

前言

2022年1月18日,知道创宇区块链安全实验室?监测到BSC上Crosswise遭遇攻击,此次攻击导致协议损失87.9万美元。

攻击者仅用1个CRSStoken便获取CrosswiseMasterChef池中价值87.9万美元的692K个CRSS。实验室将对本次事件深入跟踪并进行分析。

基础信息

攻击交易哈希:

0xd02e444d0ef7ff063e3c2cecceba67eae832acf3f9cf817733af9139145f479b

攻击者地址:

0x748346113B6d61870Aa0961C6D3FB38742fc5089

Michael Saylor:MicroStrategy将比特币期货视为加密策略的一部分:金色财经报道,MicroStrategy联合创始人兼执行主席Michael Saylor表示,该公司可能会在某个时候考虑涉足芝商所市场的比特币期货合约以产生收益。Saylor表示,在过去,MicroStrategy曾考虑过,但最终决定不通过其他公司借出比特币;“未来我们将一直考虑远期收益率,我们可能会找到一种方法,以这种方式产生收益”。Saylor还表示,他不打算将MicroStrategy的企业软件和比特币业务分开,因为两者相互融合。

此前2月3日消息,MicroStrategy 2022年第四季度比特币减值费用达1.976亿美元。截至2022年底,MicroStrategy的比特币总持仓增加至13.25万枚,价值18亿美元;该公司比特币持仓累计减值损失达到22亿美元。[2023/2/8 11:54:20]

攻击合约:

特斯拉、MicroStrategy和Block在本轮熊市中合计损失近25亿美元:金色财经报道,根据特斯拉、MicroStrategy和Block的 BTC 持仓数据显示,这三家公司在本轮熊市中已损失近 25 亿美元,其中:

1、特斯拉持有 43,200 枚 BTC(相当于流通中的 2100 万个比特币总供应量的 0.206%)价值已下跌超 7 亿美元;

2、Microstrategy 持有 129,218 枚 BTC(约占流通中比特币总量的 0.615%)价值已损失接近 16 亿美元;

3、Jack Dorsey 旗下支付公司 Block 持有 8,027 枚 BTC(约占流通中比特币总量的 0.038%)价值已损失近 1.5 亿美元。

MicroStrategy 首席执行官 Michael Saylor 此前在社交媒体上透露,该公司有 2.05 亿美元的定期贷款,需要维持价值 4.1 亿美元的抵押品,但 MicroStrategy 已经预测到波动性并构建了资产负债表以便在熊市中继续 HODL。[2022/6/19 4:38:37]

0x530B338261F8686e49403D1b5264E7a1E169F06b

Dolce & Gabbana敦促Elon Musk购买“Doge Crown”NFT:9月28日消息,Dolce & Gabbana在一条推文中暗示Elon Musk应该考虑购买他们的一个NFT。该NFT被称为Doge Crown,拥有七颗蓝色蓝宝石和142颗钻石。D&G回应了一条推文,暗示Musk将是拥有皇冠并成为“加密之王”的完美人选。(Beincrypto)[2021/9/28 17:11:58]

MasterChef:

0x70873211CB64c1D4EC027Ea63A399A7d07c4085B

CrosswiseRouter:

0x8B6e0Aa1E9363765Ea106fa42Fc665C691443b63

YFI创始人Andre Cronje参与Gitcoin Stewards治理:YFI创始人Andre Cronje发推称自己已申请参与Gitcoin Stewards治理。根据其发布的自我介绍内容,“Gitcoin用户名:@andrecronje | Gitcoin。ETH地址:andrecronje.eth。

意向声明/价值观和加入理由:我很早就认同Gitcoin的理念,对我来说,从DeFi开始最困难的事情之一就是试图获得审计甚至部署的资金。Gitcoin本身帮助我支付了大量的费用,并允许我构建自己已经启动的大多数项目。展望未来,我希望继续传递善意。开源资金很容易被滥用,所以我想提供我的技术专长和见解来帮助确定高质量的候选人并提供指导,同时辨别出机会主义者。Web3资格/技能:我对智能合约和Solidity有所涉猎。”[2021/6/1 23:02:03]

CRSS:

0x99FEFBC5cA74cc740395D65D384EDD52Cb3088Bb

攻击核心

此次攻击的核心在于,Crosswise中的MasterChef合约Owner地址设置即transferOwnership函数能够被攻击者绕过,使得攻击者能够成为新的Owner并对MasterChef池子进行攻击利用。我们将本次攻击过程分为两个阶段进行分析:获取Owner权限攻击和MasterChef池攻击。

获取Owner权限攻击

1.由于在MasterChef合约中setTrustedForwarder?函数为公开可见性且未作权限设置,攻击者先将自己的地址设置为TrustedForwarde地址。

2.Crosswisefi项目方对MasterChef的_msgSender()函数并未采取openzepplin的标准写法且存在漏洞,导致攻击者能够通过构造恶意的calldata实现绕过onlyOwner限制完成合约Owner的获取。

下图为攻击者绕过onlyOwner权限构造的恶意payload:

MasterChef池攻击

1.攻击者在CrosswiseRouter中用0.01个WBNB兑换出3.71个CRSS

2.攻击者调用deposit将1个CRSS质押到CrosswiseMasterChef

3.由于上一阶段攻击者已经获取到MasterChef的Owner权限,此时攻击者调用set函数对MasterChef的pid为0的池子重新部署了一个未开源的策略合约:0xccddce9f0e241a5ea0e76465c59e9f0c41727003

4.攻击者调用MasterChef的withdraw函数从池子中获取692K的CRSS

5.最后攻击者把692K的CRSS通过CrosswiseRouter合约swap兑换出547个BNB完成攻击,获利超87.9万美元。

策略合约

猜想

由于攻击者部署的策略合约并未开源,我们只能反向推导猜想策略合约的主要逻辑:

1.根据下图第18行代码可以推断出合约中lockedAmount应该是一个极大值才能支撑攻击者692k的代币转出;又根据第7-11行可以推导出攻击者部署的strategy合约的LockeTotal()函数返回值极大、sharesTotal()返回值极小。

2.在上图代码23行当_amount>0时,会先计算出user的shareRemoved,然后在执行user.amount=user.amount.sub(shareRemoved);,此时若shareRemoved大于user.amount则代码执行不会通过,可以推导出26行的shareRemoved值很小,又shareRemoved是调用攻击者部署strategy合约中withdraw获取,所以此时的strategy合约中withdraw的返回值会很小,小于之前质押的1个CRSS数量;再结合链上数据可推导攻击者部署strategy合约中的withdraw调用返回值为0。

反编译

为了证实我们的猜想是否正确,我们将攻击者部署的策略合约进行反编译。

反编译后我们可以发现存在一个极大值和一个较小值的常量,即对应猜想1中LockeTotal和sharesTotal值,猜想1正确。

对于猜想2,经过反编译后我们可以看到策略合约的withdraw最后的返回值为0,猜想2正确

总结

这次攻击产生的主要原因是项目方使用错误的方法去获取msgSender,导致合约的Owner权限更改能被绕过。知道创宇区块链安全实验室?在此提醒,任何有关合约权限问题的操作都需要慎重考虑,合约审计、风控措施、应急计划等都有必要切实落实。

标签:CROCROSROSTRAMicroCatsCROSSCHAIN价格Roseon Financeeternalcontract

区块链热门资讯
Earn Daily No.361: Lock BTC & Earn, up to 0.9% APR

Gate.ioHODL&Earnrecentlyunveiledanewproduct“EarnEveryday”tofacilitateevenmorechancestoearnbyh.

1900/1/1 0:00:00
COM:XT.COM關於延遲上線MTK的公告

尊敬的XT.COM用戶:應項目方要求,為給用戶帶來更好的交易體驗,XT.COM將延遲MTK上線交易時間,具體開放時間將另行通知。給您帶來的不便,敬請諒解.

1900/1/1 0:00:00
GATE:Gate.io 首發上線Startup項目Metan Chain(METAN)及免費認購規則公告(免費瓜分 1,000,000個METAN

關於Gate.ioStartup免費空投計劃爲回饋平臺用戶,Gate.io上線“免費空投計劃”,在Startup區不定期進行區塊鏈項目的免費空投計劃.

1900/1/1 0:00:00
KEX:BKEX Global 关于第一时间上线 MILO(Milo Inu) 并开放充值功能的公告

尊敬的用户:?????????BKEXGlobal即将上线MILO,详情如下:上线交易对:MILO/USDT??币种类型:BEP20充值功能开放时间:已开放交易功能开放时间:2022年2月22日.

1900/1/1 0:00:00
CAP:星球日报 | OpenSea攻击者使用Tornado.cash混币1100 ETH;Flow公链单日交易数量突破100万笔(2月21日)

头条派盾:OpenSea网络钓鱼攻击事件攻击者使用Tornado.cash混币1100ETH派盾发布相关交易记录表示,OpenSea网络钓鱼事件攻击者将攻击所得部分NFT出售获利后.

1900/1/1 0:00:00
HOT:Hotcoin關於開放MDT交易的公告

尊敬的用戶:Hotcoin將於(GMT8)2022年2月17日17:00開放MDT/USDT交易業務.

1900/1/1 0:00:00