简介
SafeBreach Labs研究人员在Acer Quick Access(宏基快速访问)软件中发现一个安全漏洞。本文将证明如何利用该漏洞来实现驻留、防护绕过和权限提升。
Acer Quick Access是一款宏基电脑中预装的一项辅助软件,该软件可以快速打开某些相关的功能,如:无线,蓝牙等功能的快速开启和关闭。该软件有时候是以NT AUTHORITY\SYSTEM权限运行的。
漏洞
漏洞发现
最开始,研究人员基于以下假设来攻击Acer Quick Access服务:此类重要的服务都拥有到PC硬件的高级访问权限和进行权限提升的能力。
Acer Quick Access服务启动后,以NT AUTHORITY\SYSTEM权限在执行 了QAAdminAgent.exe。该库加载后,研究人员发现该服务尝试寻找3个丢失的DLL文件来尝试加载它:
从中可以看出,该服务尝试加载3个丢失的DLL文件,最终是从python环境变量目录 c:\python27 中加载的:
atiadlxx.dll atiadlxy.dll nvapi.dll
DLL劫持漏洞
在虚拟机中,c:\python27目录拥有允许任何经过认证的用户在ACL中写文件的ACL。这就让权限提升变得简单了,普通用户也可以写入丢失的DLL文件来以NT AUTHORITY\SYSTEM权限实现代码执行。
需要注意的是,管理员用户或进程必须:(1)设置目录ACL为允许非管理员账户访问;(2)修改系统路径变量使其包含该目录。
为了测试该权限提升漏洞,研究人员编译了一个未签名的DLL文件,来将以下内容写入txt文件的文件名中:
· 执行它的用户名
· Dll文件名
然后就可以加载任意的DLL文件并以NT AUTHORITY\SYSTEM权限执行代码了。
注:如果atiadlxx.dll文件已经存在了,就不会加载atiadlxy.dll文件了。
漏洞根源分析
Acer Quick Access (QAAdminAgent.exe)访问启动后,就会通过调用LoadLibraryW WinAPI函数来加载这3个DLL文件:
如图所示,这就是该漏洞的2个根源:
Uncontrolled Search Path – 缺乏安全的未管理的DLL加载
该服务会尝试使用LoadLibraryW而不是使用LoadLibraryExW来加载DLL文件,后者可以控制DLL文件加载的路径。
缺乏数字证书验证
对二进制文件没有进行数字证书验证。该程序没有验证加载的DLL是不是经过签名的。因此,可以加载任意未签名的DLL文件。
潜在恶意利用和影响
Acer Quick Access软件在许多Windows系统的宏基设备上都是预装的。因此该漏洞被利用后可能会带来很多的不良影响。下面是研究人员分析的攻击者利用该漏洞的3种方式:
签名执行、白名单绕过和防护绕过
该漏洞给了攻击者使用签名的服务来加载和执行恶意payload的能力。攻击者利用该漏洞可以实现应用白名单绕过、执行和绕过等。
驻留机制
该漏洞给了攻击者一种以驻留的方式加载和执行恶意payload的能力。每当攻击者在有漏洞的路径中释放恶意DLL后,该服务就会在每次重启时加载恶意代码。
权限提升
该服务让攻击者可以以NT AUTHORITY\SYSTEM权限运行,因此攻击者可以利用该漏洞来进行权限提升。
本文翻译自:https://safebreach.com/Post/Acer-Quick-Access-DLL-Search-Order-Hijacking-and-Potential-Abuses-CVE-2019-18670如若转载,请注明原文地址: https://www.4hou.com/vulnerable/22213.html