仅在程序尝试对我的计算机进行更改时通知我 如何允许单个程序不通知,[提权]Windows UAC 提权(CVE-2019-1388)...

0x00 UAC简介

首先来理解一下什么是 UAC :

用户账户控制UAC:UAC 是 win10 操作系统中非常重要的安全功能,它起源于 windows vista 操作系统,流行于 windows7、windows8 。各种功能策略得到了完善的修订和开发,应用在 win10 操作系统中,目的是减少恶意软件对系统的侵害。

操作系统默认情况下是启用UAC,当用户运行软件就会触发UAC规则。执行的时候就需要权限,否则是不会运行的。

不涉及到更改计算机操作的项目是不会触发UAC规则的,能够触发UAC规则的常用操作包括以下内容:

运行应用程序

修改注册表文件

安装或者卸载程序

安装设备驱动程序

增加或者删除用户账户

复制文件到windows目录

用户操作以上内容时就会触发UAC规则,系统会弹出提示对话框。简单来说,弹出对话框操作就是临时提升用户权限,允许程序运行。

控制 UAC 的4种级别:

1、始终通知(最高级别)

在最高级别中,用户安装和卸载应用程序、更改系统设置等操作时,都会触发UAC并弹出提示框。此级别是系统的最高安全级别,禁止用户随意更改设置和卸载应用程序等操作。

2、仅在程序尝试对我的计算机进行更改时通知我(默认级别)

在这个级别下,只有应用程序操作时会触发UAC规则,用户对电脑的其它设置操作不会触发UAC。所以,在此规则下既不影响用户的正常操作,又可以防止恶意软件对电脑的更改。

3、仅当程序尝试更改计算机时通知我

默认情况下,如果用户需要对操作系统进行更改设置,触发了UAC也不会对系统造成问题。但是,当你没有运行任何程序的时候,电脑提示触发UAC的提示框,说明某些恶意程序正在对电脑进行更改操作。我们应该立刻阻止操作。

4、从不通知(最低级别)

运行在最低级别时,当使用管理员用户或者普通用户操作系统时,所有的操作都会默认执行,电脑不会有任何的提示。在此模式下工作,电脑系统处于不安全的状态。木马程序可以随意更改电脑内部的数据,也可以在用户不只知道的情况下对电脑做出更改。

0x01 漏洞简介

该漏洞位于Windows的UAC(User Account Control,用户帐户控制)机制中。默认情况下,Windows会在一个单独的桌面上显示所有的UAC提示 Secure Desktop。

这些提示是由名为 consent.exe 的可执行文件产生的,该可执行文件以NT AUTHORITY\SYSTEM权限运行,完整性级别为System。

因为用户可以与该UI交互,因此对UI来说:限制是必须的,否则,低权限的用户可能可以通过UI操作的循环路由以SYSTEM权限执行操作,即使隔离状态的看似无害的UI特征都可能会成为引发任意控制的动作链的第一步。

事实上,UAC会话中本应该尽可能含有少些点击操作选项,倘若利用该漏洞,是很容易就可以提升权限到SYSTEM。

0x02 影响范围

#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

0x03 漏洞复现

环境信息:Windows 7 sp1

实验前:

开始实验:

1.以管理员权限运行 HHUPD.EXE,显示详细信息,显示有关此发布者的证书信息

2.点击颁发者右侧的超链接,等待一段时间ie浏览器自动运行,并访问该链接,这时出现404或链接无法访问(此时浏览器以system权限运行)

3.将该网页直接另存为文件,选择位置C:\Windows\System32\*.*

4.选择 cmd.exe 并运行,此时查看权限,已经是system权限

0x04 参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 是的,存储器中所有字节都可以位寻址。如果需要按位操作,可以使用位运算符来进行操作。常见的位运算符有: 1. 按位与(&):两个操作数对应的二进制位都为1,结果为1,否则为0。 2. 按位或(|):两个操作数对应的二进制位都为0,结果为0,否则为1。 3. 按位异或(^):两个操作数对应的二进制位相同,结果为0,否则为1。 4. 按位取反(~):对操作数的每一个二进制位取反,即0变为1,1变为0。 使用这些位运算符可以对存储器中的字节按位进行操作。 ### 回答2: 存储器中所有字节都是可位寻址的。字节寻址是指每个字节都有一个唯一的地址,我们可以根据其地址进行读取或写入操作。 如果非要按位来操作存储器,可以使用位操作指令。位操作指令可以对存储器的特定位进行读取或写入操作。例如,在某些特定的嵌入式系统中,我们可以使用位操作指令来对寄存器中的特定位进行操作,实现对存储器中字节的位级访问。 另一种方法是通过使用位域(Bit Field)来操作存储器中的特定位。位域允许我们将字节划分为几个不同的位字段,每个字段可以表示一个特定的位或一组位。我们可以使用位域的操作来读取或写入存储器中的特定位。 总之,虽然存储器中所有字节都是可位寻址的,但直接按位进行操作可能不太常见。对于一般的应用场景,我们通常会使用字节或位字段的操作来读取和写入存储器中的数据。 ### 回答3: 存储器中的每一个字节都可以被位寻址,即可以通过地址来唯一确定并访问每一个字节。 如果非要按位来操作存储器,可以采取以下几种方法: 1. 位操作指令:一些特定的计算机体系结构供了专门的指令来进行位级别的操作,如位与、位或、位非等。通过这些指令,可以直接对某个字节中的特定位进行读取和修改。 2. 位字段操作:在编程语言中,可以通过位字段操作来对存储器中的某个字节进行位级别的操作。位字段操作允许将一个字节中的某些位作为一个单独的字段来处理,可以设置、清除或者读取特定的位。 3. 位操作函数库:一些高级编程语言中供了位操作函数库,可以方便地进行位级别的操作。这些函数库供了一系列的位操作函数,如位与、位或、位非等,可以直接对存储器中的位进行操作。 总之,要按位来操作存储器,需要使用特定的指令、位字段操作或者位操作函数库来实现。这样可以直接对存储器中的每一个字节的每一位进行读取、设置和修改,满足按位操作的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值