当前位置:首页 > 大健康产品 > 正文内容

OEM软件使笔记本电脑处于危险中

本文介绍如何利用该漏洞来加载任意未签名的DLL到SYSTEM权限运行的服务中,来实现权限提升和驻留。

PC-Doctor

允许SupportAssist访问敏感低级硬件的组件是由PC-Doctor公司开发的。该公司主要开发硬件诊断软件。下面主要介绍PC-Doctor公司开发的组件来描述漏洞,然后说明如何利用该漏洞来访问物理内存这样的低级硬件。

Dell SupportAssist

Dell SupportAssist是大多数Dell电脑预装的软件。该软件可以检查系统硬件和软件的健康。健康检查需要高权限级别的权限。为了以高级权限运行动作,签名的驱动会安装以及多个以SYSTEM运行的服务。

漏洞分析

研究人员首先关注的是Dell Hardware Support,因为该服务是一个非常重要的服务,而且有对硬件访问的高级权限,因为有能力可以进行权限提升。Dell Hardware Support服务启动后,会执行DSAPI.exe和 pcdrwi.exe,都是以SYSTEM权限运行的:

然后,该服务会执行多个PC-Doctor可执行文件来收集关于操作系统和计算机硬件的信息。这些可执行文件其实都是普通的PE文件,但是扩展名为p5x。

这些可执行文件都会加载DLL库,可以从不同的源来收集信息。一旦这些库被加载后,研究人员在ProcMon中发现:

从图中可以看出,3个p5x可执行文件尝试在c:\python27目录中找出以下DLL文件:

·LenovoInfo.dll

·AlienFX.dll

·atiadlxx.dll

·atiadlxy.dll

DLL劫持漏洞

·执行的用户名

·DLL文件名

研究人员在重命名以下DLL时,该DLL是以SYSTEM权限加载和执行的

·LenovoInfo.dll

·atiadlxx.dll

漏洞根源分析

p5x模块使用了一个名为Common.dll的工具库,提供了包括加载dll文件选项这样的功能:

从上图可以看出,该漏洞的两个根源在于:

·缺乏安全的DLL加载。代码使用的是LoadLibraryW,而不是LoadLibraryExW,这样就允许未授权的用户来用特定的flag来定义搜索顺序,比如LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR。这样反过来会在自己的文件夹中搜索DLL,避免在PATH变量中搜索DLL。

·没有对该二进制文件进行数字证书的验证。该程序并不会验证加载的DLL是否是签名的。因此,可以加载任意未签名的DLL文件。

漏洞利用

PC-Doctor签名的驱动

SupportAssist使用的是PC-Doctor签名的驱动(pcdsrvc_x64.pkms)来访问低级的内存和硬件。

PoC – 读取物理内存

在加载到PC-Doctor的库中,p5x可执行文件是SysSpace.dll。该库提供一个强大的对物理内存读取的封装函数—— PhysicalMemory::read。该函数打开一个到驱动的handle,并发送相关的IOCTL来启动。下一步是找出发送给该函数所需的参数。研究人员搜索了导入PhysicalMemory::read函数的DLL并使用它。

forfiles /M *.dll /C "cmd /c %userprofile%\amd64\dumpbin.exe /IMPORTS @file | findstr ?

read@PhysicalMemory && echo @file"153 ?

read@PhysicalMemory@memory@libSysSpace@@QEBA_N_KPEAX0W4AccessUnit@123@@Z"NVMeInfo.dll"153 ?

read@PhysicalMemory@memory@libSysSpace@@QEBA_N_KPEAX0W4AccessUnit@123@@Z"Quip.dll"

用IDA打开Quip.dll,提取调用该函数的实现:

然后加载SysSpace.dll,定义PhysicalMemory的constructor,并调用PhysicalMemory::read函数。

下面从物理内存中读取任意地址。

首先,用WinDbg Kernel Debugger检查物理地址的内容:

然后利用该漏洞来加载未签名的DLL,并将结果写入txt文件:

从中可以看出,可以将任意物理内存地址的内容写入。

潜在恶意使用和影响

SupportAssist是大多数运行Windows系统的Dell设备预装的软件。也就是说,该漏洞如果不修复,将影响数百万Dell PC用户。下面介绍攻击者可以利用该漏洞的2种潜在方式。

