欢迎光临散文网 会员登陆 & 注册

【翻译】MCCrash: 对私有Minecraft服务器发起DDoS攻击的跨平台僵尸网络

2022-12-18 00:48 作者:Agatha纯净生存  | 我要投稿

原文 ,使用了机翻

https://www.microsoft.com/en-us/security/blog/2022/12/15/mccrash-cross-platform-ddos-botnet-targets-private-minecraft-servers/

译:YouthP / CmartGo / 夏墨cyan

在攻击者开发新型僵尸网络的过程中,恶意软件操作继续快速发展,感染越来越多的新设备。攻击者更新恶意软件以针对其他操作系统,从 PC 到 IoT 设备,以此迅速拓展肉鸡数量。Microsoft Defender for IoT研究团队最近分析了一个跨平台僵尸网络,该僵尸网络来源于Windows设备上的恶意软件下载,并能够传播到各种基于Linux的设备。


僵尸网络通过在启用SSH 的设备上枚举密码来传播。由于 IoT 设备通常支持远程配置,具有可能不安全的设置,因此这些设备可能会面临此类僵尸网络攻击的风险。僵尸网络的传播机制使其成为一种独立的威胁,因为虽然恶意软件可以从受感染的源 PC 中删除,但它可能会持续存在于网络中的非托管物联网设备上,并继续作为僵尸网络的一部分运行。


Microsoft 将此事件命名为DEV-1028,这是一个能够入侵 Windows 设备、Linux 设备和物联网设备的跨平台僵尸网络。就我们(微软)所知,DEV-1028僵尸网络会对私有Minecraft服务器发起DDoS攻击。


我们对DDoS僵尸网络的分析,展示了攻击者专门使用精心制作的数据包针对私有Minecraft Java服务器的功能,这些功能很可能是在论坛或暗网网站上出售的服务。跟踪的三个月内,受僵尸网络影响的系统的详细统计数据也显示,大多数设备都在俄罗斯:

图1.僵尸网络中的设备的 IP 归属地分布

这个威胁再次提醒了我们不仅应保持设备软件最新,还要注意到传统终端以及通常不太安全的物联网设备的重要性。在这篇博文中,我们分享了有关此僵尸网络如何影响多个平台、其 DDoS 功能的详细信息,以及如何防止您的设备成为僵尸网络一部分的建议。我们还共享 Minecraft 服务器版本信息,供私有服务器的所有者更新,以免受此威胁。


MCCrash以支持 SSH 的设备为目标

微软研究人员观察到,与僵尸网络相关的初始感染点是通过安装Windows激活软件,因此携带有恶意程序的设备。

图2.用于传播恶意程序的Windows激活工具。

激活工具出激活功能外,还有其他代码,这些代码通过PowerShell命令下载并启动伪造的svchost.exe。有时,这个程序的文件名为 svchosts.exe。

图3.下载并运行 svchost 的 .NET 可执行文件代码

接下来,svchost(s).exe启动 malicious.py,这是一个包含僵尸网络所有功能的Python脚本,然后它会扫描互联网以查找支持SSH的基于Linux的设备(Debian,Ubuntu,CentOS和物联网设备,如Raspbian,它们通常启用远程配置)并发起字典攻击进行传播。找到设备后,它会从  repo[.]ark—event[.]net 下载文件,创建文件代理。然后,文件代理将 malicious.py 的副本下载到设备上。svchost.exe 和文件代理都是使用 PyInstaller 编译的,它捆绑了启动 malicious.py 所需的所有 Python 运行时和库


图4.DDoS 僵尸网络攻击流程

malicious.py 具有取决于文件是在基于 Windows 还是基于 Linux 的设备上的特定的功能,对于 Windows,该文件通过添加注册表项Software\Microsoft\Windows\CurrentVersion\Run 并将可执行文件作为值来建立据点,但可执行文件被按照在 Windows 和 Linux 的设备上运行的标准编译。该文件与其命令和控制 (C2) 服务器通信以执行以下程序:

  • 在端口4676上向repo[.]ark-event[.]net 启动连接

  • 发送初始化字符串

  • 从服务器接受加解密字符串,然后使用Fernet算法进一步对通信进行加密

  • 向服务器发送版本信息

    • Linux:硬编码版本(我们分析的样本中为 2.19)

    • Windows:当前的Windows版本

  • 继续从服务器接受加密的指令

根据我们的分析,僵尸网络主要用于使用已知的服务器 DDoS 命令和独立的 Minecraft 命令对私有 Minecraft 服务器发起 DDoS 攻击。下面是代码中编写的命令列表:

图5.命令列表

