Windows证书对话框权限提升漏洞
- 2019 年 12 月 4 日
- 筆記
0x00:简介
CVE-2019-1388
利用简单思路:用win系统的guest提权到system。看完本文你会相信从guest到system会是如此简单。
该Bug可在UAC(用户帐户控制)机制中找到。默认情况下,Windows在称为“安全桌面”的单独桌面上显示所有UAC提示。提示本身是由名为的可执行文件生成的,该可执行文件以System的完整性级别consent.exe运行NT AUTHORITYSYSTEM。由于用户可以与此UI进行交互,因此有必要对UI进行严格限制。否则,低特权用户可能能够通过UI操作的circuit回路径以SYSTEM的身份执行操作。即使是孤立地看起来无害的单独UI功能也可能是导致任意控制的一系列动作的第一步。确实,您会发现UAC对话框已被精简,仅包含最少的可单击选项。
0x01:过程
当我们用guest用户右键选择以管理员身份运行软件时,会出现UAC的提示。

然而我们可以在这里发现一个有趣的地方

“显示有关此发布者的证书的信息”
我们来看看里面有什么

原来是一个Windows证书
这是一个可以利用的思路方法,因为我们知道,Windows证书对话框允许您将显示的证书导出到文件中。这将使我们能够访问标准的“文件保存”对话框,从而开放了丰富的UI功能。

但是微软将按钮变成了灰色!
但是,我们可能对证书对话框一无所知:定义了一个模糊的Microsoft特定对象标识符(OID,具有数字值1.3.6.1.4.1.311.2.1.10.WinTrust.h标头将其定义为SPC_SP_AGENCY_INFO_OBJID,如果存在,则将在“详细信息”选项卡中显示为SpcSpAgencyInfo.该OID的语义文献很少.但是,似乎证书对话框会解析此OID的值,如果它找到有效且格式正确的数据,它将使用它来将“常规”选项卡上的“颁发者”字段呈现为超链接!当涉及证书对话框的UAC版本时,Microsoft忘记禁用此超链接.

单击超链接将启动一个浏览器,从同意书.exe开始,浏览器将以方式运行NT AUTHORITYSYSTEM.奇怪的是,即使该浏览器是作为SYSTEM启动的,但仍在普通桌面上显示,而不是在安全桌面上显示.因此,只有在用户退出所有UAC对话框后,它才变得可见.从攻击者的角度来看,这是一个理想的组合.