• Team Finance被黑分析|黑客自建Token“瞒天过海”,成功套取1450万美元


    2022年10月27日,据欧科云链链上卫士安全团队监测,ETH链上的Team Finance项目遭受黑客攻击,事故原因除攻击中的合约漏洞外,Uniswap V3的迁移合约实施不严谨或是造成损失的主因之一。

    编辑|小O

    分析|链上卫士团队

    10月27日,成立于2020年的Team Finance在官方Twitter发声,该协议管理资金在由Uniswap v2迁移至v3的过程中遭到黑客攻击,损失达1450万美元。

    在事件发生后的第一时间,欧科云链链上卫士团队凭借超200TB的链上数据量储备,快速对黑客地址进行数据追踪、手法解析,并及时通过官方渠道反馈Team Finance分析结果,避免链上损失态势进一步扩大。

     

    图片源:Twitter

    Team Finance安全事件复盘

    据悉,此次攻击最早发生于2022年10月27日 07:22:35,黑客通过创建攻击合约并创建一个攻击token,随后通过执行攻击合约进行lockToken调用,并于08:29:23执行合约并发起攻击交易。 

    图片源:OKLink制图

    据链上卫士安全团队分析,此次受到攻击的项目方 Uniswap V2 池子有CAW(1150万美元 )、TSUKA(170万美元)、KNDX(70万美元)、FEG(190万美元)。

    依托于区块链链上数据可溯源、不可篡改的特性,链上卫士团队将链上追踪结果以图表的方式展现,通过黑客资金流向图,用户可清晰地了解黑客盗取资金后的动态。

     图片源:OKLink制图

    Team Finance黑客手法复盘

    攻击交易整体流程 

    #Step1:

    攻击者通过Team Finance的Proxy合约输入攻击参数:

    准备盗取资金的对象:即需要迁移的币对 FEG-WETH

    而取回的币对却是黑客创建的无价值的token0: 0x2d4abfdcd1385951df4317f9f3463fb11b9a31df 和 有价值的token1: WETH

    两者的不一致,是导致该合约被攻击的根本原因!

    在这一步中,黑客首先通过lockToken锁仓攻击token,lockedToken变量会记录锁仓详细信息,其中关键字段为withdrawAddress,该字段存在可以满足后续migrate的权限判断。

     #Step2:

    由于上述LP和输入参数的token不匹配,且 noLiquidity 参数为 true,所以会在 Uniswap V3 中创建一个 token0 和 WETH 的流动性池。

    #Step3:

    Uniswap V3调用v3Migrator.migrate方法,迁移FEG-WETH流动性对。

    在这一步中,Uniswap V3 Migrator合约在接收到Team Finance中传入的参数,会迁移 Uniswap V2的LP,燃烧LP,获取底层资产$FEG和$WETH,根据转换参数只有1%进入V3 pool,其余99%退还给发送合约,Team Finance将返回到token(601个ETH)发送给攻击合约。

    Step 3步骤拆解

    黑客调用 Team Finance 得合约进行LP迁移,利用 Step 1 中准备好的withdrawAddress和msgSender吻合,通过权限检查。

    由于Team Finance的迁移逻辑没有检验交易id与migrate params的相关关系,黑客通过上面校验后,真正迁移的是黑客输入的params参数。

    该参数指定的migrate为与黑客锁仓token无任何关系的FEG-WETH交易对,且迁移数量为 Team Finance 持有的全部LP(FEG-WETH),但参数指定只migrate 1%。

    #Step4:

    此外,相同手法对其它3个流动性池进行了攻击:

    Team Finance事件总结

    截至发稿前,黑客已返还涉事的四种Token以及$ETH和USDC到相关项目方,共计约1340万美元。

    此次攻击事件,漏洞的本质原因是对输入参数的校验逻辑有问题。黑客通过锁仓毫无价值的token,获取了调用migrate接口的权限。进一步调用Uniswap V3的migrate的参数,完全由黑客输入,导致可以从其合约内迁移其他LP资产,结合Uniswap V3的migrate处理是首先燃烧所有LP资产,再按照输入的percentage进行迁移,并返还剩余资产,使得黑客可以通过只迁移1%资产,从而窃取剩余99%的资产。

    总而言之链上安全无小事,欧科云链再次提醒:重要函数的参数校验要仔细。建议在项目上线前,选择类似链上卫士的专业安全审计团队进行全方位审计筛查,最大化规避项目上线后的安全风险

  • 相关阅读:
    家庭实验室系列文章-电脑如何配置网络唤醒 (WOL)?
    PPSSPPSDL for Mac v1.17.1 PSP游戏模拟器(附500款游戏) 激活版
    Powershell历史执行记录
    [附源码]Python计算机毕业设计Django个人博客系统
    Flowable 中的网关、流程变量以及历史流程
    Android make命令简述
    金融科技,串联了互联网时代与数字时代
    C语言——九九乘法表
    R语言获取data.table分组下每个分组的第一条数据
    第五课 算术运算
  • 原文地址:https://blog.csdn.net/weixin_42056967/article/details/127658774