Windows 提权实战:不安全的服务、注册表 AlwaysInstallElevated、令牌模拟、Potato 系列、内核漏洞等,原理、影响、利用、检测、防御与加固。
写在前面:合法学习边界
提权测试只允许在授权靶场或授权主机进行。对真实系统提权、利用内核漏洞可能触犯法律。
一、漏洞原理
拿到一个 Windows 低权限 Shell 后,目标是提升到 SYSTEM/Administrator。Windows 提权大多利用“服务/配置跑在高权限上,却可以被低权限用户控制”这类问题。
常见提权面:
1
2
3
4
5
6
| 不安全的服务(可写二进制、可写服务路径、未引用的服务路径)
注册表 AlwaysInstallElevated(MSI 以 SYSTEM 安装)
令牌模拟(SeImpersonatePrivilege → Potato 系列)
可写启动文件夹 / 计划任务
DLL 劫持
内核漏洞
|
二、影响与危害
1
2
3
| 低权限 → SYSTEM/管理员
控制主机、横向移动
抓取更多凭据
|
风险等级:高。
三、利用 / 复现
第一步:收集信息
1
2
3
4
5
6
7
8
9
| whoami /all :: 用户与权限(看 SeImpersonatePrivilege)
:: 解释:SeImpersonatePrivilege 是 Potato 系列提权的前提
systeminfo :: 系统版本与补丁
:: 解释:核对补丁找缺失 CVE
sc qc <服务名> :: 服务配置
:: 解释:看服务二进制路径/运行账号,判断能否替换
wmic service get name,pathname,startname :: 服务二进制路径
reg query HKCU\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
:: 解释:值为 1 时 MSI 会以 SYSTEM 安装,可用来提权
|
第二步:不安全的服务
1
2
3
| 1. 找服务路径可写或引用的二进制可被替换
2. 替换成恶意程序(如创建管理员用户)
3. 重启/触发服务 → 以 SYSTEM 执行
|
未引用服务路径:
1
2
| # 服务路径含空格且未加引号,可放同名恶意文件到前面目录
sc start <服务名>
|
第三步:AlwaysInstallElevated
1
2
3
| # 注册表值为 1 时,MSI 以 SYSTEM 安装
msfvenom -p windows/... -f msi -o evil.msi
msiexec /quiet /i evil.msi
|
第四步:令牌模拟(Potato 系列)
1
2
| 拥有 SeImpersonatePrivilege(服务账号常见)时
用 Potato(Juicy/Rogue/LoneWolf)提权到 SYSTEM
|
第五步:内核漏洞
1
2
| systeminfo 看补丁 → 对缺失补丁查 CVE
只在授权环境用,先评估稳定性
|
四、检测
1
2
3
4
| 服务二进制/路径权限异常(可被低权限修改)
注册表 AlwaysInstallElevated 被开启
高权限服务运行账号可疑
补丁严重缺失、版本过旧
|
五、防御
1
2
3
4
5
| 服务二进制用受控目录并收紧 ACL
关闭 AlwaysInstallElevated
服务账号最小权限,不随意给 SeImpersonate
及时打补丁
EDR 监控提权行为(Potato、服务替换)
|
六、加固(修复)
1
2
3
4
5
| 修复不安全服务路径与权限
关闭 AlwaysInstallElevated
清理提权工具与后门账户
补装补丁
对已提权主机取证
|
七、小结
Windows 提权核心是“谁在高权限下运行、低权限用户能不能碰它”。先看 whoami /all 和 sc qc,再决定走服务替换、注册表、Potato 还是内核漏洞。和 Linux 提权一样,先信息收集再动手。