攻击者一直在寻找新的漏洞来破坏 Kubernetes 环境。Microsoft 最近发现了一种攻击,该攻击利用 OpenMetadata 中新的关键漏洞来访问 Kubernetes 工作负载并利用它们进行加密挖掘活动。

OpenMetadata 是一个开源平台,旨在管理各种数据源的元数据。它充当元数据沿袭的中央存储库,允许用户发现、理解和管理其数据。2024 年 3 月 15 日,OpenMetadata 平台发布了多个漏洞。攻击者可利用这些影响 1.3.1 之前版本的漏洞(CVE-2024-28255CVE-2024-28847CVE-2024-28253CVE-2024-28848CVE-2024-28254)绕过身份验证并实现远程代码执行。自 4 月初以来,我们观察到 Kubernetes 环境中有人利用此漏洞。

Microsoft 强烈建议客户检查运行 OpenMetadata 工作负载的群集,并确保映像是最新的(版本 1.3.1 或更高版本)。在此博客中,我们将分享对攻击的分析,提供有关识别易受攻击的群集和使用 Microsoft 安全解决方案(如 Microsoft Defender for Cloud)检测恶意活动的指导,并共享防御者可用于搜寻和调查的入侵指标。

攻击流

对于初始访问,攻击者可能会识别并针对暴露在互联网上的 OpenMetadata 的 Kubernetes 工作负载。一旦他们识别出应用程序的易受攻击版本,攻击者就会利用上述漏洞在运行易受攻击的 OpenMetadata 映像的容器上执行代码。

在建立立足点后,攻击者会尝试验证其成功入侵并评估其对受感染系统的控制级别。此侦查步骤通常涉及联系公开可用的服务。在这种特定的攻击中,攻击者向以 oast[.] 结尾的域发送 ping 请求。我和oast[.]pro,与 Interactsh 相关联,Interactsh 是一种用于检测带外交互的开源工具。

OAST 域是可公开解析的,但是唯一的,允许攻击者确定从受感染系统到攻击者基础设施的网络连接,而不会生成可能触发安全警报的可疑出站流量。此技术对于攻击者在建立命令和控制 (C2) 通道并部署恶意负载之前确认成功利用并验证其与受害者的连接特别有用。

获得初始访问权限后,攻击者会运行一系列侦查命令来收集有关受害者环境的信息。攻击者查询网络和硬件配置、操作系统版本、活跃用户等信息。

作为侦测阶段的一部分,攻击者读取工作负载的环境变量。对于 OpenMetadata,这些变量可能包含用于 OpenMetadata 操作的各种服务的连接字符串和凭据,这可能会导致横向移动到其他资源。

一旦攻击者确认了他们的访问并验证了连接,他们就会继续从远程服务器下载有效载荷,这是一种与加密挖矿相关的恶意软件。我们观察到攻击者使用位于中国的远程服务器。攻击者的服务器托管了其他与加密相关的恶意软件,这些恶意软件存储在 Linux 和 Windows 操作系统中。

攻击者服务器显示加密挖矿相关恶意软件的屏幕截图

图 1.攻击者服务器中的其他与加密挖掘相关的恶意软件

然后,将提升下载文件的权限以授予执行权限。攻击者还向受害者添加了个人便条:

攻击者的笔记截图

图2.攻击者说明

接下来,攻击者运行下载的与加密挖矿相关的恶意软件,然后从工作负载中删除初始有效负载。 最后,对于动手键盘活动,攻击者使用 Netcat 工具启动与其远程服务器的反向 shell 连接,使他们能够远程访问容器并更好地控制系统。此外,为了持久性,攻击者使用 cronjobs 进行任务调度,从而允许以预定的时间间隔执行恶意代码。

如何检查集群是否易受攻击

在其集群中运行 OpenMetadata 工作负载的管理员需要确保映像是最新的。如果 OpenMetadata 应向 Internet 公开,请确保使用强身份验证并避免使用默认凭据。

要获取群集中运行的所有映像的列表,请执行以下操作:

kubectl get pods --all-namespaces -o=jsonpath='{range .items[*]}{.spec.containers[*].image}{"\n"}{end}' | grep 'openmetadata'

如果 Pod 的映像容易受到攻击,请确保将映像版本更新为最新版本

Microsoft Defender for Cloud功能如何提供帮助

这次攻击提醒我们,为什么在容器化环境中保持合规性和运行完全修补的工作负载至关重要。它还强调了全面的安全解决方案的重要性,因为它可以帮助检测攻击中使用新漏洞时集群中的恶意活动。在此特定情况下,攻击者的操作触发了 Microsoft Defender for Containers 警报,从而识别容器中的恶意活动。在下面的示例中,Microsoft Defender for Containers 在尝试从 Kubernetes 群集中的容器启动反向 shell 时发出警报,就像此攻击中发生的那样:

用于检测潜在反向 shell 的 Microsoft Defender 容器警报的屏幕截图

图3.Microsoft Defender for Containers 警报,用于检测潜在的反向 shell

为了防止此类攻击,Microsoft Defender for Containers 为 Azure、AWS 和 GCP 提供无代理漏洞评估,使你能够在攻击发生之前识别环境中的易受攻击的映像。Microsoft Defender 云安全态势管理 (CSPM) 可以帮助根据安全问题的风险确定其优先级。例如,Microsoft Defender CSPM 突出显示了暴露在互联网上的易受攻击的工作负载,使组织能够快速修正关键威胁。

组织还可以通过适用于 Sentinel 的 Azure Kubernetes 服务 (AKS) 解决方案使用 Microsoft Sentinel 监视 Kubernetes 群集,从而为用户和系统操作提供详细的审计跟踪,以识别恶意活动。

入侵指标 (IoC)

类型

国际 奥委会

可执行文件 SHA-256

7c6f0bae1e588821bd5d66cd98f52b7005e054279748c2c851647097fa2ae2df

可执行文件 SHA-256

19a63bd5d18f955c0de550f072534aa7a6a6cc6b78a24fea4cc6ce23011ea01d

可执行文件 SHA-256

31cd1651752eae014c7ceaaf107f0bf8323b682ff5b24c683a683fdac7525bad

知识产权

8[.]222[.]144[.]60

知识产权

61[.]160[.]194[.]160

知识产权

8[.]130[.]115[.]208

Hagai Ran Kestenberg,安全研究员
Yossi Weizman,高级安全研究经理