签名的执行和白名单绕过

该漏洞给予攻击者被加载和执行恶意payload的能力。该能力可能会被攻击者滥用,比如进行执行和绕过,具体来说有应用白名单绕过和签名验证绕过。

DSE绕过

为了加载kernel模式驱动带Windows 10中,必须要经过微软认证的厂商的数字签名。为了强制执行,微软使用了一种名为Driver Signature Enforcement (DSE)的机制,如果未签名的kernel-mode驱动被加载,操作系统就会奔溃。

攻击者可以获取pcdsrvc_x64.pkms驱动提供的R/W原语,pcdsrvc_x64.pkms驱动是已经加载的kernel-mode驱动。事实上,攻击者可能并不需要加载驱动,因为签名加载的驱动已经给了他们一些控制权限。

为了访问和操作R/W原语,攻击者可以:

·利用该漏洞来获取权限提升,并以SYSTEM权限运行;

·使用签名和加载的pcdsrvc_x64.pkms驱动;

·发送相关的IOCTLs来直接读写物理内存;

·然后攻击者就有了kernel-mode驱动环境下的全部R/W原语。

相关文章

颈椎病只是脖子痛?没那么简单!“一针”让他笑开颜?

神经根性颈椎病是颈椎病中比较常见的一种类型,指颈椎椎间盘退行性改变及其继发性病理改变所导致神经根受压引起相应神经分布区疼痛为主要临床表现的总称。 “哎,好疼啊!”上了年纪...

蓝汛葵花膏药品牌2020年「深藏不露」战略私董会圆满落幕

蓝汛葵花品牌深藏不露委员俱乐部私董会 蓝汛品牌于2020年5月24日在北京京都高尔夫别墅召开主题为《深层不漏》的委员俱乐部私董会,来自全国各地的8余位蓝汛...

泰国虎牌膏药虎贴虎标tigerbalm膏

更多精彩内容请关注我们 功能主治:消炎镇痛,肌肉酸痛,风湿痛,关节炎,腰椎间盘突出,腰痛,腰...

没花多少钱但是可以对症的膏药贴!!!

从前年开始,我的肩膀就时不时地开始疼。刚开始的时候,我还以为是太累了,休息休息就好了。可是,随着时间的推移,肩膀从原来的酸痛,慢慢变成了刺痛,胳膊能活动的范围也越来越小!当时严重的程度就是但...

创业故事一贴膏药济众生——膏药“女神”赵敏传奇

【我们是膏药章膏药铺】 我们不是医生,但我们手里有医生都开不出来的药方! 我们不会手术,但我们学会了祖宗留下的最简单管用的膏药! 我们不是医院,但是却有许许...

做到这几点,贴膏药才管用!记得转给你的父母看

孙先生最近十分忧心,因为母亲上了年纪,每逢到了寒冷的秋冬季节,总有些腰腿疼痛,反反复复。她不习惯上医院,喜欢去药店买些疏通经络、消肿止痛的膏药来贴。 中医膏药敷贴,固然对各...

贴膏药一定要对症

文/刘作儒 当我们的骨关节发生问题,如出现腰痛、腿疼,或是扭伤,大家一定要第一时间去医院,不能盲目贴膏药了事,否则不但会延误治疗,还可能会...

盘点“膏药”的合理使用

在我们的日常生活当中,膏药充当的角色一直都是缓解跌打损伤和用于治疗风湿痹痛、痛肿未溃、小儿厌食等症状的必备良药,广泛用于骨科、风湿科、儿科等。在治疗一些疾病时,大家经常会用到膏药,其实膏药含...

怎么选择合适的热灸膏生产厂家

作为一种常见的中药治疗方式,热灸膏被广泛使用。 对于那些想要加入热灸膏生产的人来说,选择一家可靠的生产厂家非常重要。 热灸膏源头厂家俏福圣为您提供一些建...

可以喷的“膏药”,舒缓关节、肩周颈椎,真得劲

等这波过去,我想去找我的推拿师傅好好按一按…… 前天我妈看到这条朋友圈,立马数落了我一顿,说是不是又老对着电脑、要少抱着手机不放、该休息就得休息…… 哎,道理咱都懂,可最近坐...