本文主要是介绍关于bypassuac的探究——uac程序特性探究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
通常以shell\open\command命名的键值对存储的是可执行文件的路径,如果exe程序运行的时候找到该键值对,就会运行该键值对的程序,而因为exe运行的时候是静默提升了权限,所以运行的该键值对的程序就已经过了uac。所以我们把恶意的exe路径写入该键值对,那么就能够过uac执行我们的恶意exe。
这里使用proc监听ComputerDefaults.exe
发现他会去查询HKCU\Software\Classes\ms-settings\Shell\Open\command
里面的值
那么我们创建一个HKCU\Software\Classes\ms-settings\Shell\Open\command
路径,再对ComputerDefaults.exe
进行监听尝试
然后发现他还会去查询HKCU\Software\Classes\ms-settings\Shell\Open\command\DelegateExecute
,而且Result显示的是NAME NOT FOUND,那么可以认为首先去查询HKCU\Software\Classes\ms-settings\Shell\Open\command
路径下的注册表,再去查询HKCU\Software\Classes\ms-settings\Shell\Open\command\DelegateExecute
是否存在
那么这里我创建一个DelegateExecute的键值对,然后把默认键值对指向我的一个程序进行尝试
当我运行c:\windows\system32\ComputerDefaults.exe
的时候,发现不再弹出的是默认进程的界面,而是打开了我自己的程序
么这里就可以大胆的猜测一下,首先运行ComputerDefaults.exe
这个程序之前,会查询HKCU:\Software\Classes\ms-settings\shell\open\command
这个目录是否存在,若存在继续寻找同目录下是否有DelegateExecute
这个键值对,若两者都存在则执行HKCU:\Software\Classes\ms-settings\shell\open\command
指向的exe路径
为了验证猜想,这里我将exe路径改为cmd,若猜测成立则可以获得管理员权限的cmd
whoami /priv
查看一下果然成功
这篇关于关于bypassuac的探究——uac程序特性探究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!