【M01N】CVE-2019-0841 DACL权限覆盖本地提权漏洞攻击分析
2019-09-04
前言
近日国外的研究员Nabeel Ahmed纰漏了CVE-2019-0841的漏洞细节,该漏洞成功利用会使Windows低权限用户获取到目标文件的“完全控制”权限,攻击人员配合dll劫持等其他攻击技术可完成提权到NT Authority/SYSTEM及后门攻击。微软认为该漏洞是由Windows AppX 部署服务(AppXSVC)没有正确处理硬链接导致的,实质上是由于Windows系统的三个特性组合完成的利用,ylzz总站线路检测M01N红队对该漏洞原理和利用进行详细分析。
相关概念
DACL (Discretionary Access Control List)是 ACE (Access Control Entries)的集合。ACE访问控制条目定义了谁能对某个对象做什么(如读/写等操作):
硬链接Hard link是一种针对文件的特殊快捷方式,不占用系统空间,但目标文件必须在同一个驱动器内,且修改一个文件的内容,其他链接文件内容也会被修改。
漏洞原理
所有的Windows应用的用户配置都位于C:\Users\
该文件用于追踪应用的注册表设置。NT Authority/SYSTEM使用该文件修改应用配置,而作为普通用户也拥有完全控制的访问权限:
这里以系统默认安装的Edge浏览器进行举例,打开Edge浏览器后,settings.dat文件会被NT Authority/SYSTEM访问,首先会对文件的权限进行检查,如果权限错误,就会修复文件权限。然后SYSTEM会读取文件内容,若内容已损坏,则会删除该文件,同时通过复制位于C:\WIndows\System32目录下的settings.dat模版文件重置应用配置。之后,获取新文件的排他锁(Exclusive lock)以防止其他的进程在应用运行时访问该文件。