8月12日,根据DAO Maker电报群用户反馈,该项目疑似遭到黑客攻击,价值700万美元的USDC被黑客提取至未知地址。团队经过分析后,发现该事件的起因是私钥泄露或者内部人士所为。
通过我们的交易分析系统(https://tx.blocksecteam.com)我们发现,攻击的过程非常简单。攻击交易的hash是:
0x26aa86261c834e837f6be93b2d589724ed5ae644bc8f4b8af2207e6bd70828f9
涉及到的地址:
0x41b856701bb8c24cece2af10651bfafebb57cf49: 受害者钱包
ApeCoin DAO社区已否决设立100万美元漏洞赏金的提案:金色财经报道,ApeCoin DAO社区通过投票否决了设立100万美元(或450万枚APE)漏洞赏金的提案,该投票已于昨日结束,反对率为56.69%。
此前消息,ApeCoin DAO已发起新提案AIP-155投票,投票将于美国东部时间1月13日晚9点开启,并于1月18日结束。发起方为BAYC成员及Snag Solution创始人Zheerwagen。据悉,新提案拟设立100万美元(或450万枚APE)Bug赏金计划,以支持并推动社区范围内寻找漏洞,提升生态和APE持有者安全。[2023/1/20 11:23:07]
0x1c93290202424902a5e708b95f4ba23a3f2f3cee: XXX,攻击者合约
OceanDao于04-1601:40:00销毁ODT总量的90%:据官方消息,OceanDao于北京时间2021-04-1601:40:00销毁ODT总量的90%,立即打入黑洞地址.销毁之后,ODT总量将降至1亿枚,当前流通量约148万枚.同时ODT也将开启第二阶段的历程,在未来两周之内上线DAO池,重大事项均须由全体社区成员投票决定,ODT的每一位支持者都拥将有决定ODT未来发展的权利.
ODT销毁信息见链接。[2021/4/16 20:26:12]
0x0eba461d9829c4e464a68d4857350476cfb6f559:中间人
OrigoDAO已将其生态系统和基金会储备的ERC-20主网OGO代币全部销毁:7月2日,隐私项目Origo.Network官方发文称,OrigoDAO已将其生态系统和基金会储备的ERC-20主网OGO代币全部销毁。
此前报道,Origo计划向去中心化自治转移,基金会将不持有非团队持有的OGO代币私钥。(Medium)[2020/7/2]
0x054e71d5f096a0761dba7dbe5cec5e2bf898971c:受害合约创建者(也是攻击者)
动态 | MakerDAO修补相关安全漏洞 并奖励研究人员5万美元:据The Next Web今日消息,在以太坊上运行的去中心化组织MakerDAO披露了一个安全漏洞,该漏洞可允许攻击者仅通过一笔交易就盗取了为其Dai系统提供支持的所有抵押品。这个bug如果被利用,将导致所有持有Dai的用户资金完全遭受损失,并可能导致整个MakerDAO生态系统崩溃。不过据悉,该错误最初于8月29日提交审查。七天前,MakerDAO开发人员宣布已修补代码,并为研究人员奖励50,000美元。[2019/10/4]
攻击者XXX (0x1c93290202424902a5e708b95f4ba23a3f2f3cee)调用受害者钱包合约(0x41b856701bb8c24cece2af10651bfafebb57cf49)的函数查询用户余额,然后调用withdrawFromUser将钱转到自己的账户。攻击完成。由于转账的操作是一个特权操作,因此通常需要对调用者的身份做校验。我们通过分析发现,攻击者确实具有相应的权限来将受害者钱包中的余额转出。
这里的问题就变成为什么攻击者能具有相应的权限?通过进一步分析我们发现另外一笔交易。这一笔交易将攻击者赋予具有转账的权限。交易trace如下:
0x2fba930502d27f9c9a2f2b9337a0149534dda7527029645752b2a6507ca6b0d6
0x0eba461d9829c4e464a68d4857350476cfb6f559调用受害者合约的grantRole函数将攻击者0x1c93赋予具有转账的权限。但是能调用grantRole赋予其他账户权限,那么0x0eba4必须具有admin的权限。那么他的admin权限是谁授予的呢?
继续追踪,我们发现它的admin权限是由另外一笔交易完成的。
0x054e71d5f096a0761dba7dbe5cec5e2bf898971c账户将0x0eba461d9829c4e464a68d4857350476cfb6f559账户设置成受害合约的admin。
然而我们发现,受害合约是由0x054e71d5f096a0761dba7dbe5cec5e2bf898971c创建的。
总结一下,整个的流程是:
那问题就来了,为什么部署受害者合约的0x054e最后间接赋予了攻击者能转账的特殊权限呢?这里有两个可能性。第一个0x054e是内鬼,第二个就是私钥泄露。
另外一个有趣的点就是攻击者的合约是开源的,代码简单易懂,可以作为学习合约开发的启蒙教程。
但是受害者的合约代码是不开源的。这有点匪夷所思。不开源的钱包也有人敢用?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。