环环相扣 —— Gnosis Safe Multisig 用户被黑分析

区块链安全 3年前 (2021) admin
835 0 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


攻击步骤


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


第一步:攻击者先是在 9 天前部署了恶意 MultiSendCall,并且验证了合约代码让这个攻击合约看起来像之前真正的 MultiSendCall。


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


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


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


由于攻击者获取的签名数据是正确的,所以通过了验证多签的阶段,之后就开始执⾏了攻击合约的 multiSend 函数。


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


这时候通过查看攻击合约我们发现此处的修饰器 Payable 有赋值的情况存在。这时候我们通过对源码的反编译发现:


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


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


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


当这笔交易执⾏完毕时 Proxy 的 storage[0x00] 已经变成0x020014b037686d9ab0e7379809afae029d38b76a330a1bdee84f6e03a4979359


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


我们分析了受攻击的合约的交易记录后,发现该攻击者⾮常狡猾。


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


攻击者为了避免被发现,在攻击合约中的逻辑中还实现了保证⽤户依然能正常使⽤相关的功能。


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


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


MistTrack 分析


经 MistTrack 反洗钱追踪系统分析发现,攻击者地址 1 在 11 ⽉ 23 号开始筹备,使⽤混币平台 Tornado.Cash 获得初始资⾦ 0.9384 ETH,在⼏分钟后部署了合约,然后将 0.8449 ETH 转到了攻击者地址 2。


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


攻击成功后,攻击者地址 2 通过 Uniswap、Sushiswap 将获利的 HBT、DAI 等代币兑换为 ETH,最后将 56.2 ETH 转到混币平台 Tornado Cash 以躲避追踪。


环环相扣 —— Gnosis Safe Multisig 用户被黑分析


总结


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


经过分析本次的事件,⼤概率是⿊客团队针对 Gnosis Safe Multi-sig 应⽤的⽤户进⾏的钓⻥攻击, 0x34cfac64 这个正常的逻辑合约是 Gnosis Safe 官⽅的地址,攻击者将这个地址硬编码在恶意合约中,所以这⼀系列的操作是适⽤于攻击所有 Gnosis Safe Multi-sig 应⽤的⽤户。此次攻击可能还有其他受害者。慢雾安全团队建议在访问 Gnosis Safe Multisig 应⽤的时候要确保是官⽅的⽹站,并且在调⽤之前要仔细检查调⽤的内容,及早的识别出钓⻥⽹站和恶意的交易数据。


往期回顾

千万美元被盗 —— DeFi 平台 MonoX Finance 被黑分析

(更新)老调重弹 —— “通缩型代币” 兼容性问题

慢雾:假钱包 App 已致上万人被盗,损失高达十三亿美元

慢雾科技受中国人民公安大学邀请进行区块链安全攻防授课

慢雾 AML:“揭开” Tornado.Cash 的匿名面纱

环环相扣 —— Gnosis Safe Multisig 用户被黑分析

慢雾导航


慢雾科技官网

https://www.slowmist.com/


慢雾区官网

https://slowmist.io/


慢雾 GitHub

https://github.com/slowmist


Telegram

https://t.me/slowmistteam


Twitter

https://twitter.com/@slowmist_team


Medium

https://medium.com/@slowmist


币乎

https://bihu.com/people/586104


知识星球

https://t.zsxq.com/Q3zNvvF


火星号

http://t.cn/AiRkv4Gz


链闻号

https://www.chainnews.com/u/958260692213.htm

原文始发于微信公众号(慢雾科技):环环相扣 —— Gnosis Safe Multisig 用户被黑分析

版权声明:admin 发表于 2021年12月3日 上午11:12。
转载请注明:环环相扣 —— Gnosis Safe Multisig 用户被黑分析 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...