查看原文
其他

Poly Network被攻击后续,Beosin KYT/AML带你追踪被盗资金流向,解锁黑客更多套路

Beosin Beosin 2023-07-22

据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,7月2日,Poly Network跨链桥项目疑似遭受私钥泄露或多签服务被攻击,黑客利用伪造的凭证向多条链的跨链桥合约进行取款操作。

这不是Poly Network第一次被攻击,早在2021年8月10日,Beosin EagleEye就监测显示,跨链协议Poly Network 遭受攻击,Ethereum、BinanceChain、Polygon3条链上近6亿美元资金被盗。

当年的这个事件,也成为2021年涉案金额最大的黑客事件,两年前的攻击者利用EthCrossChainManager合约中存在的逻辑缺陷,通过该合约调用EthCrossChainData合约中putCurEpochConPubKeyBytes函数更改Keeper为自有地址,然后使用该地址对提取代币的交易进行签名,从而将LockProxy合约中的大量代币套取出来。不过当时的攻击者在多方压力下,最终选择归还资产,

而这一次,黑客又是如何打穿Poly Network的防线,请听我们细细讲解。同时,我们也将用Beosin KYT/AML带你解锁黑客更多套路。

攻击分析

这次Poly Network 的攻击事件有多个攻击地址,下面以0x906639ab20d12a95a8bec294758955870d0bb5cc地址为例。

