美国公司Eclypsium Research在AMI(American Megatrends)公司的MegaRAC BMC产品中发现了两个新的安全漏洞,其危险程度分别达到High和Critical级别(其CVSS分别是9.1和8.2,而在将两个安全漏洞组合使用时,其CVSS达到10!),允许攻击者在无授权的情况下远程执行任意代码,以及以管理员身份访问设备。任何有能力访问Redfish远程管理界面的人均可以利用这些安全漏洞实施攻击。两个安全漏洞分别命名为CVE-2023-34329和CVE-2023-34330。
今年早些时候,Eclypsium在AMI公司的MegaRAC BMC产品中发现了多个安全漏洞。这一发现是在对2021年针对技嘉公司(Gigabyte)的勒索攻击事件过程中泄露出来的AMI公司的源代码进行分析时发现的。这批安全漏洞统称为BMC&C。新近发现的AMI BMC安全漏洞仍然归属于该范畴。
Redfish 宿主机接口处理程序允许两种身份验证选项 - 基本身份验证(需要 BIOS 的支持)或无身份验证(验证通信是否来自内部主机接口或 USB0 网络 IP 地址)。通过欺骗某些 HTTP header,攻击者可以欺骗 BMC,使其相信外部通信来自 USB0 内部接口。当这与配置了“无身份验证”选项的系统结合使用时,攻击者可以绕过身份验证并执行 Redfish API 操作。例如,攻击者可以选择使用常用的 /redfish/v1/AccountService/Accounts接口创建帐户,就像合法管理员所使用的那样。
AMI的Redfish 实现提供了一种功能,可以动态 POST (HTTP POST) 一段完整的代码,该代码将与 Redfish 服务一起以 BMC 芯片上的 root 用户身份执行。通常,此开发功能并不意味着在生产设备上启用,因为不应允许用户在 BMC 芯片本身上执行任意代码。但是,它默认处于启用状态,已经在宿主机接口上得到授权。
当与 CVE-2023-34329 中描述的 No Auth 选项结合使用时,BMC 芯片所在宿主机上的任何攻击者都可以 POST 任意代码(有效实现代码执行)。如果不启用“No Auth”选项,攻击者则需要 BMC credentials。
当这两个漏洞链接在一起时,即使是能够通过网络访问 BMC 管理界面且没有 BMC credentials的远程攻击者,也可以通过欺骗 BMC 相信 http 请求来自内部接口而实现远程代码执行。因此,如果接口暴露,攻击者可以远程上传并执行任意代码,包括来自互联网的代码。
这里还有多个子场景。例如,设备到货时可能未附带“无身份验证(No Auth)”选项,在这种情况下,攻击者首先需要credentials(可以是任何访问级别的目标帐户,包括最低级的“CallBack”帐户)。此类credentials通常可以通过多种手段在网络或宿主机上窃取,常用的手段包括暴力破解、攻陷的平台监控系统、跨系统的credentials重用等。
另外,之前发现的BMC&C漏洞可以与上述两者结合使用。例如,CVE-2022-40258(Redfish 和 API 的弱密码哈希值)可用于简化 BMC 芯片上管理员账户的管理员密码破解。
还需要强调的是,这种植入可能非常难以检测,并且对于任何攻击者来说都非常容易重新创建。
新近发现的安全漏洞对服务器系统可能造成的破坏包括:
无休止地关机:周期性地执行关机操作并阻止任何其他管理命令执行。这种攻击简单有效、极难诊断且无法恢复。
长期窃取敏感信息。通过操纵KVM攻击者不仅可以窃取所有操作信息、而且可以仿冒KVM控制系统。
为BIOS打补丁。利用BMC更新BIOS的功能可以在BIOS中植入任意EFI模块,规避BIOS安全引导机制甚至进入操作系统栈、规避操作系统安全机制及第三方EDR安全解决方案。
物理破坏。例如通过操纵电源管理机制提升电压来烧毁处理器芯片。
攻击其他BMC及网络设备。由于BMC本身基本上是个Linux系统。控制了BMC攻击者便有了完整的网络栈,足以造成各种附加破坏。
破坏Active Directory(AD)。BMC允许将其authentication与Active Directory集成。如果受害机构使用这一功能选项,攻击者可以获得AD authentication的初始内容并在此基础上实施进一步的攻击活动。
攻击虚拟云环境。攻击者可以污染客户映像,或利用BMC管理网络访问其他客户映像及宿主机设备,执行上面提及的各种破坏活动。