码迷,mamicode.com
首页 > 其他好文 > 详细

基于COM组件ICMLuaUtil接口来实现uac绕过

时间:2020-05-19 20:31:42      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:获得   防止   strong   用户组权限   访问   权限   https   提示框   查看   

Y4er哥给的文章 整理下UAC这个知识点

参考文章:https://payloads.online/archivers/2020-03-02/2

先介绍下UAC(用户帐户控制):

UAC(User Account Control)是微软在 Windows Vista 以后版本引入的一种安全机制,通过 UAC,应用程序和任务可始终在非管理员帐户的安全上下文中运行,除非管理员特别授予管理员级别的系统访问权限。

UAC 可以阻止未经授权的应用程序自动进行安装,并防止无意中更改系统设置。

UAC需要授权的动作包括:配置Windows Update;增加或删除用户账户;改变用户的账户类型;改变UAC设置;安装ActiveX;安装或移除程序;安装设备驱动程序;设置家长控制;将文件移动或复制到Program Files或Windows目录;查看其他用户文件夹等。

先来讲下什么时候我们需要绕过UAC

举例一个环境:当我们当前获得的权限是存在于管理员组的时候但是并且是administrator这个用户,此时就可能需要我们进行绕过UAC的操作,否则虽然是管理员组但是实际上并没有管理员所对应的高权限操作

再讲下为什么有的应用程序不需要提示UAC?

因为普通应用执行权限有限,某些操作必然会要求更高的管理员权限。此时,通常就需要一个权限提升的操作。程序可以向系统请求提权,系统会将此请求通过提一个提示框,请用户确认。

如果当前用户的用户组权限不是管理员,提权操作是要求输入管理员密码的,这点和在Linux中的相应操作类似。

猜想:所以有的应用程序不需要提示UAC,应该是类似的windows自带的某些必然需要运行的程序,而且该程序必然要求更高的管理员权限来进行维持相对应的需要,所以自然不需要用户的确认来确定该操作

并且 白名单还有一个特性:拥有自动权限提升属性的文件,当默认以管理员权限运行,不需要经过用户的授权

上面讲的关于 有的应用程序不需要提示UAC的问题,也就是我们其中的一个突破口,白名单的绕过

所以一般绕过UAC的方法主要有两种方法

绕过UAC的两种方法:一种是利用白名单提权机制,另一种是利用COM组件接口技术

第一种就是白名单提权机制:

倾旋的文章中提到了:拥有自动权限提升属性的文件,当默认以管理员权限运行,不需要经过用户的授权的程序则可以成为我们白名单程序

这里其实还需要指出一点:仅仅找到拥有自动权限提升的属性的程序还是不够的,为什么不够?难道我们可以叫它帮我们进行其他命令的执行吗?不可以

但是可以尝试去挖掘,如果我们能够劫持它所需要的dll文件来执行我们所需要的才真正成功了

到时候差不多介绍完白名单的提权机制了

那么如何进行寻找白名单的程序并且成功利用呢?

基于COM组件ICMLuaUtil接口来实现uac绕过

标签:获得   防止   strong   用户组权限   访问   权限   https   提示框   查看   

原文地址:https://www.cnblogs.com/zpchcbd/p/12916594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!