Java服务器MCCrash 新型僵尸网络解决办法/预防办法
本教程系本人在苦力怕论坛原创发布,未经允许严禁转载!
前言:浅逛了一圈,貌似百度、哔哩哔哩和国内各大论坛都没有这类问题的解决方法,因此特地作本教程以供学习参考
简单来说,就是一个影响内核版本为1.7.2——1.18.2的Java服务器的僵尸网络(僵尸网络,即bot程序(僵尸程序)病毒,以下简称“病毒”)。
该病毒主要通过下载不明来源的服务器插件从而感染服务器内的jar文件,当然也不排除其他原因所导致感染。
该僵尸网络只感染java文件,也就是说,BDS等基岩版服务器/Java服务器内除了.jar的文件基本不会被感染,例如服务器的地图和插件的部分数据文件。
首先,最直接的办法是不去下载非官方渠道、可信度低的渠道的文件,不去下载破解版、倒卖的插件,因为这些插件最容易被不怀好意的人藏入病毒,无论出于预防该僵尸网络的感染,还是防止其他病毒、木马的感染,都强烈推荐您从官方渠道正确获取插件
以下为总结转述
①系统自带的方法:
Linux用户,你可以在你的插件目录中运行以下命令:
- grep -R "plugin-config.bin" .
复制代码Windows系统用户,你可以在你的插件目录中运行以下命令:
- findstr /sml /c:"plugin-config.bin" *
复制代码如果匹配项,则可能具有受感染的插件。如果你没有得到匹配,那你可能没有被感染
②下载Paper官方建议的工具:https://github.com/OpticFusion1/MCAntiMalware,下载该工具前,首先请确保您的服务器安装了Java17,否则该文件将无法运行。建议您按照其README.md教程进行,以下为以Windows系统运行总结的简要方法:下载好后,请把该文件置于服务器目录,然后打开CMD,跳转到服务器文件夹所在的盘符(例如D盘输入d:),然后跳转到服务器文件夹(CMD输入 cd 服务器文件夹路径),输入
- java -jar MCAntiMalware.jar
复制代码
以运行该文件,正确运行后,会出现[INFO]开头的提示,如果出现 [DETECTED]: plugins\XXX.jarMIGHT be infected with Spigot.MAL,那么您的服务器可能感染了该僵尸网络(当然也有可能是误报)。
2.通过使用杀毒软件扫描服务器文件夹,以及把服务器文件夹压缩成zip形式进行扫描,如果出现了报毒,且目标为“Updater.class",那么您的服务器很可能被该僵尸网络感染了
3.安装知名度较高的zip解压软件,或者部分服务器会自带zip解压软件,使用右键,以打开压缩包的形式(如图) 打开服务器的.jar插件文件,如果其中出现了“Updater.class",且压缩前大小为6161,那么您的服务器很可能受到了该僵尸网络的感染,(如图), 也可以通过插件修改日期辅助确认:如果您的服务器已经稳定运行了一段时间,但服务器插件在某一时间集体修改,修改日期一致或相似,那么可以辅助确认您可能感染了该僵尸网络
值得注意的是,以上的方法都是可能确认您的服务器感染了该僵尸网络,并无完全确认感染的手段
典型症状:打开服务端报错内容为超时
,java.net.ConnectException: Connection timed out: connect
导致服务器立即崩溃/每个插件都加载异常;并且其报错后缀部分有
,at Updater.a(:95)
如果症状完全符合,并且通过第二点检测出了感染的结果,那么您的服务器基本可以确认已被感染
该僵尸网络主要使用已知的 DDoS 命令和独特的 Minecraft 指令对 Minecraft 服务器发起 DDoS 攻击......使用env变量触发 Log4j 2 库的调用
——摘自站内新闻
也就是说,该僵尸网络会利用你的服务器资源去DDOS其他Minecraft服务器,并且还会使您服务器插件加载异常/无法启动***值得注意的是,如果您想要彻底解决该病毒,您可能至少需要准备投入1天(12小时的工作量来算)时间,因为其中需要重装系统,以及一系列需要耗费大量时间的备份查毒工作,如果您的服务端文件很大,那么需要的时间还会增加!***
此僵尸网络并非得了就如网上流传无药可救,官方有给出解决方法,但是比较省略,公告 - 恶意软件公告|纸MC (papermc.io),为了防止差错导致重复感染,本方法结合PaperMC官方给出的方法、官方方法建议使用的MCAntiMalware,详细说明如何高效的解决该僵尸网络的感染,本方法系本人以及在和大量的服主交流过程中收集的解决该病毒所用的方法的结合,本方法在不断完善,不排除有疏漏的可能性,如果您有更好的方法,欢迎友好回帖交流心得!建议您参考官方的公告结合本方法进行查毒杀毒操作。 第一步:(必须)关闭服务端,(建议做)按照3.1-②的方法下载并正确启动相应的工具(以下简称工具),这可以使后续流程快很多。【预计10分钟】
第二步:(建议做)无论如何,都建议您先以压缩包的形式保存服务端文件,将压缩好的服务端保存到外部(如网盘、空的U盘等),然后服务器内删除本次备份的压缩包文件。【预计90分钟(*可以自行按服务端本体大小x1s/10M+压缩后大小x1s/3M来计算)】
第三步:(必须)如果您的服务端文件在系统盘,请将其移入非系统盘的磁盘,因为后续一定需要重装系统【预计15分钟】
第四步:(必须)按照正确方法运行工具,然后进入服务端目录的AntiMalware文件夹,点击logs文件夹,查看latest.log,这里会记录您服务端所有插件的安全情况,找到所有发现病毒的插件(文件内开头为[DETECTED]的),将它们都彻底删除,这需要花费一定的耐心和时间【预计60分钟】
第五步:(必须)将他们都删除后,打开任务管理器,将所有Java程序停止运行(如果您服务器还运行着其他重要的Java代码/软件请保存并退出,然后将这些文件都使用杀毒软件进行扫描,确认无毒后把他们备份到网盘或空的u盘,如果报毒且指向Updater.class或类似功能的文件请小心处理,能舍弃的或替换的请把他们都舍弃或替换,并且把它们远离该服务端所在的服务器),再次使用工具扫描服务端文件,如果没有[DETECTED]提示,那么服务端内感染的文件初步清理完毕,如果有,那么请再次清理所指向的文件,清理完毕后重复第五步相应步骤,直到不再提示有毒为止。【预计120分钟】
第六步:(建议做)备份;保险起见,请再次把服务端压缩备份并且上传网盘/保存到空的u盘【预计90分钟】
第七步:(必须)重新下载服务器cache、version文件夹内的服务器核心,(可省略)如果您有确认未感染的服务端备份文件,请将libs和libraries文件夹里的文件替换。【预计15分钟】
【记得从官方渠道下载!】
第八步:(可省略)如果您还不放心,请使用文件搜索,搜索”jar“,查找最近一个月内被修改的jar文件,如果有备份,将他们换成确认无毒的文件。完成后最好再次备份服务端。【预计10分钟】
第九步:(必须)如果您的服务端内系统所在磁盘有其他重要文件请备份到网盘/u盘,云服务器可以通过创建快照的方式整体备份系统盘文件,如果您的服务器有数据盘,请将其内的所有非服务端的Java文件(例如.jar)全部备份转移到非服务器内的位置,例如网盘或u盘,防止藏毒再次感染,最好把服务端存放在没有其他Java文件且重装系统不被清理的数据盘。【预计60分钟】
第十步:(必须,十分重要)从正规渠道获取服务器系统镜像,完全重置系统。如果是云服务器,可以直接选择重装系统,但请确保服务端文件在不被清理的位置,例如可信任的网盘或者数据盘。【云服务器预计10分钟,个人主机预计120分钟】
【一定要从官方渠道下载!】
第十一步:(必须)按照常规方法正确配置服务器基本内容(例如防火墙)后,打开数据盘(或u盘等存储位置)的服务端文件夹,下载知名的杀毒软件,更新病毒库,对系统进行全盘扫描,与此同时下载安装好服务器版本的Java以及Jdk17【预计120分钟】
第十二步:(必须)使用工具再次扫描服务端文件,确认服务器内无毒后,备份好服务端,上传网盘/u盘备用【预计120分钟】
第十三步:现在基本上可以确认服务端是比较安全的,可以尝试运行服务器了,如果完全按照所给方法运行后仍然出现问题,请上报该工具(MCAntiMalware)的作者,以防出现病毒变种,根据PaperMC官方描述,该病毒有”更多变种“。
附件下载
本教程提供僵尸网络感染的服务器的日志文件样本(安全无毒,log格式),以供分析、参考、症状对照的用途
|
本教程系本人原创,以供参考,本人发布平台:苦力怕论坛(Ucraft)、哔哩哔哩(非酋的小u)、MineBBS(minecraft-小u)未经允许不得转载。
其他可供参考的内容