NFT:慢雾:朝鲜APT组织对NFT用户大规模钓鱼事件分析

原文作者:山&耀

原文来源:慢雾安全团队

安全团队发现疑似APT团伙针对加密生态的NFT用户进行大规模钓鱼活动,并发布了《“零元购”NFT钓鱼分析》。

9月4日,推特用户PhantomX发推称朝鲜APT组织针对数十个ETH和SOL项目进行大规模的网络钓鱼活动。

货币行业的攻击模型多样化,我们披露的也只是冰山一角,因为一些保密的要求,本篇文章也仅针对其中一部分钓鱼素材包括相关钓鱼钱包地址进行分析。这里将重点针对NFT钓鱼进行分析。

OpenSea、X2Y2和Rarible等平台上都有出售。此次APT组织针对Crypto和NFT用户的钓鱼涉及将近500多个域名。

查询这些域名的注册相关信息,发现注册日期最早可追溯到7个月前:

慢雾:针对macOS系统恶意软件RustBucket窃取系统信息:金色财经报道,SlowMist发布安全警报,针对macOS 运行系统的 Rust 和 Objective-C 编写的恶意软件RustBucket,感染链由一个 macOS 安装程序组成,该安装程序安装了一个带后门但功能正常的 PDF 阅读器。然后伪造的 PDF 阅读器需要打开一个特定的 PDF 文件,该文件作为触发恶意活动的密钥。[2023/5/23 15:20:27]

同时我们也发现朝鲜黑客常使用的一些独有的钓鱼特征:

特征一:钓鱼网站都会记录访客数据并保存到外部站点。黑客通过HTTPGET请求将站点访问者信息记录到外部域,发送请求的域名虽不同但是请求的API?接口都为“/postAddr.php”。一般格式为“https://nserva.live/postAddr.php??mmAddr=......&accessTime=xxx&url=evil.site”,其中参数mmAddr记录访客的钱包地址,accessTime记录访客的访问时间,url记录访客当前所访问的钓鱼网站链接。

慢雾:iCloud 用戶的MetaMask钱包遭遇钓鱼攻击是由于自身的安全意识不足:据官方消息,慢雾发布iCloud 用戶的MetaMask钱包遭遇钓鱼攻击简析,首先用户遭遇了钓鱼攻击,是由于自身的安全意识不足,泄露了iCloud账号密码,用户应当承担大部分的责任。但是从钱包产品设计的角度上分析,MetaMask iOS App 端本身就存在有安全缺陷。

MetaMask安卓端在AndroidManifest.xml中有android:allowBackup=\"false\" 来禁止应用程序被用户和系统进行备份,从而避免备份的数据在其他设备上被恢复。

MetaMask iOS端代码中没有发现存在这类禁止钱包数据(如 KeyStore 文件)被系统备份的机制。默认情况下iCloud会自动备份应用数据,当iCloud账号密码等权限信息被恶意攻击者获取,攻击者可以从目标 iCloud 里恢复 MetaMask iOS App 钱包的相关数据。

慢雾安全团队经过实测通过 iCloud 恢复数据后再打开 MetaMask 钱包,还需要输入验证钱包的密码,如果密码的复杂度较低就会存在被破解的可能。[2022/4/18 14:31:38]

特征二:钓鱼网站会请求一个NFT项目价目表,通常HTTP的请求路径为“getPriceData.php”:

慢雾:PancakeBunny被黑是一次典型利用闪电贷操作价格的攻击:币安智能链上DeFi收益聚合器PancakeBunny项目遭遇闪电贷攻击,慢雾安全团队解析:这是一次典型的利用闪电贷操作价格的攻击,其关键点在于WBNB-BUNNYLP的价格计算存在缺陷,而BunnyMinterV2合约铸造的BUNNY数量依赖于此存在缺陷的LP价格计算方式,最终导致攻击者利用闪电贷操控了WBNB-BUNNY池子从而拉高了LP的价格,使得BunnyMinterV2合约铸造了大量的BUNNY代币给攻击者。慢雾安全团队建议,在涉及到此类LP价格计算时可以使用可信的延时喂价预言机进行计算或者参考此前AlphaFinance团队。[2021/5/20 22:24:55]

特征三:存在一个链接图像到目标项目的文件“imgSrc.js”,包含目标站点列表和在其相应网络钓鱼站点上使用的图像文件的托管位置,这个文件可能是钓鱼网站模板的一部分。

慢雾:BSC项目Value DeFi vSwap 模块被黑简析:据慢雾区情报,币安智能链项目 Value DeFi 的 vSwap 模块被黑,慢雾安全团队第一时间介入分析,并将结果以简讯的形式分享,供大家参考:

