注意:我的基本问题是当我运行一个提升的程序时,能够访问我(Win 7管理员用户)设置的网络共享。正常情况下,提升程序将无法访问我的非提升网络共享。
根据微软,注册表设置EnableLinkedConnections将允许提升进程访问当前登录(非提升)资源管理器进程的网络共享。
这一解释是有意义的:
...当您是管理员组的成员并登录时,UAC会将您的帐户分解为一个非特权用户。当您右键单击命令提示符并以管理员身份启动时,这个正在运行的上下文与您得到的上下文完全不同。您可能已经注意到,在一个上下文中连接的网络驱动器在另一个上下文中是不可见的。...
这个论坛帖子询问此设置打开的漏洞。答案给出了关于禁用UAC提示的文章链接(至少我理解)。
现在的问题是,在Windows7系统上,注册表设置EnableLinkedConnections做什么或者允许做什么,因为我们没有在域环境中运行。
编辑:我特别感兴趣的一件事是,这个设置是否只影响网络驱动器的可见性,或者它是否有任何其他含义。
发布于 2010-09-20 08:02:40
简单地说,它将您的超级用户凭据与您的普通凭据链接起来。这当然更复杂,但基本上,即使是windows 7上的“管理员”帐户也不是管理员,而是需要在linux上执行相当于SUDO的操作才能执行多种操作。当您映射网络驱动器时,您需要这样做,但是网络驱动器只映射到超级用户,而不是普通用户。此注册表设置将超级用户凭据与您的标准凭据链接起来,以便映射驱动器。这样,两者都可以访问映射驱动器,而不仅仅是超级用户.
发布于 2020-12-09 16:53:10
声明:我知道这是一个2010年的问题,但我仍然试图增加更多的细节。我仍然是Stack Exchange社区的新手。这个答案为埃文·安德森的回答增添了细节。
就我个人而言,我想不出一种“利用”这个漏洞的方法,因为带有驱动器映射的“种子”令牌仍然需要用户从“种子”驱动器映射中实际提升和执行一些恶意的东西。
例如,网络驱动器上的程序作为admin运行,为了实现这一点,您必须安排两件事:在管理会话中将网络目录挂载为驱动器,假设它是Z:;从网络驱动器运行程序,假设它是Z:\daemon.exe。
通过启用EnableLinkedConnections,一个非常专门制作的恶意软件可以卸载Z:\并用另一个网络驱动器替换它,使用一个危险的daemon.exe文件,并且Windows将继续执行它,因为它存储在本地区域,并且不受internet安全区域设置(MOTW)的强制执行。如果它仍然被禁用,则替换的Z:驱动器不会影响管理会话,从而确保安全性。
这是一个非常有针对性的安全风险,这在当今是罕见的,因为:
同样的攻击面也适用于符号链接,这就是为什么创建符号链接在默认情况下需要UAC优先级,直到Windows 10创建者更新。移除UAC优先级要求给出的信号是,它不再是每个人都应该避免的危险的安全漏洞,尽管如果需要的话,系统管理员仍然可以在组策略中配置它。
编辑:文字更改
https://serverfault.com/questions/182758
复制相似问题