CVE-2019-1388 UAC提权

CVE-2019-1388

CVE-2019-1388 | Windows Certificate Dialog Elevation of Privilege Vulnerability

2019年11月12日msrc发布了漏洞,官方的介绍是

An elevation of privilege vulnerability exists in the Windows Certificate Dialog when it does not properly enforce user privileges. An attacker who successfully exploited this vulnerability could run processes in an elevated context. An attacker could then install programs; view, change or delete data.

To exploit this vulnerability, an attacker would first have to log on to the system. An attacker could then run a specially crafted application that could exploit the vulnerability and take control of an affected system.

The security update addresses the vulnerability by ensuring Windows Certificate Dialog properly enforces user privileges.

如果 Windows 证书对话框没有正确执行用户特权,则存在特权提升漏洞。成功利用此漏洞的攻击者可以在提升的环境中运行进程。然后,攻击者可能会安装程序,查看、更改或删除数据。
要利用此漏洞,攻击者首先必须以普通用户权限登录系统。然后攻击者运行一个精心调制的应用,该应用可以利用此漏洞并控制受影响的系统。
该安全更新通过确保 Windows 证书对话框正确执行用户特权来解决该漏洞。

影响范围也比较广,从win7到win10,server2008到2016,如果不打补丁都有威胁。

威胁测试名单

漏洞原理

此漏洞是因为 UAC(用户账户控制)机制的设定不严导致的。

默认情况下, Windows 在称为「安全桌面」的单独桌面上显示所有 UAC 提示。提示本身是由名为 consent.exe 的可执行文件生成的,该可执行文件以 NT AUTHORITY\SYSTEM 身份运行并且有 System 的完整性水平。

由于用户可以与此安全桌面的 UI 进行交互,因此有必要对 UI 进行严格限制。否则,低特权用户可能能够通过 UI 操作的路由回路以 SYSTEM 的身份执行操作。甚至看起来无害的单独 UI 功能也可能是导致任意控制的一系列操作的第一步。

另一个需要了解的东西是 OID,如果在运行一个可执行文件的时候我们触发了 UAC,在点击「展示证书发行者的详细信息」这个链接之后:

1574336933683.png

20191121195003.png

我们可以看到证书里的 Issued by(颁发者) 字段,这个字段对应的值就是 OID

对比一下cmd的证书

20191121195304.png

到这一步,也许找不到突破口,但是如果证书对话框定义了一个Microsoft特定对象标识符(OID),值1.3.6.1.4.1.311.2.1.10。其中WinTrust.h标头将其定义为SPC_SP_AGENCY_INFO_OBJID,如果存在,则将在细节标签中显示为SpcSpAgencyInfo。该OID的语义文献很少。但是,似乎证书对话框会解析此OID的值,如果它找到有效且格式正确的数据,它将使用它来将“常规”选项卡上的“颁发者”字段呈现为超链接。

当涉及证书对话框的UAC版本时,Microsoft没有禁用此超链接,这就给了我们提权的可能。

OID 为超链接时,通过点击此链接会触发 consent.exeSYSTEM 权限打开浏览器访问此链接,然后此浏览器就会有 SYSTEM 权限。即使该浏览器是作为SYSTEM启动的,但是它仍显示在普通桌面而不是安全桌面上。因此,只有在用户退出所有UAC对话框后,它才变得可见。因此对于攻击者来说,这具有天然的隐藏优势。通过保存该浏览页面,会弹出微软的资源管理器,在资源管理器中右键打开 cmd.exe 程序,就会继承浏览器的 SYSTEM 权限,由此就完成了由普通用户到 NT AUTHORITY\SYSTEM 用户的提权!

漏洞利用

以 Windows 7 为例:

先检查下补丁情况:

1
systeminfo>snowming.txt&(for %i in (  KB4525235 KB4525233) do @type micropoor.txt|@find /i  "%i"|| @echo  %i I can fuck)&del /f /q /a snowming.txt

20191121195644.png

没打补丁,用户是刚刚建的普通用户。

这个漏洞利用的精髓在于运行的软件,用来触发 UAC 「安全桌面」的软件的 OID 一定要解析为超链接。这样才能触发 consent.exeSYSTEM 权限打开浏览器访问这个链接。并且当然链接要能打开才行。

demo里给的文件是hhupd.exe,但是我在网上找了半天可用的版本都找不到,最后在群里要到一个可用的exe。

HHUPD.EXE

我们不需要运行这个文件,只需要唤起UAC即可。

双击打开唤起管理员验证的UAC

20191121200057.png

点超链接后就可以退出了

20191121200301.png

此时我们可以发现开启了一个IE浏览器,这里其实并不需要像其他的文章里说的那样等它把页面加载完。此时的浏览器已经是system权限了,想办法唤起资源管理器即可,我这里是

20191121200642.png

页面,另存为唤起资源管理器,然后在资源管理器里打开cmd,继承浏览器的system权限。

20191121200852.png

20191121200926.png

提权成功!

相关研究人员也发布了一个进程链检测脚本

https://github.com/Neo23x0/sigma/blob/master/rules/windows/process_creation/win_exploit_cve_2019_1388.yml

这里有一个zerodayinitiative发表的关于利用的视频。

https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&auto=0&vid=wxv_1084758655733563392

参考资料

CVE-2019-1388 | Windows Certificate Dialog Elevation of Privilege Vulnerability

THANKSGIVING TREAT: EASY-AS-PIE WINDOWS 7 SECURE DESKTOP ESCALATION OF PRIVILEGE

Lz1y/imggo

CVE-2019-1388:通过 UAC 进行 Windows 提权

最新Windows 7安全桌面提权漏洞风险提示与过程披露

jas502n/CVE-2019-1388

0%