我的世界23年6月"curseforge被黑"事件完整始末

国内全网目前并没有人完整的解释事件的来龙去脉,有人试图解释了也是机翻与猜想乱飞,非常神秘。于是我写了这么一篇专栏帮你了解23年6月发生的被mc modding社区称为“fractureiser”的恶意软件(malware)的当前进展。

须知:非常抱歉,为了吸引你的眼球,我当了一回标题党。首先curseforge,modrinth,以及bukkit等平台/论坛都没有管理员帐号被黑。其次,在笔者撰写这篇B站专栏的时候(6/8 3:15)此次事件还远远没有结束。所以这个事件既不是“curseforge被黑”一段话能说明白,也不是“事件完整始末”——还没人知道下一步会发掘出什么新东西。
但是这篇文章应该是目前国内对该事件最完整的,涉及了技术内容,但不至于让不懂的人厌烦的描述。

第零章 嗨搁着看什么事件始末,赶紧去自检!
笔者建议任何在23年玩过带mod和插件的mc的玩家都应该完成一个简单的自检!确定自己的个人信息安全后回来再吃瓜也不迟!

如果你是Windows用户:
打开开始菜单,输入%localappdata%,进入
确保你能查看到所有文件(隐藏文件+系统文件),然后查看该文件夹内是否有叫做"Microsoft Edge”的文件夹——两词之间带空格的文件夹才是不妙的。不带空格“MicrosoftEdge”没有问题。
如果发现,你已经被感染!立刻删除该文件夹里的所有内容!

如果你是Linux用户:
确保你能查看到所有文件(如终端的ls -a)
查看是否有以下文件:
~/.config/systemd/user/systemd-utility.service
/etc/systemd/system/systemd-utility.service
~/.config/.data/lib.jar
如果发现,你已经被感染!立刻删除该文件夹里的所有内容!

Q1:“我就是一个普通的windows用户懒狗,你说的自检步骤这些我搞不懂也懒得搞啊”
A1: 你如果信任curseforge的话,他们已经做了一个自检工具。链接:https://github.com/overwolf/detection-tool/releases/download/0.0.1/DetectionTool-0.0.1.exe

Q2:“我超!真给我检查出来了!我现在啥情况啊大夫?”
A2:由V姐重新整理过的社区说明文档建议你备份电脑里全部文件,删除所有.jar文件,然后替换所有的密码。严重到这种程度是因为该事件还在进行中,而社区对于该malware的危害到底有多严重还没有一个彻底的定论。笔者在快速过了一遍目前已经被反编译的源码和社区文档里的技术细节后,给你如下建议:
你的微软帐号验证信息,discord验证信息,以及浏览器保存的密码,真的真的需要全都视为已经泄露。你真的真的真需要把你的微软帐号密码和浏览器里保存的密码全都设置一遍!
你的电脑里的所有mod和mc插件.jar文件肯定已经全部都被感染。如果你是Java开发者,gradle和maven的缓存也已经被感染了。杀杀杀杀杀杀!
目前反编译出的源码都多多少少依赖Java环境才能运行(里面还有些native),删掉电脑里所有的JRE和JDK也是一个自我保护的手段
拉黑ip 85.217.144.130与107.189.3.101 ,且在host重定向域名files-8ie.pages.dev/ip为0.0.0.0

而无论你有没有被感染,如果你还想玩有mod的mc的话:
继续关注此事件。直到事件结束前,笔者强烈建议你不要在curseforge和modrinth上下载或更新任何mod和mod包!(社区文档的建议是最近干脆完全不要碰mc)
作为mc mod的集散地,curseforge和modrinth中招意味着所有的二次分布的mod也有潜在的中招风险。你应该明确知道你的群文件和各路网盘的mod的最初来源是哪,整合者(你的懂哥或服主)二次分布的时候,这些mod的发布时间是不是在最近。笔者建议不要下载任何mod发布日期在今年的二次分布包。
1122和1710这样的旧版本玩家,比1165+的新版本玩家会显著的安全许多。这是因为这些mod以及mod包已经许久没更新了。但目前没人能确定是百分百安全的。
再次声明,上述建议是因为该事件还没有彻底尘埃落地才建议你采取的保守性措施!此时此刻开启游戏你也很可能没事,但是你至少要有“我这时候开mc可能会让我各种帐号被黑,到时候真被黑了只能怪我自己瘾太大,太不把坏比当回事”的正确认知。用太君的话来说,就是“觉悟”。

