钱包被盗的完整经历复盘

前言

哈喽,大家好,我是大咪,目前玩 NFT 大概有快 10 个月了,第一次遇到了区块链的黑暗时刻,好在,由于提前有钱包资产隔离的概念,这次损失非常少,但这次的经历,确实让我学到了很多。

作为一个开发者,没想到,也会被区块链的钓鱼手法骗到,从去年入圈开始,就一直非常注重区块链的钱包安全问题,基本上把余弦大大和慢雾团队相关的开源文章都看了一遍,但这次,依然还是中招了。

强烈推荐慢雾团队出品的《区块链黑暗森林自救手册》

这次,恰好是中招了【人性安全-来自“官方”的钓鱼】!

希望本次复盘能对一些没有经历过的朋友有所帮助,有所启发,下面正式开始。

本篇内容会从开始被骗的逐一过程写起,每个步骤,我都写了后续复盘的心得,心得也就是后来觉得不对劲,补充上去的区块链知识点或者一些需要注意的地方,这样也便于阅读。

下面跟随笔者的步伐,来看一看钱包是怎么被骗的。。。

事情发生在 2023年01月25日 。早上爬起来,日常刷刷 dc 的信息,结果刷到 dudu 的 dc 时,发现一则公告,如下(打码一下,保护下 MOD):

公告大意如下:因为是新年,所以要给 dudu 的 holder 们空投新年日历。但是,是先到先得,一共就 100 个名额。

注意,这里由于早上起来头脑还在懵逼的状态,黑客利用了“限额,先到先得”的心理,发出了这样的公告,让人没有空余的时间去思考。

因为看到时间是凌晨 4:00 多发的,我起床看到这条消息是 6:30 多,心想着,2个小时,快点去领应该还能领到,这时丝毫没有意识到这个是黑客的假链接。

复盘心得:

有了这次经历,下次发公告的时候,一定要注意,先看看域名眼熟不眼熟,如果是不眼熟的官方域名,需要注意,当然大部分第一次经历的,可能还是不会意识到这点。

进站过程

黑客的网址是:https://dudulunar.com/大家有NFT和金钱资产的钱包,就不要轻易尝试访问了

长这样:

看到背景是 dudu ,也没有多想,全站就一个红色的 claim 按钮,和 dc 发的公告又很贴近,于是也没有多想,点!

弹出的钱包界面也很熟悉,是平时 mint 的常用组件:

到这步为止,一切正常。

复盘心得:

基于对临时活动的前提下,或者发现新活动的网站域名长得像官方域名的情况下,可以优先留个心眼,在浏览器上,先按下 F12 (打开浏览器开发者模式),然后查看如下图操作,点【sources】,找到类似 index 这样的 html 页面,如果在开头有这【mirrored .... by HTTrack Website】的字眼,就要注意了,因为这是一款复制已有的网站免费开源软件https://www.httrack.com/,经常被黑客用于复制钓鱼网站来使用,下图所示:

如果是有上图这样的,大概率是钓鱼网站了,也不用做什么后续操作了,直接关闭就好了。不要着急操作,不要 FOMO ,不要贪图小便宜的心理,静待官方后续公告就好了。

回到我后续的操作流程。奇怪的是,点击红色按钮之后,反应并没有那么迅速,于是又点了一遍,过了一阵,小狐狸弹出来一个 opensea 的提示框让签名,大概是下面这样的:

因为是 os 的协议签名,直接让我放松了警惕,想都没想,也没细看,直接拉到最底下,点了 sign ,就签名了。

复盘心得:这步就已经很离谱了,切记,不要相信任何第三方网站的“官方”签名,正是因为有 opensea 做了信任背书,我才会选择信任签名,因为这个操作,metamask是不会给你提示危险签名的,它就是由黑客的网站用技术手段调用到了 opensea 上挂单的动作,触发了小狐狸钱包签名的动作。以后除了 opensea 上触发的签名,其他网站发出的签名动作,一定要三思而后行!

签名和授权是两个概念,签名更像是你在做认证,让程序知道是你,对于结果而言,只有是或者不是。而授权则是你将权限授权给谁,你授权给 opensea,那么 opensea 就能操作你的钱包 NFT 资产。签名不需要花钱,授权一般是和合约交互,所以需要上链,要花 gas 费用。

除此之外,可以看下 opensea 上专门写了一篇关于 seaport 前面请求长什么样子::https://support.opensea.io/hc/zh-cn/articles/4449355421075-%E9%94%AE%E5%85%A5%E7%9A%84%E7%AD%BE%E5%90%8D%E8%AF%B7%E6%B1%82%E6%98%AF%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84-

这里,强烈推荐,陈剑大佬2022年写过的一篇文章,很早之前就有这样的套路了,奈何我没有看到:

实际上背后的原理,就是利用了跨站,调用 opensea 的挂单方法,导致黑客可以 0 元直接转移你的资产。

签名完成后,突然崩出来一个让我授权 NFT 的操作,类似下图,只不过,当时显示的NFT是 【megami】,而不是【pop fighter】:

我此时意识到情况不对了,快速选择了拒绝。

然后接下来,更离谱的弹出来一个资产转移的链上动作,此时才清醒过来,这是上了钓鱼网站了,可以看到即使我点了,小狐狸依然没有提示危险,因为这是一个正常的和链上合约交互的动作:

