2021-08-13 19:29 | 出处: 慢雾区
2021 年 08 月 12 日,据慢雾区消息,加密孵化机构 DAO Maker 疑似遭受黑客攻击,导致合约大量 USDC 被转出。慢雾安全团队第一时间介入分析,并将分析结果分享如下。
在本次攻击中,攻击者部署并开源了一个攻击合约 (0 x1c) 用于快速批量的从 DAO Maker 受害合约 (0 x41) 中窃取资金。
攻击者地址 1 :
0 xd8428836ed2a36bd67cd5b157b50813b30208f50
攻击者地址 2 :
0 xef9427bf15783fb8e6885f9b5f5da1fba66ef931
攻击合约 :
0 x1c93290202424902a5e708b95f4ba23a3f2f3cee
DAO Maker 受害合约 :
0 x41B856701BB8c24CEcE2Af10651BfAfEbb57cf49
DAO Maker 受害合约 deployer :0 x054e71D5f096a0761dba7dBe5cEC5E2Bf898971c
DAO Maker 受害合约 admin :0 x0eba461d9829c4e464a68d4857350476cfb6f559
本次攻击与往常攻击不同的是:DAO Maker 受害合约 (0 x41) 未开源,而攻击合约 (0 x1c) 却开源了。
1. 黑客调用攻击合约 (0 x1c) 的 h 函数,h 函数会循环调用 f 函数,f 函数通过 DAO Maker 受害合约的 0 x4b4f892a 函数获取普通用户在受害合约 (0 x41) 中的 USDC 存款数量。
2. 函数 h 接着调用 DAO Maker 受害合约 (0 x41) 的 withdrawFromUser(0 x50b158e4) 函数,传入用户存款的用户地址、USDC 地址与需要提款的数量。
3. 随后 DAO Maker 受害合约 (0 x41) 将合约中的 USDC 转移至攻击合约中 (0 x1c)。
通过链上分析我们可以清楚的看到:
1. 受害合约部署者 (0 x05) 在部署受害合约 (0 x41) 后于 UTC 4 月 12 日 08:33:45 将 0 x0eba461d9829c4e464a68d4857350476cfb6f559 地址设置为了管理员角色:
Tx Hash :
Tx Hash :
Tx Hash :
本次攻击可能源于 DAO Maker 受害合约的管理员私钥泄漏。攻击者窃取私钥后将受害合约的 DAO 合约替换为了攻击合约,攻击者通过替换后的合约转走了合约中的用户资金。而由于合约部署者在设置完合约管理员后就放弃的合约管理权限,因此目前项目方可能还无法有效的取回合约控制权。