CVE-2019-1388 UAC提权

admin 2022年4月16日16:12:51评论74 views字数 2286阅读7分37秒阅读模式

简介

用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。

影响范围

SERVER
======
 
Windows 2008r2 7601    ** link OPENED AS SYSTEM **
Windows 2012r2 9600    ** link OPENED AS SYSTEM **
Windows 2016   14393   ** link OPENED AS SYSTEM **
Windows 2019   17763   link NOT opened
 
 
WORKSTATION
===========
 
Windows 7 SP1 7601    ** link OPENED AS SYSTEM **
Windows 8      9200    ** link OPENED AS SYSTEM **
Windows 8.1        9600    ** link OPENED AS SYSTEM **
Windows 10 1511   10240   ** link OPENED AS SYSTEM **
Windows 10 1607   14393   ** link OPENED AS SYSTEM **
Windows 10 1703   15063   link NOT opened
Windows 10 1709   16299   link NOT opened

漏洞原理

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

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

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

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

CVE-2019-1388 UAC提权

CVE-2019-1388 UAC提权

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

对比一下cmd的证书

CVE-2019-1388 UAC提权

到这一步,也许找不到突破口,但是如果证书对话框定义了一个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 AUTHORITYSYSTEM 用户的提权。

漏洞复现

实验环境 win7 Service1

先用命令查看下这个漏洞有没有打对应的补丁KB4525235KB4525233

systeminfo>snowming.txt&(for %i in (  KB4525235 KB4525233) do @type micropoor.txt|@find /i  "%i"|| @echo  %i It seems can be vulunable)&del /f /q /a snowming.txt
CVE-2019-1388 UAC提权

首先查看下权限

CVE-2019-1388 UAC提权

这里用到UAC提权专用exe:HHUPD.exe,右键以管理员权限打开并显示详细信息

CVE-2019-1388 UAC提权

点击显示有关此发布者的证书的信息,点击颁发者此处的超链接

CVE-2019-1388 UAC提权

等待弹出的ie页面加载完成后点击页面这个地方(此时的浏览器以system权限运行)

CVE-2019-1388 UAC提权

点击网页另存为

CVE-2019-1388 UAC提权

这里的报错不用管

CVE-2019-1388 UAC提权

选择位置C:WindowsSystem32cmd.exe

CVE-2019-1388 UAC提权

这里就会弹出一个cmd.exe的对话框,这里发现已经是system权限

CVE-2019-1388 UAC提权

参考资料

https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2019-1388

加下方wx,拉你入群一起学习:

CVE-2019-1388 UAC提权

往期推荐

windows下的反调试探究

绕过360实现lsass转储

一次简单的内网渗透靶场实战

惊!微软竟爆出如此漏洞

java agent使用与agent内存马

Spring Beans RCE分析(附带环境源码)

初探Listener内存马

对于挖矿的检测以及防御方案

hvv面试题整理(补充版)

HVV面试题总结


CVE-2019-1388 UAC提权


原文始发于微信公众号(红队蓝军):CVE-2019-1388 UAC提权

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月16日16:12:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2019-1388 UAC提权http://cn-sec.com/archives/918361.html

发表评论

匿名网友 填写信息