当前位置: 首页 > news >正文

操作系统权限提升(十四)之绕过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提权

在这里插入图片描述

http://www.lryc.cn/news/21682.html

相关文章:

  • ecology9-谷歌浏览器下-pdf.js在渲染时部分发票丢失文字 问题定位及解决
  • JavaScript Window Navigator
  • Linux基础命令-du查看文件的大小
  • 文献计量分析方法:Citespace安装教程
  • MVI 架构更佳实践:支持 LiveData 属性监听
  • LeetCode438 找到字符串中所有字母异位词 带输入和输出
  • ACSC 2023 比赛复现
  • 【Linux驱动开发100问】什么是模块?如何编写和使用模块?
  • Android 9.0 Recent列表不显示某个app
  • 深度学习之卷积神经网络学习笔记一
  • 黑盒测试的常用方法
  • 操作系统笔记-第一章
  • daillist
  • vue中render函数的作用和参数(vue2中render函数用法)
  • 基于Istio的高级流量管理二(Envoy流量劫持、Istio架构、高级流量管理)
  • Sharding-Springboot-mybatis-plus整合(三)-inline策略
  • 编码的基本概念
  • 函数指针与指针函数的区别
  • 死锁的四个必要条件以及如何避免死锁
  • 浏览器多线程到事件循环机制
  • Lambda表达式的本质
  • 类的加载过程(生命周期)
  • 2023最新谷粒商城笔记之MQ消息队列篇(全文总共13万字,超详细)
  • 多变量线性回归模型
  • php 基于ICMP协议实现一个ping命令
  • Java基本数据类型
  • English Learning - L2 语音作业打卡 Day2 2023.2.22 周三
  • 45. 跳跃游戏 II
  • 应届生Java面试50题线程篇(含解析)
  • 【数据库】第七章 数据库设计