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

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

数据来源:ATT&CK Matrices

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

术语表: /attack/glossary

文件系统权限缺陷

进程可以自动执行特定二进制文件作为其功能的一部分,或执行其他操作。如果对包含目标二进制文件的文件系统目录的权限或对二进制文件本身的权限设置不正确,则目标二进制文件可能会被另一个使用用户级权限的二进制文件覆盖并由原始进程执行。如果原始进程和线程在更高的权限级别下运行,则替换的二进制文件也将在更高级别的权限下执行,其中可能包括 SYSTEM。 攻击者可以使用此技术将合法二进制文件替换为恶意二进制文件,作为在更高权限级别执行代码的方法。如果将进程设置为在特定时间或某个特定事件(例如,系统启动)期间运行,则该技术也可用于持久化。

服务

操作 Windows 服务二进制文件是此技术的一种变体。攻击者可以用自己的可执行文件替换合法的服务可执行文件,以获得持久性和/或提权到服务运行所需的帐户上下文。(本地/域帐户,SYSTEM,LocalService 或 NetworkService)一旦服务被启动,不管由用户直接启动(如果有合适的访问)或通过其他方式,例如系统重启时启动服务,都将运行替换的可执行文件,而不是原来的可执行服务。

可执行的安装程序

这种技术的另一种变体利用可执行的自解压安装程序的常见缺陷。在安装过程中,安装程序通常使用%TEMP%目录下的子目录来解压缩二进制文件,例如 DLL,EXE 或其他有效载荷。当安装程序创建子目录和文件时,通常没有设置适当的权限来限制写入,这使子目录中的不受信代码得以执行或安装时使用的二进制文件被覆盖。这种行为可以利用 DLL 搜索顺序劫持。一些安装程序可能需要更高的权限,这将导致执行攻击者控制的代码时被提权。该行为与绕过用户帐户控制有关。一些存在该缺陷的现有通用安装程序的例子已经报告给软件供应商。

缓解

使用能够检测企业系统中文件系统权限滥用缺陷的审计工具并进行更正。限制用户帐户和组的权限,以便只有授权的管理员才能与服务更改和服务二进制目标路径位置进行交互。像 PowerSploit 框架这样的工具包包含 PowerUp 模块,可以使用这些模块查找系统中的服务文件系统权限缺陷。 使用能够审核和/或拦截未知程序的白名单工具,如 AppLocker,识别并拦截可能通过滥用文件,目录和服务权限执行的潜在恶意软件。拒绝从用户目录执行,例如文件下载目录和临时目录。 关闭 UAC 的标准用户的提权 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]自动拒绝提权请求,添加:"ConsentPromptBehaviorUser"=dword:00000000 [2]. "考虑通过添加以下内容为所有用户启用安装程序检测:"EnableInstallerDetection"=dword:00000001. 。这将提示用户输入安装密码并记录。要禁用安装程序检测,改为: "EnableInstallerDetection"= dword:00000000。这可以防止通过漏洞利用在 UAC 检测安装程序的过程中潜在地提升权限,但将允许安装过程在不被记录的情况下继续。

检测

查找通常在软件更新期间可能发生的对二进制文件和服务可执行文件的更改。如果编写、重命名和/或移动可执行文件以匹配现有的服务可执行文件,则可以检测到该可执行文件并将其与其他可疑行为相关联。二进制文件和服务可执行文件的散列可用于检测历史数据的替换。 从典型进程和服务中查找异常流程调用树,并查找可能与发现(Discovery)或其他攻击技术相关的其他命令的执行。