检查得差不多了?现在可以安下心来听我娓娓道来——

第一章 发生啥事?
省流:坏比人做坏比malware。该malware通过高版本大人气网红冒险包造成超广泛传播。事情闹大后人心惶惶,社区懂哥光速集结,通过举办ip姑且算是控制住了局面。反编译已经进行的大差不差。已知的灾难已经结束,但是由于广泛传播已经形成,现在modding社区,curseforge,mojang在使劲把始作俑者揪出来的同时,也在防范坏比再来一个大的。

以下是完整经过。
这篇文章19小时前(六月七日),当前的社区文档作者团队了解到了大人气原版Plus包Better MC进行了一次诡异的更新,里面包含了明显是malware的文件。两三个小时后,一定的讨论在各个MC相关discord群里产生。社区把核心讨论集结到一个群里。
对恶意文件粗略的分析很快让社区发现了这些文件试图产生连接的ip和域名。ip 85.217.144.130被拿下,但域名files-8ie.pages.dev还没有,于是社区在举办点烂的同时,开始密切关注该域名的动态。
然而事情比想象中的还糟。社区开始意识到这个malware已经存在了很长一段时间。而他们现在发现这个malware,只是因为它终于严重到影响了有大团队在维护和更新的高人气mod包。恶意文件目前已经追溯到的最早出现时间是在今年四月中旬。但在挖掘的过程中,社区发现这些mod上传者都是一些“最后活动时间1999年”的,可能是curseforge在用户系统迭代前就有的诡异帐号,这个“最后时间是四月”的说法也显得变得无力起来……该malware的出现时间还可能是更早之前。
由于最早被发现的上传该malware的用户ID是fractureiser,于是社区用它作为该malware的代号。
所以,fractureiser到底能干啥呢?说到底社区判断这些文件是恶意的是因为它们上来就在一个指定的网站下载东西,然后下载下来的东西被直接注入内存,从而生成一个会被开启自启动的文件。目前挖掘到这些文件都只是“恶魔召唤师”,真正的召唤来的恶魔是什么呢?
很快社区获得了一个残缺的“恶魔”文件。虽然是残缺的,但是已经能确定它会从windows的凭据管理器(Credential Manager)中窃取信息。
这时,以Shadowex3为首的一帮社区懂哥加入讨论,他们表示他们有着完整的“恶魔”文件,以及对它的反编译和代码解析。他们早在六月三日前后就发现了一些mod包有着诡异的上传活动。当时他们意识到了有问题之后,为了不打草惊蛇,他们秘密得对有问题的文件开始了反编译工作。作为结果,他们获得了近乎完整的fractureiser的一系列payload。
然而这时候对于很多参与者来说已经进入半夜。社区懂哥们参与讨论完全是出于爱好和对mc的喜爱。大伙都有第二天都得返工,不得不睡。但一个国际化的社区,它好就好在全世界的人都可以参与。其他人接手了调查,如xylemlandmark开放了一个人接受文件样本和重要信息的email,而williewillus则开始整理Shadowex3等人的解析。
随着对“恶魔”文件的解析趋于结束,一个绝望的信息被社区所知——“恶魔”除了会窃取个人信息之外,它还会对受害者扫盘,然后把里面所有mc mod与mc插件.jar文件注入最初的“恶魔召唤师”,被注入的文件包括了gradle和maven的缓存!考虑到fractureiser的出现时间,仅当前能查到的历史就已经在两个月前了,社区认为fractureiser之所以被这样广泛传播,就是因为有mod作者意外碰到了它,然后在不知情的情况下,把带有“恶魔召唤师”的自己的mod发布到了curseforge,从而被越来越多的人接触!
随后传来的消息更是令人恐惧:受害者已经开始涌现,这时curseforge的回复把事件的走向带入了进一步的深渊:之所以Better MC,When Dungeon Arise,中世纪MC等高版本热门冒险包陆续中招,是因为这些包的作者团队Luna Pixel Studios的其中一个成员的早以变成了受害者,坏比直接用受害者的身份通过网页(而非API)上传了更新。这次更新让玩家下载了带有了fractureiser的mod,于是产生了巨量传播。
Curseforge快速响应,删除了对应的文件,ban了对应的人(包括LPS团队的那个受害者),快速发布了自检程序。同时好消息传来——因为ip已经被拿下,“恶魔召唤师”文件无法下载“恶魔”文件,所以对于当时还没感染玩家来说,fractureiser暂时进入了休眠期。
更多的好消息传来。之前被社区紧密监控的域名果然换了ip。社区得以以最快速度通知所有能通知到的人。之前的举办也终于有了效果,该域名被关闭。就在社区继续举办新ip的时候,坏比可能是因为手抖,不小心在新ip放出了没有被混淆的“恶魔”文件——之前我都一直没有提的一个技术难点是,这些恶意文件参杂了大量无用或非恶意的代码,就是为了让反编译的人没有办法一眼理解代码的功能。我们目前判断坏比是手抖,是因为它很快一个混淆版本的“恶魔”文件所替代。随之而来的是另一个针对spigot服的古早malware,skyrage updater。就在这篇专栏投稿的一小时前,第二个ip也被拿下。可以说,fractureiser算是真的进入了冬眠期。

