戴尔预装的SupportAssist组件存在DLL劫持漏洞,全球超过1亿台设备面临网络攻击风险

SupportAssist是一款功能强大的支持应用程序,有助于确保用户的系统始终以最佳状态运行、主动发现问题并可让您运行诊断程序和驱动程序更新扫描。

不过最近,有研究人员发现这款工具软件存在一个DLL劫持漏洞。庆幸的是,目前戴尔官方已经发布了更新后的版本,在此我们建议所有受影响的客户立即下载安装更新。

问题在于,该漏洞不仅影响使用SupportAssist工具软件的戴尔计算机,还会波及到第三方。戴尔和其他原始设备制造商生产的数百万台PC容易受到预装SupportAssist软件中的组件漏洞的影响,该漏洞可能使远程攻击者完全接管受影响的设备。

高严重性漏洞(CVE-2019-12280)源自SupportAssist中的一个组件,这是一种预先安装在PC上的主动监控软件,可自动检测故障并为Dell设备发送通知。该组件由一家名为PC-Doctor的公司制造,该公司为各种PC和笔记本电脑原始设备制造商(OEM)开发硬件诊断软件。

SafeBreach实验室的安全研究员Peleg Hadar表示:PHP大马

大多数运行Windows的戴尔设备都预装了SupportAssist,这意味着只要该软件没有打补丁,这个漏洞可能会影响到许多戴尔用户。

PC-Doctor已发布补丁,用于修复受影响的设备。受影响的客户可以点击这里找到最新版本的SupportAssist(适用于单个PC用户)或点击这里(适用于IT管理员)。

目前戴尔表示,他们已经要求用户打开自动更新或手动更新他们的SupportAssist软件。戴尔发言人表示,由于大多数客户都启用了自动更新,目前约有90%的客户已收到该补丁。

SafeBreach发现的漏洞是PC Doctor漏洞,是Dell SupportAssist for Business PC和Dell SupportAssist for Home PC附带的第三方组件。 漏洞出现后,PC Doctor迅速向戴尔发布修复程序,戴尔在2019年5月28日为受影响的SupportAssist版本实施并发布了更新。

漏洞解构

该漏洞源自SupportAssist中的一个组件,该组件检查系统硬件和软件的运行状况并需要高权限。易受攻击的PC-Doctor组件是SupportAssist中安装的签名驱动程序,这允许SupportAssist访问硬件(例如物理内存或PCI)。

该组件具有动态链接库(DLL)加载漏洞故障,可能允许恶意攻击者将任意未签名的DLL加载到服务中。 DLL是用于保存Windows程序的多个进程的文件格式。

将DLL加载到程序中时,由于没有针对二进制文件进行数字证书验证。该程序不会验证它将加载的DLL是否已签名,因此,它会毫不犹豫地加载任意未签名的DLL。

因为PC-Doctor组件已经签署了Microsoft的内核模式和SYSTEM访问证书,如果一个坏的actor能够加载DLL,他们将实现权限提升和持久性:包括对包括物理内存在内的低级组件的读/写访问,系统管理BIOS等。奇热影视

Hadar表示:

远程攻击者可以利用这个漏洞,攻击者需要做的就是诱骗(使用社会工程或其他策略)受害者将恶意文件下载到某个文件夹。所需的权限取决于用户的'PATH env'变量,如果攻击者有一个常规用户可以写入的文件夹,则不需要高级权限。攻击者利用该漏洞获得后在签名服务中作为SYSTEM执行,基本上他可以做任何他想做的事情,包括使用PC-Doctor签名的内核驱动程序来读写物理内存。

更糟糕的是,SupportAssist中的组件也影响了一系列正在使用其重新命名版本的OEM :这意味着其他未命名的OEM设备也容易受到攻击。

PC-Doctor没有透露其他受影响的OEM,但表示已发布补丁以解决“所有受影响的产品”。

PC-Doctor发言人告诉研究人员,PC-Doctor开始意识到PC-Doctor的戴尔硬件支持服务和PC-Doctor Toolbox for Windows中存在一个不受控制的搜索路径元素漏洞。此漏洞允许本地用户通过位于不安全目录中的木马DLL获取权限并进行DLL劫持攻击,该目录已由运行具有管理权限的用户或进程添加到PATH环境变量中。 

也就是说,具有常规用户权限的攻击者可以通过在特定位置植入特制DLL文件来利用提升的权限执行任意代码,从而利用该漏洞。

检测到问题时,SupportAssist用于检查系统硬件和软件的运行状况,它会向Dell发送必要的系统状态信息,以便开始进行故障排除。显然,这些检查需要提升权限,因为许多服务使用SYSTEM权限运行。

据专家介绍,SupportAssist利用PC-Doctor公司开发的组件来访问敏感的低级硬件(包括物理内存,PCI和SMBios)。

专家发现,在Dell硬件支持服务启动后,它会执行DSAPI.exe,而DSAPI.exe又执行pcdrwi.exe。两个可执行文件都以SYSTEM权限运行,然后,该服务执行多个PC-Doctor可执行文件以收集系统信息。可执行文件是使用扩展名为“p5x”的常规PE文件。

其中三个p5x可执行文件尝试在用户PATH环境变量上找到以下DLL文件:LenovoInfo.dll,AlienFX.dll,atiadlxx.dll,atiadlxy.dll。

专家们发现,在他们的测试环境中,路径c:\python27有一个ACL,允许任何经过身份验证的用户将文件写入ACL。这意味着可以升级权限并允许常规用户编写缺少的DLL文件并实现代码执行为SYSTEM,该漏洞使攻击者能够通过签名服务加载和执行恶意负载。这种能力可能被攻击者用于不同目的,例如执行和逃避:

· 应用白名单绕过;

· 签名验证绕过;

漏洞的根本原因是,缺乏安全的DLL加载以及缺少针对二进制文件的数字证书验证。

漏洞发现时间轴

· 04/29/19:报告漏洞;

· 04/29/19:戴尔的初步回复;

· 05/08/19:戴尔确认该漏洞;

· 05/21/19:戴尔将此问题发送给PC-Doctor;

· 05/21/19:PC-Doctor计划在6月中旬发布修复程序;

· 05/22/19:PC-Doctor正式发布漏洞公告(CVE-2019-12280);

· 05/28/19:戴尔发布受PC-Doctor受影响的SupportAssist的修复补丁;

· 06/12/19:披露日期延长至6月19日;

· 06/19/2019:漏洞披露;

后续影响

考虑到PC-Doctor在全球的装机量超过1亿台,漏洞的影响范围可能更加深远。SafeBreach的安全研究人员发现,存在漏洞的组件还用在了CORSAIR Diagnostics、Staples EasyTech Diagnostics、Tobii I-Series和Tobii Dynavox等诊断工具中。

猜你喜欢

转载自blog.csdn.net/systemino/article/details/94559688