复制成功

分享至

主页 > 数字货币 >

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

2023.12.18

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

SharkTeam 对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。

一、攻击事件分析

OKX: Dex Aggregator 合约:0x 70 cbb 871 e 8 f 30 fc 8 ce 23609 e 9 e 0 ea 87 b 6 b 222 f 58 

UpgradeableProxy 合约:0x55b35bf627944396f9950dd6bddadb5218110c76

Proxy Admin Owner: 0xc82Ea2afE1Fd1D61C4A12f5CeB3D7000f564F5C6

Proxy Admin 合约:0x3c18F8554362c3F07Dc5476C3bBeB9Fdd6F6a500

攻击发起者地址:0xFacf375Af906f55453537ca31fFA99053A010239

资金流向地址 1 :0x1f14e38666cdd8e8975f9acc09e24e9a28fbc42d

资金流向地址 2 :0x0519eFACB73A1f10b8198871E58D68864e78B8A5

恶意 ProxyMain 合约 1 :0x5c4794d9f34fb74903cfafb3cff6e4054b90c167

恶意 ProxyMain 合约 2 :0xF36C407F3C467e9364Ac1b2486aA199751BA177D

恶意 Proxy 合约创建者:0x5A58D1a81c73Dc5f1d56bA41e413Ee5288c65d7F

其中一笔漏洞利用交易:0x570cf199a84ab93b33e968849c346eb2b761db24b737d44536d1bcb010bca69d

攻击流程:

1.2023 年 12 月 12 日 22: 20: 35 ,EOA(0x 5 A 58 D 1 a 8)创建了 ProxyMain 合约(0x 5 c 4794 d 9);

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

2.2023 年 12 月 12 日 22: 23: 47 ,Proxy Admin Owner(0xc82Ea2af)通过 Proxy Admin(0x3c18F855)将 DEXProxy 合约升级为新的执行合约(0x5c4794d9);

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

3.2023 年 12 月 12 日 23: 52: 47 ,EOA(0x5A58D1a8)创建了 ProxyMain 合约(0xF36C407F);

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

4.2023 年 12 月 12 日 23: 53: 59 ,Proxy Admin Owner(0xc82Ea2af)通过 Proxy Admin(0x3c18F855)将 DEXProxy 合约升级为新的执行合约(0xF36C407F);

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

5.这两次升级合约的目的相同,新合约的功能是调用 TokenApprove 合约的 claimTokens 函数来完成转账。

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

二、攻击原理分析

1.在执行合约 ProxyMain 时,首先限制该合约的调用者必须是攻击者地址(0xFacf375A),然后执行 Dex Aggregator 合约的 claimTokens 函数;

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

2.在 Dex Aggregator 合约的 claimTokens 函数中,由于该合约尚未在 Etherscan 上开源,我们通过反编译获得了其源代码。从代码片段中可以看出,claimTokens 函数会验证代理是否可信。一旦验证通过,它将调用 OKX DEX: TokenApprove 函数;

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

3.在 OKX DEX: TokenApprove 函数中,正常检测调用者是否是可信 Proxy。与先前的可信 Proxy 验证相同,只要是可信 Proxy 并且用户已经授权 TokenApprove,攻击者就能够窃取被授权用户的资金。

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

三、链上资产追踪

攻击和资产转移主要聚焦在如下 3 个地址:

攻击地址:0xFacf375Af906f55453537ca31fFA99053A010239 (OKX Exploiter);

收款地址:0x1F14E38666cDd8e8975f9acC09e24E9a28fbC42d (OKX Exploiter 2);

收款地址:0x0519eFACB73A1f10b8198871E58D68864e78B8A5 (OKX Exploiter 3)。

在这次攻击中,攻击地址只负责不断调用 TokenApprove 合约的 claimTokens 函数来发起转账,通过两个收款地址完成收款。

1.攻击地址 :0xFacf375Af906f55453537ca31fFA99053A010239 (OKX Exploiter)在发起攻击前的历史交易:

Inflow:

SharkTeam:OKX DEX攻击事件分析及链上资产追踪

Outflow:

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier