You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何PSExec无需SeDebugPrivilege即可以SYSTEM权限启动进程?

SYSTEM权限进程提权相关问题解答

一、PSExec的提权逻辑

PSExec完全没用到SeDebugPrivilege那套令牌窃取的方法,它的核心玩法是创建临时系统服务:

  • 当你执行psexec -s <目标程序>这类命令时,PSExec会在目标机器上悄悄创建一个临时Windows服务,这个服务默认是以SYSTEM身份运行的
  • 等服务启动后,它会调用你指定的程序,程序直接继承服务的SYSTEM权限
  • 程序跑起来之后,PSExec会自动删掉这个临时服务

正因为走的是服务创建的路子,所以哪怕你的管理员账户被移除了SeDebugPrivilege,只要还能创建服务(管理员默认有这个权限),照样能用PSExec启动SYSTEM级别的进程。

二、不用SeDebugPrivilege的SYSTEM提权方法

除了PSExec的服务法,还有这些靠谱的方法:

1. 用任务计划程序

  • 新建一个任务,在「安全选项」里选「不管用户是否登录都要运行」,然后把运行身份改成「SYSTEM」
  • 可以设置任务立即执行,启动的程序就会拿到SYSTEM权限

2. 手动用sc命令建服务

直接用系统自带的sc命令创建服务,比如:

sc create TempSysSvc binPath= "C:\你要运行的程序路径.exe" obj= "LocalSystem"
sc start TempSysSvc

程序启动后,记得删掉临时服务:sc delete TempSysSvc

3. 利用系统特殊机制(版本依赖)

比如早期Windows里的at命令(现在被任务计划取代了),可以直接以SYSTEM身份执行命令;还有部分旧系统的组件漏洞,能让低权限用户触发SYSTEM进程,但这类方法大多只在特定未打补丁的系统上有效。

三、两种提权思路的区别

用SeDebugPrivilege的常规方法,本质是偷现有SYSTEM进程的令牌来冒充,所以必须先有这个权限并启用;而服务、任务计划这类方法,是让系统直接以SYSTEM身份从零启动新进程,根本不需要碰令牌窃取,自然绕开了SeDebugPrivilege的限制。

内容的提问来源于stack exchange,提问作者user3365407

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 08:02:33