# Mimic Shhans 钓鱼网站分析

By [issmall](https://paragraph.com/@icatsay) · 2022-07-15

---

Mimic Shhans 相关链接：

*   网站：[mimicshhans.com](http://mimicshhans.com)
    
*   Twitter：[@MimicShhans](https://twitter.com/MimicShhans)
    
*   OpenSea：[Mimic Shhans](https://opensea.io/collection/mimicshhans)
    

所谓“人红是非多”，最近爆火的 Mimic Shhans 被人盯上了，注册了假的 Twitter 账号和假网站：

![](https://storage.googleapis.com/papyrus_images/969ea79b40e03f0a19c9b2fd6479b5e38e94990732464da4f0aca787e0064f2a.png)

![](https://storage.googleapis.com/papyrus_images/0f333ef2fa9c923dd50611eb92f0e89aca7cedb516e9beb1c3530878d81d0417.png)

更离谱的是，假 Twitter 账号粉丝比真的还多，更更离谱的是，根据 TwitterAudit 数据显示，[假 Twitter 账号](https://twitteraudit.com/mimicshans)粉丝还全真：

![](https://storage.googleapis.com/papyrus_images/b3597363f36fab097575e740ba521de767c3bd783e31f1b795430c3088a0a74f.png)

[官方账号](https://twitteraudit.com/mimicshhans)下还有 57 个粉丝被标为假用户呢，我真的是拴Q。。。

其实这个假 Twitter 账号出现也有几天了，当时一直以为就是推广一下假的 OpenSea 项目，平时我也就没事儿的时候举报一下，没怎么当回事儿。今天看群里说这个账号还活着，我就好奇进去看了看，看完之后直呼好家伙。。。

首先，假 Twitter 账号置顶了一篇推文：

![](https://storage.googleapis.com/papyrus_images/264e618401a9882fd8ee927ddc538772c03af3ca8f2b1667cb3bc874f983cb55.png)

推文里的 LinkTree 链接也自然不会是真的，点进去可以看到两个链接：

![](https://storage.googleapis.com/papyrus_images/ccf265df27b6cb1ac6414731c011724fabaa181308f53ac7bb3f8da71d8049ce.png)

毕竟我是从 Twitter 里点进来的，自然也不会对 Twitter 的链接感兴趣，于是我继续看 Website，打开了 “mimicshhans.club”，也就是我上面截图的网站。

网站有个黄色的 “Connect Wallet” 的按钮，我也想看看能整出多大浪花，然后就连接了钱包，只支持小狐狸 MetaMask，连接之后按钮会变成 “MINT 1 FREE”，要知道 Mimic Shhans 好几天之前就已经被 Mint 完了，这里能 Mint 什么呢？

我开始翻网页源码，并在里面寻找 JS 相关的链接，最终发现一个可能的目标：

![](https://storage.googleapis.com/papyrus_images/6aee7474cb90257bce11c4cc24cd528806807c71c7ce21bbaafce008fddc2933.png)

网页第 10051 行有个名叫 “sendermimic.js” 的脚本文件被加载，文件没多少行，整体看了一遍，大致可以将功能概述为：按照用户各个 ERC-721 NFT 资产价值大小依次授权给某个地址（[0x3da336601dF9DCCb0203f57922C919649A8981d8](https://etherscan.io/address/0x3da336601dF9DCCb0203f57922C919649A8981d8)），这就好比给黑客配了把家门钥匙。之后黑客会使用该地址会调用合约将用户的 NFT 转走。

关键代码分析如下：

程序通过 OpenSea API 查询用户持仓项目信息，并通过持仓数量（owned\_asset\_count）\* 当日均价（one\_day\_average\_price）计算用户资产价值，并根据资产价值进行排序：

![](https://storage.googleapis.com/papyrus_images/11b481898230d27d5b74ed8bba00764349a32d051cb366cf4825fa126dd0029d.png)

之后，程序会依次调用 NFT 合约的 setApprovalForAll 函数，授权地址 0x3da336601dF9DCCb0203f57922C919649A8981d8 可以操作用户的 NFT：

![](https://storage.googleapis.com/papyrus_images/04811c5501874d8b504c902c4404a9fc5f9b58d685816ccb6cc869c0841681e9.png)

这个过程中，每次调用合约都需要用户签名一笔交易：

![](https://storage.googleapis.com/papyrus_images/69c38f68bb43a58707da456339635a268df5eb0113d29a4201e0b123af53ef00.png)

setApprovalForAll 函数接收两个参数：操作人、是否授权；从图中可以看出，第一个参数的值是黑客地址，第二个参数是 1 （true）。

如果用户签名了该交易，黑客就可以调用合约将用户的 NFT 转走：

![](https://storage.googleapis.com/papyrus_images/18ddbde2de1640c7f1363247e8a2e665c892d9e2a0ca7689f79efb37f0db6394.png)

如果这个过程中用户有所察觉，反正最贵的都已经转走了。。。

然后我查了下[黑客地址](https://etherscan.io/address/0x3da336601dF9DCCb0203f57922C919649A8981d8)：

![](https://storage.googleapis.com/papyrus_images/62f57497159590e3c7f3fadbd0585b2d2888dee58b337fc53960a93f662805a5.png)

相关交易有 536 条，其中第一页大部分都是在转 NFT，于是我通过 Dune.xyz 构造查询，确定了一下[受害者信息](https://dune.com/queries/1043630/1799636)：

![](https://storage.googleapis.com/papyrus_images/87a9c16745628e4f87fa6b446fb95d916323bf30c2aeb7fae1993c3cc2a36297.png)

从图中可以看到，共有 424 个 NFT 被盗，其中，第一笔被盗的时间是 2022-05-17，而 Mimic Shhans 真正开始火的时间是 6月26日，也就是说该黑客并不仅仅针对 Mimic Shhans，还有其他项目也存在被钓鱼的风险。

另外，**需要提示的是，由于是对黑客地址进行授权，而不仅仅是将 NFT 转给黑客，所以，如果后面没有解除授权的话，使用被盗的地址再买入这些系列的 NFT 还是会被盗。这就好比小偷偷配了你家钥匙，你不换锁他就一直能开你家锁，偷你家东西。**

于是，我在 Dune.xyz 中尝试寻找这些对黑客进行授权的地址，但是很遗憾，Dune.xyz 好像清洗掉了这部分数据：

![](https://storage.googleapis.com/papyrus_images/9d7bdc08198fce80799b417ceda5923c9decccd2101057159c19deb9a55c6b61.png)

不过好在昨天有朋友个给了我一个 [Chainbase](https://chainbase.online/) 的账号，于是我在 Chainbase 里面检索了一下（这速度不搞看板真是白瞎了），现在还有 433 个“地址-合约”对黑客地址的授权没有解除：

![](https://storage.googleapis.com/papyrus_images/667531ae562f952f5c4c6514687e8138d4d8e340803b9d278b86911eeed89475.png)

这些地址如果继续买入 NFT 仍然有被盗风险。那么，怎么解除对黑客地址的授权呢？

其实，Etherscan 就提供了[授权管理](https://cn.etherscan.com/tokenapprovalchecker)的功能，连接钱包后可以看到 ERC-20、ERC-721、ERC-1155 协议下的授权情况，此处以某个被盗地址为例：

![](https://storage.googleapis.com/papyrus_images/2a69597b0e74be269a4ccbe15be6655fffb2ca21af9a8783d44ba3f69847b4b2.png)

由于这次钓鱼针对的是 ERC-721 协议的 NFT，所以此处直接切换到了 ERC-721 的标签。其中，“Asset” 是授权操作的合约即 NFT，“Approved Spender” 是可以操作资产的地址，从图中可以看到，第一条就是黑客的地址。点击最右侧的 “Revoke” 按钮并发送一笔交易，即可解除该授权。想要了解更多区块链安全知识推荐[《区块链黑森林自救手册》](https://darkhandbook.io/)。

Emmmm…本想用 [MistTrack](https://misttrack.io/) 分析一下相关的地址并且截个图出来，结果不太会用。。。就这样吧。。。

* * *

\*\*Q：\*\*猫猫（Mimic Shhans）会被盗吗？

\*\*A：\*\*由于 Mimic Shhans 使用的 OpenSea 的公共合约，该合约基于 ERC-1155 协议，而此次钓鱼只针对 ERC-721 协议的 NFT，所以此次钓鱼中不会被盗。但并不代表 Mimic Shhans 不存在被盗风险，未来随着 NFT 价值的增长，可能会出现针对性的钓鱼事件。

广告
==

可以通过这些方式联系我：

[https://linktr.ee/issmall](https://linktr.ee/issmall)

另外，欢迎关注[我的 Twitter](https://twitter.com/i55m411)，虽然不能带你赚钱，起码能告诉你怎么不丢钱。。。

---

*Originally published on [issmall](https://paragraph.com/@icatsay/mimic-shhans)*
