文章作者:先知社区(Ba1_Ma0)
文章来源:https://xz.aliyun.com/news/17962
在使用PrivescCheck工具收集信息时,发现AMD目录可以被用户修改
虽然用户权限只能读取和执行,但Authenticated Users是可以对此文件夹进行修改的
什么是Authenticated Users
Authenticated Users(已认证用户) 是Windows操作系统中的一个安全主体(Security Principal),代表所有通过系统身份验证的用户或计算机账户
意思就是,普通用户可以对AMD文件夹进行读取、执行、修改
文件权限配置错误
在AMD文件内有两个子文件夹
经研究,AMD-Software-Installer文件夹只是Software程序的安装包目录,不重要,重要的是Chipset_Software文件夹
其内部为AMD驱动安装配置文件,包括驱动inf安装配置文件,驱动sys程序,驱动msi安装
普通用户对此文件夹内所有文件均可访问、执行与修改,最重要的是'修改'这个权限,代表用户可以无条件修改驱动的安装配置文件(.inf),也可以利用msi文件安装恶意程序
利用漏洞
这里展示普通用户可以随意修改驱动的安装配置文件会造成什么危害,这里用AMD PSP驱动做演示,首先,要读懂它的安装配置文件,文件夹目录:
C:AMDChipset_SoftwareBinariesPSP DriverW11x64
使用文本编辑器打开amdpsp.inf
INF DestinationDirs Section 是 Windows 驱动程序安装文件(.inf)中的一个重要部分,用于定义文件在目标系统上的安装路径,它指定了驱动程序和相关文件应该被复制到哪个系统目录中,文件默认是从system32drivers目录下导入dll,可以修改配置文件,让它导入用户指定目录下的dll
修改至从AMDChipset_SoftwareBinariesPSP DriverW11x64目录下导入dll,这个目录可控,能写入恶意dll
这里是安装的sys程序,和移动system32目录下的dll,作用是将指定目录下的amdtee_api64.dll,amdtee_api32.dll移动到system32目录下
这里通过前面修改的文件夹,可以将AMDChipset_SoftwareBinariesPSP DriverW11x64目录下名为amdtee_api64.dll移动至system32目录下
为了区分,移动后的文件名改为了777.dll
更新驱动文件
打开计算机管理,依次选择系统工具-设备管理器-安全设备-AMD PSP 11.0 Device,右击选择更新驱动程序
选择手动查找并安装驱动
选择从本地获取
找到AMDChipset_SoftwareBinariesPSP DriverW11x64目录下的amdpsp.inf并点击确定
打开system32文件夹,成功将恶意文件移动至此目录
这里只是验证其中的一个文件移动操作。
通过前面的文件权限配置错误,检查AMD当前运行的驱动文件目录是否可以被修改
遗憾的是,正在运行的驱动文件夹也可以被修改
下图是其他正常驱动目录的配置权限,只有system权限才能完全控制
AMD External Events Service Module 存在一个权限提升漏洞,其中 atiesrxx.exe 会从当前目录加载一个不存在的 DLL(MSASN1.dll)到程序栈中执行。需要注意的是,由于用户可以修改驱动程序文件夹,而该文件夹中的内容会以系统权限执行,攻击者可利用此漏洞在本地机器上获取系统权限。
当 AMD External Events Service Module(atiesrxx.exe)运行时,它会从当前目录加载一个不存在的 DLL(MSASN1.dll)并在栈中执行。
编写一个用于验证漏洞的 DLL,并将其重命名为 MSASN1.dll。
将 MSASN1.dll 移动到 AMD External Events Service Module 的驱动程序文件夹中。
重启服务后,恶意 DLL 成功以系统权限加载并执行。
因为服务是开机自启动的,所以还可用作权限维持
提交赏金漏洞,官方回应问题出在 AMD 芯片组驱动程序软件的安装程序中,不在赏金范围内,但后续更新会发布安全公告或简报
如侵权请私聊我们删文
原文始发于微信公众号(黑白之道):记一次AMD漏洞挖掘:从文件权限配置错误到驱动权限提升
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论