第一步,攻击者首先调用LockProxy跨链桥合约中的lock函数进行锁定很小的Lever Token。
(https://etherscan.io/tx/0x1b8f8a38895ce8375308c570c7511d16a2ba972577747b0ac7ace5cc59bbb1c4)

这里需要注意的是toChainid为6指的是BNB chain,可以通过https://explorer.poly.network/查看。这里只要Poly网络上查到,就表示已经通过中继链验证的。

第二步,切换到BNB链上,分析攻击者调用verifyHeaderAndExecuteTx函数进行取款操作,注意到这里的数量和原先的lock的数量完全对不上。
(https://bscscan.com/tx/0x5c70178e6dc882fba1663400c9566423f8942877a0d42bb5c982c95acc348e31)

然而在中继链网络查询该笔交易,并未找到该笔交易记录。

第三步,现在有理由怀疑是不是签名泄露或者keeper被修改(因为keeper是给用户提款签名的,只要控制了keeper就可以用伪造的签名提款)。2021年那一次的Poly被攻击就是黑客利用攻击修改了keeper导致的。

通过分析黑客调用verifyHeaderAndExecuteTx函数进行取款操作,发现keeper并没有被修改,目前keeper还是用的官方的keeper,现在我们有理由相信其中的三个keeper(0x4c46e1f946362547546677bfa719598385ce56f2、0x51b7529137d34002c4ebd81a2244f0ee7e95b2c0、0x3dfccb7b8a6972cde3b695d3c0c032514b0f3825)可能私钥泄露或多签服务被攻击,导致攻击者可以利用伪造的凭证取款。

同时,我们根据Beosin KYT虚拟资产反洗钱合规和分析平台追踪发现,黑客通过一批地址调用Poly Network的合约,利用合约中的UnlockEvent和verifyHeaderAndExecuteTx两个函数的漏洞对项目方实施攻击,将资金转移至自己的沉淀地址中。


线索来源


ETH链


调用被攻击合约的地址通过一个共同的手续费分发地址获取手续费。

 
图1 手续费分发地址交易
该手续费分发地址通过FixedFloat交易所获取手续费。


手续费分发地址:
0x0dfeb429166e629204aca66467484cd88cb9701c


交易哈希
0x69923ea025e7684578b9cbfd7af1c862f044f8b09398234039ce9989bd55561a


黑客归集地址共计三个手续费来源


1、使用手续费第一笔来自Tornado.Cash。


图2 归集地址0xe0afadad1d93704761c8550f21a53de3468ba599手续费来源
2、通过Bybit经过一层中转流入该地址。


手续费转账地址:
0x4FbC021742A4664D1cf8e9d2730b8519B9Dcc523


交易哈希
0xb8b0626b86ed336c9c0fff56b20761438535aa06461dcca9cdc39dc10ec1c620

3、使用被盗的虚拟货币换成ETH作为手续费

有两个黑客盗币地址将盗取的USDT/USDC在DEX中换成ETH,再用作后续地址的手续费,下面是两个地址的初始手续费转账地址及哈希。


黑客地址1:
0xdddE20a5F569DFB11F5c405751367E939ebC5886


手续费转账地址:
0xD475747a4937a66Cc7D4a2c7eA7F6e827D0f7390


交易哈希:
0x853b75b1b8a7f56c51fcba9b996af8d132b784cfa0da7162c20a48a5994d8a06


黑客地址2:
0x8E0001966e6997db3e45c5F75D4C89a610255b2E


交易哈希:
0x0f3cf1fe16052223e091e87c2a6f7a9a94e53a565dfac7b83eb0b9b79458ad8f


BSC链

 
图3 手续费分发地址0x1634Bf68e6b3Bb8D79388EfB3d1A5215506FBbEd手续费来源
该手续费分发地址通过Kucoin和ChangeNow两个交易所平台获取手续费并分发。


1、Kucoin

交易哈希:
0x0b0aa0d438e4f15c919e55148c87890ae0d089d036cadbdc6b87afa9e19f747b


2、ChangeNow

交易哈希:
0x6db6c128960b7268f2bf8c199b2c0c017b3bee29bbefac0bf5d31c63b6373075


黑客归集地址手续费来源为手续费分发地址。沉淀地址未转账手续费。


Polygon链


图4 黑客攻击地址0x09F92eDce2E46C399BFE7881a7619598AF8436d5手续费来源
调用被攻击合约的地址通过一个共同的手续费分发地址获取手续费。


该地址通过FixedFloat交易所获取手续费。


交易哈希:
0xc7a25eb840718028c0d8f402d1293dcb479755d77609a7dfb616c10e90176dec

黑客归集地址手续费来源为
0x09F92eDce2E46C399BFE7881a7619598AF8436d5。


沉淀地址未转账手续费。


Beosin KYT/AML带你追踪资金详情


ETH链


Beosin KYT/AML追踪发现ETH链上盗币资金简图如下:


图5 Beosin KYT追踪的盗币资金流向简图

首先黑客通过一批地址来调用被攻击合约以利用漏洞,使用共计20个地址。


这20个地址的手续费均来自地址0x0dfeb429166e629204aca66467484cd88cb9701c,该地址手续费通过Fixedfloat转入。


黑客调用过Poly Network合约中的LOCK,将资金锁定后,再调用UnlockEvent和verifyHeaderAndExecuteTx两个函数,来对项目方实施攻击,案例如下:

 
图6盗币哈希调取函数记录
可以看到在UnlockEvent中,变量toAddress已变成了黑客归集地址,并且amount也被修改为被盗取资金数量 (此处为1,592.51818168432 ETH)。

 
图7盗币交易输入信息记录

从这里可以看到输入数据中Proof一项中已被替换为包含黑客归集地址的内容。

涉案黑客地址手续费部分主要从四个渠道获得:


1、通过Tronado.cash转入ETH

2、通过Bybit交易所转入ETH

3、通过KuCoin交易所转入ETH

4、通过 FixedFloat交易所转入ETH

5、使用被盗取的ETH


黑客从2023年7月1日开始攻击,截止到目前,仅通过DeFi交易所将部分虚拟货币换成ETH,以及将ETH和部分其他虚拟货币转移到其他沉淀地址中,暂未对被盗资金进行销赃处理,但已准备好了交易所需手续费,在确认安全后会立刻对沉淀地址资金进行转移。


BSC链


BSC链盗币路径与ETH盗币路径类似,黑客继续使用了一部分相同的地址来进行盗币操作,并利用合约漏洞将虚拟货币转移至黑客归集地址。


图8   Beosin KYT/AML追踪的盗币资金流向简图
首先黑客通过一批地址来调用被攻击合约以利用漏洞,使用超过30个地址。


这些地址的手续费均来自地址0x1634Bf68e6b3Bb8D79388EfB3d1A5215506FBbEd,该地址手续费通过Kucoin和ChangeNow平台转入。


而后通过借助同样的漏洞攻击合约,并将被盗资金转入归集地址中,随后部分资金转入多个沉淀地址。

Polygon链


Polygon链盗币路径与上述两条链路盗币路径类似,黑客继续使用了一部分相同的地址来进行盗币操作,并利用合约漏洞将虚拟货币转移至黑客归集地址。

图9   Beosin KYT/AML追踪的盗币资金流向简图
首先黑客通过一批地址来调用被攻击合约以利用漏洞,Polygon链只使用了一个地址0x09F92eDce2E46C399BFE7881a7619598AF8436d5,手续费通过Fixedfloat转入。

而后通过借助同样的漏洞攻击合约,并将被盗资金转入归集地址中,随后部分资金转入多个沉淀地址。

目前,Beosin安全团队正在和Poly Network官方一起应对本次安全事件,有最新进展将第一时间分享大家。

Beosin作为一家全球领先的区块链安全公司,在全球10多个国家和地区设立了分部,业务涵盖项目上线前的代码安全审计、项目运行时的安全风险监控、预警与阻断、虚拟货币被盗资产追回、安全合规KYT/AML等“一站式”区块链安全产品+服务,目前已为全球3000多个区块链企业提供安全技术服务,审计智能合约超过3000份,同时,Beosin也提供上币项目的安全评估以及提供符合各地监管要求的合规评估、VaaS自动化上币审计服务、交易所渗透服务、交易所安全建设咨询服务等安全解决方案。欢迎点击公众号留言框,与我们联系。


 近期热点文章阅读:

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存