操作系统权限提升(十四)之绕过UAC提权-基于白名单AutoElevate绕过UAC提权

系列文章

操作系统权限提升(十二)之绕过UAC提权-Windows UAC概述
操作系统权限提升(十三)之绕过UAC提权-MSF和CS绕过UAC提权

注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!!

基于白名单AutoElevate绕过UAC

基于白名单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程序

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

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

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

在这里插入图片描述
在这里插入图片描述

CS提权实验

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

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

在这里插入图片描述
如果想拿到system权限或者administrator可以使用runas进行提权和降权

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

在这里插入图片描述

posted @ 2023-02-26 13:18  私ははいしゃ敗者です  阅读(124)  评论(0编辑  收藏  举报  来源