攻击指标安装脚本
下载并运行攻击指标 (IoA) 安装文件后,IoA 脚本会在 Active Directory (AD) 数据库中创建一个默认命名为 Tenable.ad 的新组策略对象 (GPO)。系统仅将 Tenable Identity Exposure GPO 链接到包含所有域控制器 (DC) 的域控制器组织单位 (OU)。新策略会使用 GPO 机制在所有 DC 之间自动复制。
GPO 包含所有 DC 在本地执行以收集相关数据的 PowerShell 脚本,如下所示:
-
该脚本使用 Windows EvtSubscribe API 在每个域控制器上配置一个事件日志监听器。该脚本通过提交请求和由 EvtSubscribe 触发的针对每个匹配事件日志的回调,为 TenableADEventsListenerConfiguration.json 中指定的每个必要事件日志通道进行订阅。
-
事件监听器接收事件日志并对其进行缓冲,然后定期将其刷新到网络共享区中名为 Sysvol 的文件。每个 DC 都刷新到单个 Sysvol 文件,该文件存储收集的事件并将其复制到其他域控制器。
-
该脚本还创建了一个 WMI 使用者,通过在 DC 重新启动时重新注册事件订阅者来确保此机制持续存在。每次 DC 重新启动时,WMI 都会通知使用者,以允许使用者再次注册事件监听器。
-
此时,分布式文件系统 (DFS) 复制开始并在域控制器之间自动同步文件。Tenable Identity Exposure 的平台监听传入的 DFS 复制流量,并使用此数据收集事件、运行安全分析,然后生成 IoA 警报。
本地数据检索
Windows 事件日志记录操作系统及其应用程序中发生的所有事件。事件日志依赖于 Windows 中集成的组件框架。
Tenable Identity Exposure IoA 事件日志侦听器使用 EvtSubscribe API,仅以插入字符串的形式收集从事件日志中提取的有用的事件日志数据段。Tenable Identity Exposure 将这些插入字符串写入 Sysvol 文件夹中存储的文件中,并通过 DFS 引擎进行复制。这样,Tenable Identity Exposure 就可以从事件日志收集正确数量的安全数据,以运行安全分析和检测攻击。
IoA 脚本摘要
下表概述了 Tenable Identity Exposure 脚本部署。
步骤 | 描述 | 涉及的组件 | 技术操作 |
---|---|---|---|
1 | 注册 Tenable Identity Exposure的 IoA 部署 | GPO 管理 | 创建 Tenable.ad(默认名称)GPO 并将其链接到域控制器 OU。 |
2 | 在 DC 上启动 Tenable Identity Exposure 的 IoA 部署 | DC 本地系统 | 每个 DC 都会检测要应用的新 GPO,具体取决于 AD 复制和组策略刷新间隔。 |
3 | 控制高级日志记录策略状态 | DC 本地系统 | 系统通过设置注册表项 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\SCENoApplyLegacyAuditPolicy 来激活高级日志记录策略。 |
4 | 更新本地日志记录策略 | DC 本地系统 | 根据要检测的 IoA,Tenable Identity Exposure 会动态生成并激活特定审核策略。此策略不会停用任何现有的日志记录策略,而仅会在必要时加以丰富。如果检测到冲突,GPO 安装脚本将停止并显示消息“Tenable Identity Exposure 需要审核策略 ‘...’,但当前 AD 配置阻止其使用。” |
5 | 注册事件监听器和 WMI 生产者 | DC 本地系统 | 系统注册并执行 GPO 中包含的脚本。此脚本运行 PowerShell 进程以使用 EvtSubscribe API 订阅事件日志,并出于持久性目的创建 ActiveScriptEventConsumer 实例。Tenable Identity Exposure 使用这些对象接收和存储事件日志内容。 |
6 | 收集事件日志消息 | DC 本地系统 |
Tenable Identity Exposure 捕获相关事件日志消息,定期对其进行缓冲,然后保存到与 Tenable Identity Exposure GPO (...{GPO_GUID}\Machine\IOA<DC_name>) 相关联的 Sysvol 文件夹中存储的文件(每个 DC 一个文件)。 |
7 | 将文件复制到声明的 DC SYSVOL 文件夹 | Active Directory | AD 使用 DFS 跨域复制文件,特别是在已声明的 DC 中。Tenable Identity Exposure 平台获取每个文件的通知并读取其内容。 |
8 | 覆盖这些文件 | Active Directory | 每个 DC 都会自动且连续地将定期缓冲的事件写入同一个文件中。 |
GPO 包含所有 DC 在本地执行以收集相关数据的 PowerShell 脚本,如下所示:
-
这些脚本在计算机内存中配置事件观察程序和 Windows Management Instrumentation (WMI) 生产者/使用者。WMI 是一个 Windows 组件,为您提供有关本地或远程计算机系统状态的信息。
-
事件观察程序接收事件日志并定期对其进行缓冲,然后将其刷新到网络共享区中名为 Sysvol 的文件。每个 DC 都刷新到单个 Sysvol 文件,该文件存储收集的事件并将其复制到其他域控制器。
-
WMI 使用者在 DC 重新启动时再次注册事件观察程序,通过这种方式使此机制持续运作。每次 DC 重新启动时,生产者都会唤醒并通知使用者。因此,使用者会再次注册事件观察程序。
-
此时,分布式文件系统或 DFS 复制开始并在域控制器之间自动同步文件。Tenable Identity Exposure 的平台监听传入的 DFS 复制流量,并使用此数据收集事件、运行安全分析,然后生成 IoA 警报。
本地数据检索
Windows 事件日志记录操作系统及其应用程序中发生的所有事件。名为 Event Tracing for Windows (ETW) 的事件日志依赖于 Windows 中集成的组件框架。ETW 在内核中运行,产生的数据存储在 DC 本地,AD 协议不会复制这些数据。
Tenable Identity Exposure 使用 WMI 引擎,仅以插入字符串的形式收集从事件日志中提取的有用的 ETW 数据段。Tenable Identity Exposure 将这些插入字符串写入 Sysvol 文件夹中存储的文件中,并通过 DFS 引擎进行复制。这样,Tenable Identity Exposure 就可以从 ETW 收集正确数量的安全数据,以运行安全分析和检测攻击。
IoA 脚本摘要
下表概述了 Tenable Identity Exposure 脚本部署。
步骤 | 描述 | 涉及的组件 | 技术操作 |
---|---|---|---|
1 | 注册 Tenable Identity Exposure的 IoA 部署 | GPO 管理 | 创建 Tenable.ad(默认名称)GPO 并将其链接到域控制器 OU。 |
2 | 在 DC 上启动 Tenable Identity Exposure 的 IoA 部署 | DC 本地系统 | 每个 DC 都会检测要应用的新 GPO,具体取决于 AD 复制和组策略刷新间隔。 |
3 | 注册事件观察程序和 WMI 生产者/使用者 | DC 本地系统 | 系统注册并执行即时任务。此任务运行 PowerShell 进程,以创建以下类的实例: ManagementEventWatcher 和 ActiveScriptEventConsumer。Tenable Identity Exposure 使用这些对象接收和存储 ETW 消息。 |
4 | 控制高级日志记录策略状态 | DC 本地系统 | 系统通过设置注册表项 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\SCENoApplyLegacyAuditPolicy 来激活高级日志记录策略。 |
5 | 更新本地日志记录策略 | DC 本地系统 | 根据要检测的 IoA,Tenable Identity Exposure 会动态生成并激活高级日志记录策略。此策略不会停用任何现有的日志记录策略,而仅会在必要时加以丰富。如果检测到冲突,GPO 安装脚本将停止并显示消息“Tenable Identity Exposure 需要审核策略 ‘...’,但当前 AD 配置阻止其使用。” |
6 | 收集 ETW 消息 | DC 本地系统 |
Tenable Identity Exposure 捕获相关 ETW 消息,定期对其进行缓冲,然后保存到与 Tenable Identity Exposure GPO (...{GPO_GUID}\Machine\IOA<DC_name>) 相关联的 Sysvol 文件夹中存储的文件(每个 DC 一个文件)。 |
7 | 将文件复制到 Tenable Identity Exposure 平台 | Active Directory | AD 使用 DFS 跨域复制文件。Tenable Identity Exposure 平台也接收文件。 |
8 | 覆盖这些文件 | Active Directory | 每个 DC 都会自动且连续地将定期缓冲的事件写入同一个文件中。 |
另请参阅