×

环环相扣 —— Gnosis Safe Multisig 用户被黑剖析_比特派钱包

admin admin 发表于2021-12-04 03:31:51 浏览268 评论0

抢沙发发表评论

By:Victory@慢雾安全团队

2021 年 12 ⽉ 3 ⽇,据慢雾区情报,⼀位 Gnosis Safe ⽤户遭受了严峻且杂乱的⽹络钓⻥进犯。慢雾安全团队现将扼要剖析成果共享如下。

相关信息

进犯者地址 1:

0x62a51ad133ca4a0f1591db5ae8c04851a9a4bf65

进犯者地址 2:

0x26a76f4fe7a21160274d060acb209f515f35429c

歹意逻辑完成合约 ETH 地址:

0x09afae029d38b76a330a1bdee84f6e03a4979359

歹意合约 ETH 地址 MultiSendCallOnly 合约:

0x3cb0652856d7eabe51f1e3cceda99c93b05d7cea

受进犯的署理合约地址:

0xc97f82c80df57c34e84491c0eda050ba924d7429

逻辑合约地址:

0x34cfac646f301356faa8b21e94227e3583fe3f5f

MultiSendCall 合约 ETH 地址:

0x40a2accbd92bca938b02010e17a5b8929b49130d

进犯买卖:

https://etherscan.io/tx/0x71c2d6d96a3fae4be39d9e571a2678d909b83ca97249140ce7027092aa77c74e

进犯过程

第一步:进犯者先是在 9 天前布置了歹意 MultiSendCall,而且验证了合约代码让这个进犯合约看起来像之前真实的 MultiSendCall。

第二步:进犯者通过钓⻥⼿段结构了⼀个指向歹意地址 calldata 数据让⽤户进⾏签名。calldata ⾥⾯正确的 to 地址应该是 0x40a2accbd92bca938b02010e17a5b8929b49130d,现在被更改成了歹意合约 ETH 地址 MultiSendCallOnly 合约 0x3cb0652856d7eabe51f1e3cceda99c93b05d7cea。

因为进犯者获取的签名数据是正确的,所以通过了验证多签的阶段,之后就开端执⾏了进犯合约的 multiSend 函数

这时分通过检查进犯合约咱们发现此处的润饰器 Payable 有赋值的状况存在。这时分咱们通过对源码的反编译发现:

当 payment.version < VERSION 这个条件触发的时分每次调⽤的时分都会对 storage[0x00] 进⾏从头赋值。这个 storage[0x00] 是不是特别眼熟?没错咱们来看下 Proxy 合约。

当这笔买卖执⾏结束时 Proxy 的 storage[0x00] 现已变成0x020014b037686d9ab0e7379809afae029d38b76a330a1bdee84f6e03a4979359

因为 Proxy 合约执⾏的逻辑合约地址 masterCopy 是从 storage[0x00] 读取的,所以 Proxy 指向的逻辑合约会被进犯者更改为进犯合约。后续进犯者只需等候⽤户把⾜够的代币放⼊此合约,之后结构转账函数把钱取⾛即可。

咱们剖析了受进犯的合约的买卖记载后,发现该进犯者⾮常奸刁。

进犯者为了防止被发现,在进犯合约中的逻辑中还完成了保证⽤户仍然能正常使⽤相关的功用。

反编译进犯者的逻辑合约发现,在进犯合约的逻辑保证了进犯者动⼿前⽤户都可以正常使⽤多签功用。只有当进犯者⾃⼰调⽤的时分才会绕过验证直接把⽤户的钱取⾛。

MistTrack 剖析

经 MistTrack 反洗钱追寻系统剖析发现,进犯者地址 1 在 11 ⽉ 23 号开端准备,使⽤混币渠道 Tornado.Cash 取得初始资⾦ 0.9384 ETH,在⼏分钟后布置了合约,然后将 0.8449 ETH 转到了进犯者地址 2。

进犯成功后,进犯者地址 2 通过 Uniswap、Sushiswap 将获利的 HBT、DAI 等代币兑换为 ETH,最终将 56.2 ETH 转到混币渠道 Tornado Cash 以逃避追寻。

总结

本次进犯先是使⽤了钓⻥⼿段获取了⽤户的⼀次完好的多签数据,在利⽤了 delegatecall 调⽤外部合约的时分,假如外部合约有对数据进⾏更改的操作的话,会使⽤外部合约中变量存储地点对应的 slot 方位指历来影响当时合约同⼀个 slot 的数据。通过进犯合约把署理合约指向的逻辑指向⾃⼰的进犯合约。这样就可以随时绕过多签把合约的钱随时转⾛。

通过剖析本次的事情,⼤概率是⿊客团队针对 Gnosis Safe Multi-sig 应⽤的⽤户进⾏的钓⻥进犯, 0x34cfac64 这个正常的逻辑合约是 Gnosis Safe 官⽅的地址,进犯者将这个地址硬编码在歹意合约中,所以这⼀系列的操作是适⽤于进犯一切 Gnosis Safe Multi-sig 应⽤的⽤户。此次进犯或许还有其他受害者。慢雾安全团队主张在拜访 Gnosis Safe Multisig 应⽤的时分要保证是官⽅的⽹站,而且在调⽤之前要仔细检查调⽤的内容,及早的识别出钓⻥⽹站和歹意的买卖数据。

Web3.0是下一代互联网?还是马斯克口中的「胡说八道」

Web 3.0 是更加以用户为中心、专注于使事情更加人性化的、透明的、安全的互联网。