前言

该文章在注册表ByPass UAC没有新的操作方法,只是学习记录并进行复现。

UAC介绍

UAC全称为User Account Control(用户账户控制),是Windows操作系统中提供的安全操作功能。

当需要进行需要管理员权限的操作时,例如修改系统设置或安装程序,UAC会弹出一个对话框,要求用户进行确认。只有在用户确认后,程序才能获得所需的权限进行操作。

例如:

为什么部分系统可执行文件不会弹出UAC验证框?

微软的自动提升机制

  • 白名单程序:微软为部分系统程序(如设置相关工具)设置了AutoElevate标志,如果autoElevate="true"允许它们无需用户确认直接以管理员权限运行。

  • 数字签名验证:这些程序必须具有有效的微软数字签名,否则会被UAC拦截。

查看系统可执行文件是否带有autoElevate并为"true",使用Sigcheck工具

ByPass

这里使用ComputerDefaults.exe程序来进行注册表劫持来进行ByPass UAC。

具体方法如下:

  1. 新建注册表项:计算机\HKEY_CURRENT_USER\Software\Classes\ms-settings\shell\open\command

  2. 在command项中新建DelegateExecute字符串值。

  3. 然后将默认值改为恶意或者其他执行的可执行文件。

  4. 然后运行ComputerDefaults.exe即可执行设置好的恶意或者其他执行的可执行文件。

新建注册表项,右键一路新建项即可:

在command项中新建DelegateExecute字符串值:

将默认值改为恶意或者其他执行的可执行文件,这里设置为cmd.exe:

然后win+R运行ComputerDefaults.exe 即可打开cmd.exe:

参考链接

BypassUAC姿势一|基于白名单注册表劫持BypassUAC(带脚本和编译程序)

ByPassuac之修改注册表