信息来源:4hou
研究人员发现部分超微服务器的Baseboard management controllers (BMC,基板管理控制器)中存在未经过授权的虚拟USB挂载攻击漏洞,攻击者可以远程发起攻击。许多受影响的服务器主要集中在内网中,但研究人员称已经发现了超过47000个暴露在互联网中的服务器。
不安全的连接和认证
研究人员在超微X9, X10, X11平台的BMC组件的虚拟媒体实现中发现多个安全问题,统称USBAnywhere。BMC存在于几乎所有的服务器母板上,提供了远程管理单元组件的可能性。管理员可以用他们来配置服务器或重新安装操作系统以更新固件。
这些小的组件允许以虚拟USB drive的形式来挂载磁盘镜像。固件安全公司Eclypsium的研究人员发现一些超微平台的负责该操作的虚拟媒体服务是通过远程访问的,也是不安全的。
在远程访问时,虚拟媒体服务允许明文认证,发送未加密的流量,使用弱加密算法,因此存在认证绕过的潜在风险。
攻击者可以利用这些弱点,并获取对目标服务器的远程访问权限,就好像真的利用USB接口进行物理访问一样。可以看出这样的场景就是完全入侵了服务器,因为这种基于USB的攻击提供了很多的可能性,包括重装操作系统,植入恶意软件或改变服务器配置。
弱点
Eclypsium在一篇技术文章中详细描述了攻击者如何利用该漏洞的情况。研究人员称访问虚拟媒体服务是通过BMC WEB接口的Java应用来实现的。App可以连接到虚拟媒体服务,并监听BMC的TCP 623端口。该服务用定制的基于packet的格式来认证客户端,并在客户端和服务器之间移动USB包。
虽然Java应用是基于唯一的session ID来进行认证的,但是研究人员发现该服务允许明文凭证。而且流量只有在初始认证包中是加密的。而且使用的是RC4流加密方法,key保存在BMC固件中。
另一个漏洞是影响超微X10和X11平台的认证绕过漏洞。研究人员称,客户端在对虚拟媒体服务进行适当的认证之后,与客户端相关的服务内部状态是保持不变的。因为内部状态与客户端的socket file descriptor number有关联,一个新客户端可能被BMC操作系统分配一个继承在之前状态的相同的socket file descriptor number。这样新的客户端就可以继承具有相同socket file descriptor number的客户端的认证状态。
虽然目前攻击者还不能控制BMC操作系统的这一分配过程。但从逻辑上讲,攻击者理论上是可以被分配一个之前认证用户的socket file descriptor number的。
研究人员扫描623端口发现有超过90个国家和地区的47339个BMC受到该虚拟媒体服务的影响,而互联网上有超过95000个设备开放了623端口。
研究人员建议用户更新最新的固件来修复X9, X10,和X11平台的相关漏洞。
更多技术细节参见:https://eclypsium.com/2019/09/03/usbanywhere-bmc-vulnerability-opens-servers-to-remote-attack/