虽然大多数命令都实现DDoS,但僵尸网络运行的最值得注意的命令是ATTACK_MCCRASH。该命令发送 ${env:特定大小的随机有效负载:-a} 作为用户名,以耗尽服务器的资源并使其崩溃。

图6.在数据包捕获中看到的 MCCrash TCP 有效负载

端口 25565 上的 TCP 有效负载具有以下二进制结构:

  • 字节 [0:1] – 数据包大小

  • 字节 [1:2] – 登录启动命令

  • 字节 [2:3] – 用户名的大小

  • 字节 [3:18] – 用户名字符串

使用 env 变量触发使用 Log4j 2 库,导致系统资源异常消耗(与 Log4Shell 漏洞无关),实现了特定且高效的 DDoS。


MCCrash影响的Minecraft服务器版本范围极广


在测试恶意软件的影响时,研究人员发现恶意软件本身被硬编码为针对特定版本的 Minecraft 服务器(1.12.2)。但是,1.7.2 和 1.18.2 之间的所有版本都可能受到这种攻击方法的影响。2022 年早些时候发布的服务器版本 1.19 中的 Minecraft 协议略有修改,无需修改攻击代码而阻止使用 Minecraft 特定命令:

  • ATTACK_MCCRASH

  • ATTACK_[MCBOT|MINE]

  • ATTACK_MCDATA

图7.按版本分类的服务器分布
图8.可能受 MCCrash 影响的 Minecraft 服务器地理位置分布


有风险的 Minecraft 服务器,与被专门编码以影响 1.12.2 以上的版本的恶意软件,使得可能会产生的影响大大增加。这种威胁利用通常不作为僵尸网络一部分的物联网设备的独特能力,大大增加了其影响并降低了被检测到的机会。



MCCrash的预防与保护


为了强化设备网络以抵御 MCCrash 等威胁,必须对设备实施身份认证,包括访问限制。解决方案必须检测恶意程序的下载和恶意尝试,以访问启用了 SSH 的设备,并生成有关异常网络行为的警报。以下是我们对组织的一些建议:

  • 确保员工没有下载破解工具,因为这些工具被滥用为传播恶意软件的感染源。

  • 通过强制实施多重身份验证 (MFA) 方法(如 Microsoft Entra)等方法提高网络安全性。启用网络保护以防止应用程序或用户访问 Internet 上的恶意域和其他恶意内容。

  • Microsoft 365 Defender 通过跨标识、终结点、云应用、电子邮件和文档协调威胁数据来防范与僵尸网络相关的攻击。这种跨域可见性使 Microsoft 365 Defender 能够全面检测和修正端到端攻击链 - 从恶意下载到终结点中的后续活动。这套丰富的工具(如高级搜寻)使防御者能够发现威胁并获得有关强化网络免受入侵的见解。

  • 采用全面的物联网安全解决方案,如Microsoft Defender for IoT,允许查看和监控所有物联网和OT设备,威胁检测和响应,以及与SIEM / SOAR和XDR平台(如Microsoft Sentinel和Microsoft 365 Defender)的集成。IoT 防御者会定期更新来自威胁研究的入侵指标 (IoC),如本博客中所述的示例,以及检测恶意活动的规则。


    对于IoT设备:

    • 确保设备的安全配置:将默认密码更改为强密码,并阻止 SSH 进行外部访问。

    • 通过更新维护设备运行状况:确保设备使用最新的固件和修补程序保持最新状态。

    • 使用最低权限访问:使用安全的虚拟专用网络 (VPN) 服务进行远程访问,并限制对设备的远程访问。

  • 对于托管私人 Minecraft 服务器的用户,请更新到版本 1.19.1 及更高版本。

  • 采用全面的 Windows 安全解决方案

    • 管理员工可以通过 Windows Defender 应用程序控制使用的应用,以及用于非托管解决方案的应用,从而启用智能应用控制。

    • 对于商业客户,启用应用程序和浏览器控件(如 Microsoft Defender Application Guard),以增强对 Office 和 Edge 的保护。

    • 及时清理组织设备上所有未使用和过时的可执行文件。

    • 通过启用内存完整性、安全启动和受信任的平台模块 2.0(如果默认情况下未启用)来防范高级固件攻击,这会使用现代 CPU 中内置的功能强化启动。


