基于白名单AutoElevate绕过UAC提权

Windows UAC概述

UAC概述

UAC(User Account Control),中文翻译为用户帐户控制,是微软在Windows Vista和Windows7中引用的新技术,主要功能是进行一些会影响系统安全的操作时,会自动触发UAC,用户确认后才能执行。因为大部分的恶意软件、木马病毒、广告插件在进入计算机时都会有如:将文件复制到Windows或Program Files等目录、安装驱动、安装ActiveX等操作,而这些操作都会触发UAC,用户都可以在UAC提示时来禁止这些程序的运行

许可提示当用户尝试执行需要用户管理访问令牌的任务时,会显示同意提示,下面是 UAC 同意提示的示例

图片.png

选择是执行程序,选择否则相反

凭据提示当标准用户尝试执行需要用户管理访问令牌的任务时,会显示凭据提示, 还可以要求管理员提供其凭据。

图片.png

UAC触发操作

UAC触发的条件如下

修改Windows Update配置;
增加或删除用户帐户;
改变用户的帐户类型;
改变UAC设置;
安装ActiveX;
安装或卸载程序;
安装设备驱动程序;
修改和设置家长控制;
增加或修改注册表;
将文件移动或复制到Program Files或是Windows目录;
访问其他用户目录

UAC有用四种设置要求

简单来说,UAC设置分四种,分为始终通知、仅在程序尝试对我的计算机进行更改时通知我、仅当程序尝试更改计算机时通知我(不降低桌面亮度)和从不通知。按W+R –输入msconfig 设置UAC

图片.png

图片.png

基于白名单AutoElevate绕过UAC原理

利用白名单程序的本质实际上是劫持注册表,这种方法主要是通过寻找autoElevated属性为true的程序,修改其注册表command的值,改成我们想要执行的paylaod,在该值中指明的字段会在这类程序运行时自动执行,类似于默认程序打开,当你以后运行该程序时,这个command命令都会自动执行。

UAC同样也会对系统本身的程序造成影响,微软也不希望运行系统程序也需要询问用户,因为系统程序是安全的。因此,微软则在 UAC 中添加了白名单机制常见白名单如下

msconfig.exe
taskmgr.exe
perfmon.exe
cleanmgr.exe
sdclt.exe
dccw.exe
eventvwr.exe
computerdefaults.exe
fodhelper.exe

当我们运行eventvwr.exe时,因为eventvwr.exe是UAC白名单的成员,所以不会进行UAC的弹窗,直接运行eventvwr.exe程序

图片.png

图片.png

我们在win7的系统下运行eventvwr.exe,使用Process Monitor监控该程序,发现HKCU\Software\Classes\mscfile\shell\open\command的值结果是没发现(NAME NOT FOUND)

图片.png

我们在运行eventvwr.exe,程序会在注册表下去找这些值,如果这些值是一个calc的程序,那么系统在运行eventwr.exe时就会去执行一个calc.exe

由于这些注册表项不存在,用户可以在注册表中创建此结构,以便绕过用户账户控制 (UAC) 执行具有更高权限的命令。

我们打开注册表,去找到刚刚那个注册表的位置

图片.png

可以看到,当前这个注册表是没有值得,我们修改这个注册表的值,让他去运行calc程序

图片.png

图片.png

当我们再次运行eventvwr.exe时,就会直接绕过UAC,弹出calc程序,如果我们将这个程序替换成恶意程序,那么很显然这个恶意程序也将直接绕过UAC

图片.png

上面这些步骤我们可以直接用一条命令来代替

reg add HKCU\Software\Classes\mscfile\shell\open\command /ve /t REG_SZ /d "cmd.exe /c calc" /f

图片.png

在添加上面这条命令时,也务必同时添加下面这条命令

reg add HKCU\Software\Classes\mscfile\shell\open\command /v DelegateExcute /t REG_SZ

图片.png

图片.png

CS提权实验

我们先通过恶意程序上线我们的WIN7

图片.png

可以看到,当前用户是没有权限执行添加用户的权限的

图片.png

接下来我们修改注册表的值,让他去运行我们的恶意程序

图片.png

reg add HKCU\Software\Classes\mscfile\shell\open\command /ve /t REG_SZ /d "cmd.exe /c C:\Users\test\Desktop\artifact.exe" /f

图片.png

reg add HKCU\Software\Classes\mscfile\shell\open\command /v DelegateExcute /t REG_SZ

接下来我们只需要去运行eventvwr.exe程序就可以了

图片.png

这虽然看起了还是普通用户,但是已经绕过了UAC可以执行命令了,接下来利用cmd添加用户或者启用administrator,然后使用runas进行权限切换到administrator

图片.png

如果想拿到system权限或者administrator可以使用runas进行提权和降权

首先激活administrator并且更改密码,使用runas提权

图片.png

 

本文作者:千负, 转载请注明来自FreeBuf.COM

© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容