1. 攻击者首先使用 0.05 枚 WBNB 通过 vSwap 合约兑换出 vBSWAP 代币;

2. 攻击者在兑换的同时也进行闪电贷操作,因此 vSwap 合约会将兑换的 vBSWAP 代币与闪电贷借出的 WBNB 转给攻击者;

3. 而在完成整个兑换流程并更新池子中代币数量前,会根据池子的 tokenWeight0 参数是否为 50 来选择不同的算法来检查池子中的代币数量是否符合预期;

4. 由于 vSwap 合约的 tokenWeight0 参数设置为 70,因此将会采用第二种算法对池子中的代币数量进行检查;

5. 而漏洞的关键点就在于采用第二种算法进行检查时,可以通过特殊构造的数据来使检查通过;

6. 第二种算法是通过调用 formula 合约的 ensureConstantValue 函数并传入池子中缓存的代币数量与实时的代币数量进行检查的;

7. 在通过对此算法进行具体分析调试后我们可以发现,在使用 WBNB 兑换最小单位(即 0.000000000000000001) vBSWAP 时,池子中缓存的 WBNB 值与实时的值之间允许有一个巨大的波动范围,在此范围内此算法检查都将通过;

8. 因此攻击者可以转入 WBNB 进行最小单位的 vBSWAP 代币兑换的同时,将池子中的大量 WBNB 代币通过闪电贷的方式借出,由于算法问题,在不归还闪电贷的情况下仍可以通过 vSwap 的检查;

9. 攻击者只需要在所有的 vSwap 池子中,不断的重复此过程,即可将池子中的流动性盗走完成获利。详情见原文链接。[2021/5/8 21:37:37]

进一步分析发现APT用于监控用户请求的主要域名为“thedoodles.site”,此域名在APT活动早期主要用来记录用户数据:

查询该域名的HTTPS证书启用时间是在7个月之前,黑客组织已经开始实施对NFT用户对攻击。

最后来看下黑客到底运行和部署了多少个钓鱼站点:

比如最新的站点伪装成世界杯主题:

继续根据相关的HTTPS证书搜索得到相关的网站主机信息:

在一些主机地址中发现了黑客使用的各种攻击脚本和统计受害者信息的txt文件。

这些文件记录了受害者访问记录、授权情况、使用插件钱包的情况:

可以发现这些信息跟钓鱼站点采集的访客数据相吻合。

其中还包括受害者approve记录:

以及签名数据sigData等,由于比较敏感此处不进行展示。

另外,统计发现主机相同IP下NFT钓鱼站群,单独一个IP下就有372个NFT钓鱼站点:

另一个IP下也有320个NFT钓鱼站群:

甚至包括朝鲜黑客在经营的一个DeFi平台:

由于篇幅有限,此处不再赘述。

NFT零元购钓鱼》文章,我们对此次钓鱼事件的核心代码进行了分析。我们发现黑客钓鱼涉及到WETH、USDC、DAI、UNI等多个地址协议。

下面代码用于诱导受害者进行授权NFT、ERC?20等较常见的钓鱼Approve操作:

除此之外,黑客还会诱导受害者进行Seaport、Permit等签名。

下面是这种签名的正常样例,只是在钓鱼网站中不是“opensea.io”这个域名。

我们在黑客留下的主机也发现了这些留存的签名数据和“Seaport”的签名数据特征一致。

由于这类型的签名请求数据可以“离线存储”,黑客在拿到大量的受害者签名数据后批量化的上链转移资产。

进行分析。

可以看到这个地址已被MistTrack标记为高风险钓鱼地址,交易数也还挺多。钓鱼者共收到1055个NFT,售出后获利近300ETH。

往上溯源,该地址的初始资金来源于地址转入的4.97ETH。往下溯源,则发现该地址有与其他被MistTrack标记为风险的地址有交互,以及有5.7ETH转入了FixedFloat。

再来分析下初始资金来源地址,目前收到约6.5ETH。初始资金来源于Binance转入的1.433ETH。

同时,该地址也是与多个风险地址进行交互。

总结

由于保密性和隐私性,本文仅针对其中一部分?NFT?钓鱼素材进行分析,并提炼出朝鲜黑客的部分钓鱼特征,当然,这只是冰山一角。慢雾在此建议,用户需加强对安全知识的了解,进一步强化甄别网络钓鱼攻击的能力等,避免遭遇此类攻击。更多的安全知识建议阅读慢雾出品的《区块链黑暗森林自救手册》。

Ps.感谢hip、ScamSniffer提供的支持。

相关链接:

https://www.prevailion.com/what-wicked-webs-we-unweave

https://twitter.com/PhantomXSec/status/1566219671057371136?

https://twitter.com/evilcos/status/1603969894965317632?

原文链接

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-3:809ms