MCCrash的关键特征(IOCs)

  • e3361727564b14f5ee19c40f4e8714fab847f41d9782b157ea49cc3963514c25 (KMSAuto++.exe)

  • 143614d31bdafc026827e8500bdc254fc1e5d877cb96764bb1bd03afa2de2320 (W10DigitalActivation.exe)

  • f9c7dd489dd56e10c4e003e38428fe06097aca743cc878c09bf2bda235c73e30 (dcloader.exe)

  • 4e65ec5dee182070e7b59db5bb414e73fe87fd181b3fc95f28fe964bc84d2f1f (updater.zip)

  • eb57788fd2451b90d943a6a796ac5e79f0faf7151a62c1d07b744a351dcfa382 (svchosts.exe)

  • 93738314c07ea370434ac30dad6569c59a9307d8bbde0e6df9be9e2a7438a251 (fuse)

  • 202ac3d32871cb3bf91b7c49067bfc935fbc7f0499d357efead1e9f7f5fcb9d1 (malicious.py)

  • repo[.]ark-event[.]net


MCCrash的检测

Microsoft Defender Antivirus

Microsoft Defender Antivirus 检测此攻击中使用的恶意软件如下:

  • TrojanDownloader:MSIL/MCCrash.NZM!MTB

  • Trojan:Win32/MCCrash.MA!MTB

  • TrojanDownloader:Python/MCCrash!MTB

  • Trojan:Python/MCCrash.A

  • TrojanDownloader:Linux/MCCrash!MTB

  • Trojan:Python/MCCrash.RPB!MTB

  • Trojan:Python/MCCrash.RPC!MTB

Microsoft Defender for Endpoint

具有以下标题的 Microsoft Defender for Endpoint 警报可以指示网络上的威胁活动:

  • 检测DEV-1028

  • 系统文件伪装

  • 在 ASEP 注册表中检测到异常

  • 使用 cmd 启动的可疑进程.exe

  • 可疑文件启动

Microsoft Defender for IoT

物联网设备上与MCCrash相关的活动将在Microsoft Defender for IoT中引发以下警报:

  • Unauthorized SSH access

  • Excessive login attempts

Microsoft Defender for Cloud

Microsoft Defender for Cloud 针对相关活动引发以下警报:

  • VM_SuspectDownload


Microsoft 365 Defender

运行以下查询以搜索环境中的相关文件:

DeviceFileEvents | where SHA256 in ("e3361727564b14f5ee19c40f4e8714fab847f41d9782b157ea49cc3963514c25","143614d31bdafc026827e8500bdc254fc1e5d877cb96764bb1bd03afa2de2320","f9c7dd489dd56e10c4e003e38428fe06097aca743cc878c09bf2bda235c73e30","4e65ec5dee182070e7b59db5bb414e73fe87fd181b3fc95f28fe964bc84d2f1f","eb57788fd2451b90d943a6a796ac5e79f0faf7151a62c1d07b744a351dcfa382","93738314c07ea370434ac30dad6569c59a9307d8bbde0e6df9be9e2a7438a251","202ac3d32871cb3bf91b7c49067bfc935fbc7f0499d357efead1e9f7f5fcb9d1") DeviceFileEvents | where FolderPath endswith @":\windows\svchost.exe" DeviceRegistryEvents | where RegistryKey contains "CurrentVersion\\Run" | where RegistryValueName == "br" or RegistryValueData contains "svchost.exe" or RegistryValueData contains "svchosts.exe" DeviceProcessEvents | where FileName in~ ("cmd.exe", "powershell.exe") | where ProcessCommandLine has_all ("-command", ".downloadfile(", "windows/svchost.exe")


Microsoft Sentinel

Microsoft Sentinel 客户可以使用 TI 映射分析自动将本博客文章中提到的恶意域指示器与其工作区中的数据进行匹配。如果当前未部署 TI Map 分析,客户可以从 Microsoft Sentinel 内容中心安装威胁情报解决方案,以在其 Sentinel 工作区中部署分析规则。有关内容中心的更多详细信息,请参阅:https://learn.microsoft.com/azure/sentinel/sentinel-solutions-deploy

为了补充此指示器匹配,客户可以对引入其工作区的数据使用以下查询,以帮助查找具有公开的 SSH 终结点的设备,以及可能受到 SSH 暴力破解尝试的设备。

潜在的 SSH 暴力破解尝试:https://github.com/Azure/Azure-Sentinel/blob/master/Detections/Syslog/ssh_potentialBruteForce.yaml

Azure 中公开的关键端口:https://github.com/Azure/Azure-Sentinel/blob/master/Hunting%20Queries/AzureDiagnostics/CriticalPortsOpened.yaml


David Atch, Maayan Shaul, Mae Dotan, Yuval Gordon, Microsoft Defender for IoT Research Team

Ross Bevington, Microsoft Threat Intelligence Center (MSTIC)






【翻译】MCCrash: 对私有Minecraft服务器发起DDoS攻击的跨平台僵尸网络的评论 (共 条)

分享到微博请遵守国家法律