低权限的用户可以访问敏感注册表数据库文件,Windows 10和11被爆本地权限提升漏洞。
Windows Registry(注册表)是Windows操作系统的配置文件库,其中含有哈希后的密码、用户定制数据、应用配置选项、系统解密密钥等数据。
研究人员发现低权限的用户可以访问敏感注册表数据库文件后,Windows 10和Windows 11操作系统就可以实现利用这一问题实现本地权限提升。
与Windows注册表相关的数据库文件保存在C:\Windows\system32\config 文件夹下,并被分成不同的文件比如SYSTEM、SECURITY、SAM、DEFAULT和 SOFTWARE。这些文件中含有与设备上用户账号相关的敏感信息,以及Windows特征使用的安全token,因此没有特权的普通用户应当被限制查看权限。
尤其是Security Account Manager (SAM)文件,其中含有系统中所有用户的哈希后的密码,攻击者可以利用这些信息来推测用户身份。
任何人都可以读取SAM文件
安全研究人员Jonas Lykkegaard称发现Windows 10和Windows 11中与Security Account Manager (SAM)相关的注册表文件以及其他注册表数据库都可以被设备上低权限的user组访问。
BleepingComputer研究人员在Windows 10 20H2设备上确认了这些权限:
SAM文件的文件权限
由于文件权限很低,因此权限非常有限的攻击者也可以提取设备上NTLM哈希过的口令并使用这些哈希值来获取提升后的权限。
SAM文件这样的注册表文件经常被操作系统使用,当用户尝试访问该文件时,常常会收到文件已打开或被其他程序锁定的访问限制提示。
无法访问打开的SAM文件
但包括SAM在内的注册表文件会在Windows卷影副本中备份,而访问卷影副本不会出现访问限制的情况。
比如,攻击者可以使用如下的win32设备命名空间路径来访问SAM文件:
\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM
由于低文件权限和不准确的文件权限,以及文件的卷影副本,安全研究人员Benjamin Delpy称可以非常容易地窃取其他账号的NTML哈希密码来实现权限提升。
PoC视频如下所示:
https://vimeo.com/577234015
除了窃取NTLM哈希值和进行权限提升外,Delpy称低访问权限还可以用于其他的攻击活动,比如Silver Ticket攻击。
目前,尚不清楚微软为什么要讲注册表的权限修改为普通用户也可以读取。但CERT/CC漏洞分析员 Will Dormann称,微软是在Windows 10 1809 版本中引入的这些权限变化。Dormann在安装今年6月最新版本的Windows 10 20H2时这些低权限的情况并没有发生。