第二章 纵波之后
地震分为纵波和横波。而破坏力较低的纵波总比破坏力强得多的横波先到达。如之前所说,这次fractureiser事件影响时间非常之早,而你如果游玩过大型整合包就知道,MC Modding社区之大,就算是只列“知名”mod那也是几百的数量级。除了玩家信息被窃取之外,到底有多少mod作者的帐号受到影响完全是未知数。而如果坏比有能力把已经影响到的mod作者的电脑塞入一个也在休眠,但等风波之后能再引爆的木马,那这次风波带来的影响将无穷无尽。举个例子,Sophisticated Backpack/Storage,也就是高版本mod玩家很可能非常熟悉的精致背包/精致存储mod也已经被怀疑成为了受害者,携带了木马。这也是为什么虽然目前事件已经看起来尘埃落定,但社区的说明文档依然强烈建议大家采取保守措施的原因。
一次地震,纵波之后横波肯定会来。但就算横波不一定发生,你也理应当成肯定会发生一样,趁着还有口气赶紧逃命。而抱有侥幸心理的人,你至少要知道,更有毁灭性的横波完全可能降临。

第三章 杂项与这篇专栏的更新
更详细的技术细节和本篇专栏的核心信息来源于如今已经搬到github上的社区文档。撰文本身是笔者原创。github链接:github.com/fractureiser-investigation/fractureiser
虽然感觉文章内容可能会被剽窃,心里多少有点不爽,但是无论如何让更多人知道还是更好的。你如果确实要剽窃然后看到这里了,恳求你至少能在你的介绍或者评论区留下这篇专栏的信息。国内在这方面的恶臭甚至已经相当程度上导致我们国家在AI赛道上的落后了,希望你们能在给家里孩子赚奶粉钱的同时,也有些起码的道德。

该malware的project内部名称为nekoClient,多少可能还是个二次元。哈哈。

笔者会之后继续在这篇专栏更新最新进展。最后估计的确会变成标题所说的“完整始末”吧。
事发突然,发这篇专栏不是为了你的点赞硬币收藏。如果你身边有玩mc mod的朋友,笔者强烈建议把这篇专栏转发给他们!
