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

译者: 林妙倩、戴亦仑 原创翻译作品,如果需要转载请取得翻译作者同意。

数据来源:ATT&CK Matrices

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

术语表: /attack/glossary

修改注册表

攻击者可以与 Windows 注册表交互以隐藏注册表项中的配置信息,删除信息作为清理的一部分,或者作为其他技术的一部分,帮助实现持久化和执行。 对注册中心特定区域的访问取决于帐户权限,有些需要管理员级别的访问权限。 内置的 Windows 命令行实用程序 Reg 可用于本地或远程修改注册表。 也可以使用其他工具,如远程访问工具,这些工具可能包含通过 Windows API 与注册表交互的功能(参见示例)。 注册表修改还可能包括用于隐藏键的操作,例如使用空字符添加键,这会引发错误和/或在通过 Reg 或其他使用 Win32 API 的实用程序读取时忽略该键。 攻击者可能会滥用这些伪隐藏密钥来隐藏用于建立持久性的 payload/命令。

可以修改远程系统的注册表以帮助执行文件,作为横向移动的一部分。 它要求远程注册表服务在目标系统上运行。 此技术通常需要有效帐户,以及访问远程系统的 Windows 管理共享来进行 RPC 通信。

缓解

注册中心中权限的错误配置可能提供攻击者执行代码的机会,比如通过服务注册中心权限缺陷(Service Registry Permissions Weakness)。 确保为注册表 hive 设置了适当的权限,以防止用户修改可能导致权限提升的系统组件的键值。 在适当的情况下使用诸如 AppLocker 或软件限制策略等白名单工具来识别和拦截可能用于修改注册表的不必要的系统实用程序或潜在的恶意软件 。

检测

在 Windows 操作系统的典型使用过程中,修改注册表是正常行为。 考虑对特定键进行注册表审计 (Registry Auditing),以便在值被更改时生成告警事件(事件 ID 4657)(尽管通过 Reghide 或其他规避方法创建值时可能不会触发告警事件)。 对在 Windows 启动时加载与已知软件、补丁周期等不相关的软件的注册表项的更改是可疑的,对启动文件夹中的文件的添加或更改也是可疑的。 更改也包括新建服务和修改现有二进制路径以指向恶意文件。 如果与服务相关的条目被更改了,那么随后很可能启动或重启本地或远程服务来执行该文件。 监视进程和命令行参数,查看是否有可用于更改或删除注册表信息的的操作。 具有内置功能的远程访问工具可以直接与 Windows API 交互以收集信息。 还可以通过 Windows 系统管理工具(如 Windows 管理规范和 PowerShell) 获取信息,这些工具可能需要在操作系统中配置额外的日志记录功能,以收集用于分析的必要信息。 监视与隐藏注册表项(如 Reghide) 相关的进程、命令行参数和 API 调用。 使用 Native Windows API 调用和/或 Autoruns 和 RegDelNull 等工具检查和清除恶意隐藏的注册表项。