ATT&CK-CN V1.0 Last Update: 2019-03 [返回索引页]

译者: 林妙倩(清华大学网络研究院网络空间安全实习生) 原创翻译作品,如果需要转载请取得翻译作者同意。

数据来源:ATT&CK Matrices

原文: https://attack.mitre.org/techniques/T1088

术语表: /attack/glossary

绕过用户帐户控制

Windows 用户帐户控制 (UAC) 使程序可以通过提示用户进行确认来提升权限,从而在管理员权限下执行任务。对用户的影响包括强制拒绝操作,允许用户执行操作(如果用户在本地管理员组中并单击提示符),或允许用户输入管理员密码以完成操作。

如果计算机的 UAC 保护级别设置为最高级别以外的任何级别,则特定 Windows 程序可以提升特权或执行某些提升的 COM 对象,而不会通过 UAC 通知框提示用户。 这方面的一个例子是使用 rundll32.exe 加载特制的 DLL,它加载自动提权的 COM 对象并在受保护的目录中执行文件操作,这通常需要提升访问权限。恶意软件也可以被注入到受信任的进程中,从而在不提示用户的情况下获得更高的权限。如果目标进程不受保护, 攻击者可以使用这些技术将权限提升为管理员。

已发现许多绕过 UAC 的方法。UACMe 的 Github readme 页面包含已在 UACMe 中发现和实施的广泛的方法列表 ,但可能不是全面的绕过列表。经常发现其他的旁路方法,其中一些在民间使用,如:­

  • eventvwr.exe 可以自动提权并执行指定的二进制文件或脚本。

如果已知具有管理员权限的帐户的凭据,则可以通过横向移动技术进行绕过,因为 UAC 是单系统安全机制,并且在系统上运行的进程的权限或完整性对于横向系统是未知的,默认为高完整性。

缓解

从系统上的本地管理员组中删除用户。 尽管存在 UAC 绕过技术,但尽可能对 UAC 使用最高的强制级别并缓解 DLL 搜索命令劫持等技术存在的绕过机会仍然是谨慎的。 检查 Windows 系统上常见的 UAC 绕过弱点,以了解风险状况并在适当时解决问题。

检测

当用户在系统上的本地管理员组中时,有许多方法可以绕过 UAC,因此很难针对对所有变化进行检测。 应该努力减轻影响并收集有关进程启动和在 UAC 绕过前后的操作的足够信息。 监视进程 API 调用的行为,这些行为可能表明进程注入和通过 DLL 搜索顺序劫持加载的异常 DLL,这表明试图获得对高级特权进程的访问权。 一些 UAC 绕过方法依赖于修改特定的,用户可访问的注册表设置。 例如:

  • eventvwr.exe 绕过使用 [HKEY_CURRENT_USER]\Software\Classes\mscfile\shell\open\command 注册表项。

  • sdclt.exe 绕过使用 [HKEY_CURRENT_USER]\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe[HKEY_CURRENT_USER]\Software\Classes\exefile\shell\runas\command\isolatedCommand 注册表项。 分析人员应该监控这些注册表设置,以发现未经授权的更改。