Windows createprocess以当前登录用户权限(uac降权)运行程序

在管理员权限的程序中,需要启动一个非管理员或当前用户权限的进程。通常进程继承父进程权限,但可以利用explorer.exe的token或任务计划程序降权。本文介绍了两种方法,一种是遍历进程获取explorer.exe的token并使用CreateProcessAsUser创建进程,另一种是利用任务计划程序创建任务立即执行,以实现降权运行程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


        近期的工作,总是会碰到一些比较奇特的需求,比如说:在一个以管理员权限运行的程序里面,启动/运行一个非管理员/当前用户权限的程序或者服务之类。

        进程的权限是继承的。一般来说,管理员权限下运行的程序,即便创建新进程或者启动别的程序,被创建或者启动的也依然管理员权限。

=======================================================================

将程序或者进程提权,倒是有许多办法可以实现。比如说调用API ShellExcuteEx( )并指定SHELLEXCUTEINFO的lpVerb为“runas”;比如说在工程文件的manifast里面指定,要求admin权限才能运行;再比如说利用漏洞,当然,这个非常规做法难度太高、风险太大就不在讨论范围内了。

参考此文 https://blog.youkuaiyun.com/zuishikonghuan/article/details/46965159 《[Win32] UAC用户账户控制(提权+降权)》

=======================================================================

关于降权,在网上查找的资料,大致可以分为两类。

第一类就是利用当前用户的explorer.exe的token。Windows shell进程explorer.exe本身没有管理员权限。

比较有用的就是这个: https://blog.youkuaiyun.com/w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值