CVE-2019-1388 | Windows证书对话框特权提升漏洞 发布时间:11/12/2019
如果 Windows 证书对话框没有正确执行用户特权,则存在特权提升漏洞。成功利用此漏洞的攻击者可以在提升的环境中运行进程。然后,攻击者可能会安装程序,查看、更改或删除数据。 要利用此漏洞,攻击者首先必须以普通用户权限登录系统。然后攻击者运行一个精心调制的应用,该应用可以利用此漏洞并控制受影响的系统。 该安全更新通过确保 Windows 证书对话框正确执行用户特权来解决该漏洞。
此漏洞是因为 UAC(用户账户控制)机制的设定不严导致的。
默认情况下, Windows 在称为「安全桌面」的单独桌面上显示所有 UAC 提示。提示本身是由名为 consent.exe
的可执行文件生成的,该可执行文件以 NT AUTHORITY\SYSTEM
身份运行并且有 System
的完整性水平。
由于用户可以与此安全桌面的 UI 进行交互,因此有必要对 UI 进行严格限制。否则,低特权用户可能能够通过 UI 操作的路由回路以 SYSTEM 的身份执行操作。甚至看起来无害的单独 UI 功能也可能是导致任意控制的一系列操作的第一步。
另一个需要了解的东西是 OID
,如果在运行一个可执行文件的时候我们触发了 UAC,在点击「展示证书发行者的详细信息」这个链接之后:
我们可以看到证书里的 Issued by
字段,这个字段对应的值就是 OID
。
注意对比下两图中 OID
的不同:
证书会解析 OID
的值,可能显示为超链接。但是 Windows 忘记禁用了 OID
处的超链接,这就给了我们提权的可能。
当 OID
为超链接时,通过点击此链接会触发 consent.exe
以 SYSTEM
权限打开浏览器访问此链接,然后此浏览器就会有 SYSTEM
权限。通过保存该浏览页面,会弹出微软的资源管理器,在资源管理器中邮件打开 cmd.exe
程序,就会继承浏览器的 SYSTEM
权限,由此就完成了由普通用户到 NT AUTHORITY\SYSTEM
用户的提权!
以 Windows 7 为例:
先检查下补丁打了没有:
systeminfo>snowming.txt&(for %i in (KB4525235 KB4525233) do @type snowming.txt|@find /i "%i"|| @echo no this padding: %i)&del /f /q /a snowming.txt
没有打补丁,当前用户是 guest
。
这个漏洞利用的精髓在于运行的软件,用来触发 UAC 「安全桌面」的软件的 OID
一定要解析为超链接。这样才能触发 consent.exe
以 SYSTEM
权限打开浏览器访问这个链接。并且当然链接要能打开才行。
在目标 Windows 7- vs 2010 机器上,我从我的 C2 下载了 hhupd.exe
软件。
Unblock 之后 run as administrator,就能触发 UAC 的安全桌面,查看证书详情:
点击此超链接就能打开浏览器页面,保存:
注意我们要在这里通过资源管理器中邮件打开 cmd.exe
程序,这样才能继承浏览器的 SYSTEM
权限。
在 File name
一栏里输入 C:\Windows\System32\*.*
,然后
cmd.exe
→ open,提权成功:
【温馨提示】提权过程中可能遇到需要翻墙才能打开网页、网页打不开等问题,我试了几台 Windows 7 虚拟机,包括 Windows7 - vs 2017,失败过几次。
参考链接:
- Windows7来宾帐户权限设置及磁盘配额,百度知道
- Object Identifiers,微软官方文档
- CVE-2019-1388 | Windows Certificate Dialog Elevation of Privilege Vulnerability,2019年11月12日
- THANKSGIVING TREAT: EASY-AS-PIE WINDOWS 7 SECURE DESKTOP ESCALATION OF PRIVILEGE,ZERO DAY INITIATIVE,Simon Zuckerbraun,2019年11月19日
- CVE-2019-1388: Windows Privilege Escalation Through UAC,2019年11月19日