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

背景

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

该推特用户给出了196个钓鱼域名信息,分析后关联到朝鲜黑客相关信息,具体的域名列表如下:

慢雾安全团队注意到该事件并第一时间跟进深入分析:

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

钓鱼网站分析

经过深入分析,发现此次钓鱼的其中一种方式是发布虚假NFT相关的、带有恶意Mint的诱饵网站,这些NFT在OpenSea、X2Y2和Rarible等平台上都有出售。此次APT组织针对Crypto和NFT用户的钓鱼涉及将近500多个域名。

慢雾:苹果发布可导致任意代码执行的严重漏洞提醒,请及时更新:7月11日消息,慢雾首席信息安全官23pds发推称,近日苹果发布严重漏洞提醒,官方称漏洞CVE-2023-37450可以在用户访问恶意网页时导致在你的设备上任意代码执行,据信这个已经存在被利用的情况,任意代码危害严重,请及时更新。[2023/7/11 10:47:05]

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

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

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

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

慢雾:Avalanche链上Zabu Finance被黑简析:据慢雾区情报,9月12日,Avalanche上Zabu Finance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家参考:

1.攻击者首先创建两个攻击合约,随后通过攻击合约1在Pangolin将WAVAX兑换成SPORE代币,并将获得的SPORE代币抵押至ZABUFarm合约中,为后续获取ZABU代币奖励做准备。

2.攻击者通过攻击合约2从Pangolin闪电贷借出SPORE代币,随后开始不断的使用SPORE代币在ZABUFarm合约中进行`抵押/提现`操作。由于SPORE代币在转账过程中需要收取一定的手续费(SPORE合约收取),而ZABUFarm合约实际接收到的SPORE代币数量是小于攻击者传入的抵押数量的。分析中我们注意到ZABUFarm合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但ZABUFarm合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时ZABUFarm合约实际接收到的SPORE代币数量小于攻击者在提现时ZABUFarm合约转出给攻击者的代币数量。

3.攻击者正是利用了ZABUFarm合约与SPORE代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将ZABUFarm合约中的SPORE资金消耗至一个极低的数值。而ZABUFarm合约的抵押奖励正是通过累积的区块奖励除合约中抵押的SPORE代币总量参与计算的,因此当ZABUFarm合约中的SPORE代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。

4.攻击者通过先前已在ZABUFarm中有进行抵押的攻击合约1获取了大量的ZABU代币奖励,随后便对ZABU代币进行了抛售。

此次攻击是由于ZabuFinance的抵押模型与SPORE代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。[2021/9/12 23:19:21]

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

慢雾:Cover协议被黑问题出在rewardWriteoff具体计算参数变化导致差值:2020年12月29日,慢雾安全团队对整个Cover协议被攻击流程进行了简要分析。

1.在Cover协议的Blacksmith合约中,用户可以通过deposit函数抵押BPT代币;

2.攻击者在第一次进行deposit-withdraw后将通过updatePool函数来更新池子,并使用accRewardsPerToken来记录累计奖励;

3.之后将通过_claimCoverRewards函数来分配奖励并使用rewardWriteoff参数进行记录;

4.在攻击者第一次withdraw后还留有一小部分的BPT进行抵押;

5.此时攻击者将第二次进行deposit,并通过claimRewards提取奖励;

6.问题出在rewardWriteoff的具体计算,在攻击者第二次进行deposit-claimRewards时取的Pool值定义为memory,此时memory中获取的Pool是攻击者第一次withdraw进行updatePool时更新的值;

7.由于memory中获取的Pool值是旧的,其对应记录的accRewardsPerToken也是旧的会赋值到miner;

8.之后再进行新的一次updatePool时,由于攻击者在第一次进行withdraw后池子中的lpTotal已经变小,所以最后获得的accRewardsPerToken将变大;

9.此时攻击者被赋值的accRewardsPerToken是旧的是一个较小值,在进行rewardWriteoff计算时获得的值也将偏小,但攻击者在进行claimRewards时用的却是池子更新后的accRewardsPerToken值;

10.因此在进行具体奖励计算时由于这个新旧参数之前差值,会导致计算出一个偏大的数值;

11.所以最后在根据计算结果给攻击者铸造奖励时就会额外铸造出更多的COVER代币,导致COVER代币增发。具体accRewardsPerToken参数差值变化如图所示。[2020/12/29 15:58:07]

慢雾:攻击者系通过“supply()”函数重入Lendf.Me合约 实现重入攻击:慢雾安全团队发文跟进“DeFi平台Lendf.Me被黑”一事的具体原因及防御建议。文章分析称,通过将交易放在bloxy.info上查看完整交易流程,可发现攻击者对Lendf.Me进行了两次“supply()”函数的调用,但是这两次调用都是独立的,并不是在前一笔“supply()”函数中再次调用“supply()”函数。紧接着,在第二次“supply()”函数的调用过程中,攻击者在他自己的合约中对Lendf.Me的“withdraw()”函数发起调用,最终提现。慢雾安全团队表示,不难分析出,攻击者的“withdraw()”调用是发生在transferFrom函数中,也就是在Lendf.Me通过transferFrom调用用户的“tokensToSend()”钩子函数的时候调用的。很明显,攻击者通过“supply()”函数重入了Lendf.Me合约,造成了重入攻击。[2020/4/19]

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

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

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

动态 | 慢雾:10 月发生多起针对交易所的提币地址劫持替换攻击:据慢雾区块链威胁情报(BTI)系统监测及慢雾 AML 数据显示,过去的 10 月里发生了多起针对数字货币交易所的提币地址劫持替换攻击,手法包括但不限于:第三方 JS 恶意代码植入、第三方 NPM 模块污染、Docker 容器污染。慢雾安全团队建议数字货币交易所加强风控措施,例如:1. 密切注意第三方 JS 链接风险;2. 提币地址应为白名单地址,添加时设置双因素校验,用户提币时从白名单地址中选择,后台严格做好校验。此外,也要多加注意内部后台的权限控制,防止内部作案。[2019/11/1]

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

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

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

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

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

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

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

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

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

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

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

钓鱼手法分析

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

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

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

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

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

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

MistTrack分析

对钓鱼网站及手法分析后,我们选取其中一个钓鱼地址进行分析。

可以看到这个地址已被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?

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

银河链

FTX金色早报 | FTX创始人SBF同意被引渡到美国

头条 ▌FTX创始人SBF同意被引渡到美国金色财经报道,辩护律师在巴哈马法庭听证会上称,FTX创始人SBF同意被引渡到美国。SBF同意引渡的部分原因是“希望使相关客户得到补偿”.

[0:0ms0-2:25ms