psexec是微软官方轻量级远程控制工具,支持本地提权至system权限(如执行psexec -i -s cmd.exe)及远程命令执行,需依赖smb协议、admin$共享和445/135端口,首次运行须加-accepteula参数。

在Windows 10系统中,当已获取本地管理员权限但需进一步获得SYSTEM级别命令行终端(如访问SAM注册表项、读取LSASS内存、操作高完整性进程等),PsExec是最直接可用的微软官方工具之一。
下载并部署PsExec可执行文件
访问微软Sysinternals官网(https://learn.microsoft.com/en-us/sysinternals/downloads/psexec)下载最新版PsExec.zip,解压后将psexec64.exe(64位系统)或psexec.exe(32位)复制到任意本地路径,例如C:Tools。
右键以“管理员身份运行”PowerShell或CMD,执行cd /d C:Tools切换至该目录。若跳过此步直接双击运行,后续交互式窗口可能无法正确显示桌面会话。
【必须接受EULA协议,否则首次运行会卡住】首次执行前需加参数-accepteula,否则程序静默挂起无提示。
本地提权启动SYSTEM级交互式CMD
在已提升为管理员的命令行中,输入以下命令:
psexec -i -s cmd.exe
该命令含义:-i表示与当前用户桌面交互(可见窗口),-s表示以NT AUTHORITYSYSTEM身份运行。执行后将弹出一个标题栏显示“cmd.exe”的新窗口——注意看任务管理器“详细信息”页签,其“用户名”列为SYSTEM,且“完整性级别”为“系统”。
不加-i参数会导致CMD在后台静默运行,无法输入命令;不加-s则仍为当前管理员权限,达不到提权目的。
远程主机提权执行CMD(需满足前置条件)
方法一:使用明文凭据连接远程Win10主机
确保目标主机已启用IPC$共享(默认开启)、Administrators组账户存在且密码已知,并关闭防火墙或放行445端口。执行:
psexec \192.168.1.100 -u Administrator -p Passw0rd123 -i -s cmd.exe
方法二:利用当前登录会话隐式认证(无需密码)
若你已通过RDP或本地登录到目标主机所在域/工作组,且当前用户对目标主机有管理员权限,可省略-u/-p:
psexec \192.168.1.100 -i -s cmd.exe
注意:此方式依赖SMB会话复用,若目标主机禁用了WMI或远程注册表服务,可能失败。
验证SYSTEM权限是否生效
第一步:在新开的CMD窗口中执行whoami,输出应为nt authoritysystem。
第二步:尝试访问受保护路径,例如输入dir C:WindowsSystem32configSAM,成功列出即表明已绕过管理员级ACL限制。
第三步:运行tasklist /svc /fi "username eq nt authoritysystem",确认当前CMD进程PID出现在结果中。