点击红框的地址蓝字,我们直接复制下来,去 etherscan 上看看(https://etherscan.io/address/0xd13b093eafa3878de27183388fea7d0d2b0abf9e),左上角已经提示了,是有风险的,钓鱼黑客合约地址:

我们进合约看看,可以看到这个方法,就是一个很简单的支付方法,里面啥也没有,意味着,黑客网站通过链接你的钱包,读取了你的钱包所有资产,对这个合约的方法【SecurityUpdate】发起了请求,由于它是 payable 修饰的,相当于是可以直接接受资产:

用人话说,你的资产,全部进了这么一个简单的钓鱼合约,由前端页面发起支付,转账到它的合约地址里,然后他留了一个提现的方法,只能是部署这个合约的人操作。

我们用慢雾团队出的 mistrack 可以追踪一下:https://dashboard.misttrack.io/address/ETH/0xd13b093EAfA3878De27183388Fea7D0D2B0AbF9E

迄今为止,一共收到过 840+ ETH(太尼玛赚钱了。。。)

跳到中国时区,我们看看链上的作案时间,如下图,凌晨居多一些:

还有一个地址转账的图形,我就不放了,大家有兴趣可以自己去网站看看。

回到 NFT 正题,如果你看完了陈剑大佬那篇文章(https://jason.mirror.xyz/9z9cPEU6mLHf0vvvimEFXAcc1J7GCzbomft09XhNIWU),你应该知道,我最后的结果还是被盗走了一个 MEGAMI。因为当时手里只有 MEGAMI 在挂着单,其余只要没有授权挂单过的 NFT ,都平安无事。

来看看链上的数据吧:

上 etherscan,搜自己的钱包,然后点击到 721 这块看转移记录:

能看到详情:

由钓鱼网站钱包地址(https://etherscan.io/address/0x69420e2b4ef22d935a4e2c194bbf3a2f02f27be1):

但凡是 match orders 方法,基本上都是和我中了一样的套路,不论是哪个网站进去的,最终都是利用了 os 订单匹配的原则,比如下面这笔,损失惨重,不仅被顺走了 NFT ,还有 WETH 也被

顺走了:

对于黑客盗取 NFT 来说,他们的资金归集采用的是不同的钱包地址,比如上面这笔交易,和我被盗的交易就不是一个钱包。

总结一句话:钓鱼网站诱导你完成了对 OpenSea 挂单,并且发起了撮合(matchOrders)的签名上链操作。

注意:这里有个不能意料的风险,就是黑客通过网站让你签名,而你不知道签名是否离线保存了,中招了,还是新换个钱包吧,以防万一。

幸运的是,我这个钱包里,只有一个处于正在挂单的,其余的 NFT 都还安好,而 dudu 这次处理最终处理结果是愿意赔偿,因为是由公告发起的,而不是聊天频道。这波还是很欣慰的,格局拉起来了~

这里也要说下对于项目方的 discord 建议,黑客手段频繁发生,很多都是社工手法,而突破点往往都是 dc 管理员的身上, dc 作为社群沉淀入口的,一定要控制好权限问题,必要时,可以缩权来达到防范作用,因为拥有大权限的人越少,黑客入侵的概率相对也要低。

安全措施防护

1. 一个误区

自欺欺人的操作,以为从小狐狸钱包断开网站的链接,就安全了,大错特错。

其实,你仔细看看小狐狸的提示,我们平时链接网站,仅仅是他们能读取到你的地址以及资产而已。这步本身就和链上交互没有太大的相关性,如果拿到了你的私钥或者签名,就算不链接你的钱包,也可以直接操作你的资产。

2. 推荐一个钱包插件

官网:https://www.pocketuniverse.app/

chrome:https://chrome.google.com/webstore/detail/pocket-universe/gacgndbocaddlemdiaadajmlggabdeod?hl=zh-CN

签名前,会先额外提示资产相关风险:

3. 定期取消授权

取消 NFT 授权,目前有两种常用的方式,一个是通过 etherscan ,一个是通过 revoke。

网址:https://etherscan.io/tokenapprovalchecker

网址:https://revoke.cash/

4. 资产隔离

资产重要的钱包可以采用硬件钱包,可以将自己的钱包分为几层钱包组,比如重要蓝筹 nft ,用硬件钱包隔离,平时不常操作。

中等高频交易的 nft 单独采用 metamask 。

冲土狗的小额资金,也可以单独新建钱包来使用。

0元购陷阱的相关文章推荐

陈剑大佬:

PANews:https://www.panewslab.com/zh/sqarticledetails/uzkkjx4i.html

慢雾团队:https://www.panewslab.com/zh/articledetails/e5oufrll.html

余弦老板:https://twitter.com/evilcos/status/1590289321046990849

好了,以上就是本次被盗的全部复盘,作为一个开发者都没有意识到自己一步步落入黑客的手中,直到看到 setApprove 才意识到自己危险了。更何况,没有编程基础同学的意识。。区块链的安全依然是有门槛的,大家一定要不断学习,不断进步,才能存活下来。

希望这篇内容可以对大家有所帮助,也欢迎随时来推特 @dami 与我交流。

Subscribe to dami.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.