通过使用远程桌面连接到本地主机来绕过 UAC?

通过使用远程桌面连接到本地主机来绕过 UAC?

我可以使用远程桌面 (RDP) 从计算机 A 连接到计算机 B,而无需输入密码,反之亦然,因为我在这两台计算机上使用同一个帐户。此外,在远程桌面会话中,我可以单击远程计算机上的 UAC 提示按钮。

如何阻止恶意软件通过使用 RDP 连接到远程计算机来绕过 UAC,然后使用它以 RDP 返回(或者仅使用 RDP 连接到localhost)然后单击 UACyes按钮?

该恶意软件可以轻松地实现 RDP 协议本身,或者仅启动 RDP 会话并在 RDP 会话中移动我的鼠标光标。

答案1

你问错了问题

请记住,UAC 可帮助防止恶意代码,方法是为具有管理权限的用户提供拒绝(潜在恶意)进程的选项开始执行在本地机器上。

也就是说,简单来说,您的示例场景描述了计算机上的恶意软件利用 RDP 绕过 UAC 并对本地计算机发起攻击。要使此攻击成功,恶意软件必须已经在计算机上运行,使得绕过 UAC 的努力完全毫无意义。

因此,正确的问题是恶意进程首先是如何绕过计算机 A 上的 UAC 的。

那么计算机 B 怎么样?

虽然不是您帖子的直接查询,但您的场景可以对计算机 B 进行攻击。假设计算机 A 已经受到威胁,恶意程序可能会启动 RDP 会话并将鼠标移动或击键发送到计算机 B,包括绕过 UAC 所必需的。

但这也不是真正的安全漏洞。

首先,以下是不是Windows 中的默认行为:

我可以使用 RDP(远程桌面)从计算机 A 连接到计算机 B,而无需输入密码。

仅当您满足以下任一条件时才有可能:

  1. 已保存的远程计算机凭据(然后存储在凭据管理器中),或
  2. 允许委派默认凭据组策略已配置。

默认配置中不存在这两项。我将这两项称为“已保存您的凭据”。

因此,只有当你在计算机 A 上保存了凭据时,恶意软件才有可能与计算机 B 建立 RDP 连接。由于在计算机 A 上以你的帐户上下文运行的任何代码都可以访问已保存的凭据,因此保存凭据的行为相当于声明,“我明确信任在我的用户帐户上下文中执行的任何当前或将来的代码,包括恶意软件。”

通过在计算机 A 上保存计算机 B 的访问凭证,您可以禁用旨在控制对计算机 B 的访问(至少从计算机 A 访问)的访问控制机制。利用这一事实的代码不是利用操作系统级漏洞,而是利用用户创建的漏洞。

相关内容