原文地址:https://www.pretentiousname.com/misc/win7_uac_whitelist2.html
(片段翻译,详情参考原文)
Mircosoft 将会通过Windows Defender(现在是MSE)阻止二进制文件,或者堵上 CRYPTBASE.DLL这个窟窿;
但是除非他们修复深层的code-injection和COM-elevation问题,文件复制还是会起作用的(the file copy stuff
will still work)。仅仅修复CRUPTBASE.DLL部分,或者阻止特定的exe/dll,只是意味着有人发现了利用文件复制的
的略有不同的方法。发现CRYPTBASE.DLL的方法大约花费10分钟,所以我会感到惊奇如果发现另一种方法需要更久
的时间。
即使这个窟窿被补上,Windows 7下的UAC对第三方的代码是不公平的,对那些想要使用第三方管理工具的用户
是不友好的。
很显然,用VS2010重新编译二进制文件之后,它们将不会再被检测出来。尽管被命名为概念验证程序,这些程序
被给予了特殊的检测而不是被普通对待。当仅仅是演示一个程序可以做什么,概念验证程序并没有做或者允许用
户做那些Windows Explorer不能够完成的事情,这种行为就显得没有意义。
另一个使用相同技术的程序不会被MSE的现有的反病毒签名检测到。
如果整个事情没有什么问题,那么,为什么要阻止概念验证二进制文件?另一方面,如果绕过UAC会产生一些
危险,为什么Explorer没有被检测到或者被阻止?
(一些评论)
User Account Control(UAC)是下一代Windows Vista和 WIndows Server名为Longhorn的核心安全特性。---Mircosoft's UAC blog
......
Win 7 UAC Code-injection总结
在2009-2-5,我写了个概念验证程序,演示Windows 7's UAC在默认设置下的一个缺陷。它在没有用户的同意
下将文件拷到Program Files。 换句话,它从低权限的进程将文件复制到受保护的地方,就绕过UAC。
什么?就是复制文件?
在2009-2-9,我将概念验证程序进行扩展,在不需要对自己提权的情况下,可以允许/提权任何程序而不触发
UAC提示。
所有这些都是在不使用SendKeys和RunDll32漏洞的情况下完成的。它是通过可以黑掉所有Windows可执行文件
的方法完成,它是由Mircosoft对Windos 7上UAC所做出改变必然产生的。...
Win 7 UAC Code-Injection:如何工作
为了满足减少UAC提示出现的次数,Microsoft,仅仅对自己的代码,允许至少3个部分模块有特殊权限:
1,进程可以做任何事情不触发UAC提示
在那个表大约有70个进程有这种能力。如果你运行表中的一个进程,当该进程需要高权限操作时,然后它就会
被允许而且不会显示UAC提示。
发现这个表是在RunDll32.exe漏洞的基础上完成的,这个漏洞允许你通过RunDll32.dll运行你的dll代码,你的代
码就拥有所有权限,也不会出现UAC提示。Microsoft已经将RunDll32.exe从名单上移除,但是那个名单上还有
大量的其他进程,其中的一些可以被破解如果你可以将文件复制到系统文件夹。
2,进程可以创建特定的高权COM对象
在第二份列表上的程序,不用对自己提权,可以创建高权的COM对象而不触发UAC提示。一旦那种对象被创建,
进程就可以告诉它去执行需要管理员权限的操作,例如复制文件到系统文件夹。
这个列表是第一个列表的超集,它似乎包含了Windows 7 自带的和拥有微软认证的所有可执行文件。
3,可以通过列表2创建的COM对象
这个完整的列表还没有完成。它一定包含 LFileOperation和所有微软签名的COM对象。
......
win7_uac_whitelist2
最新推荐文章于 2024-05-22 10:06:30 发布