记一次AMD漏洞挖掘:从文件权限配置错误到驱动权限提升

华盟原创文章投稿奖励计划

文章作者:先知社区(Ba1_Ma0)

文章来源:https://xz.aliyun.com/news/17962


1

AMD


超微半导体公司(Advanced Micro Devices, Inc.),通常缩写为 AMD,是一家总部位于加利福尼亚州圣克拉拉的美国跨国半导体公司,为商业和消费市场开发计算机处理器和相关技术。


2

漏洞挖掘过程


在使用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:\AMD\Chipset_Software\Binaries\PSP Driver\W11x64

使用文本编辑器打开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文件夹,成功将恶意文件移动至此目录


自动草稿


这里只是验证其中的一个文件移动操作。


3

提权漏洞挖掘


通过前面的文件权限配置错误,检查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 芯片组驱动程序软件的安装程序中,不在赏金范围内,但后续更新会发布安全公告或简报


自动草稿



黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文


END

本文来源先知社区(Ba1_Ma0),经授权后由华盟君发布,观点不代表华盟网的立场,转载请联系原作者。

发表回复