Room Introduction

在这个房间里,我们将介绍端点安全监控的基础知识、基本工具和高级方法。这个房间概述了如何从端点确定恶意活动并映射其相关事件。

首先,我们将解决以下主题,为如何处理端点安全监控奠定基础。

  • 端点安全基础知识
  • 端点日志记录和监控
  • 端点日志分析

在这个房间的最后,我们将进行一次威胁模拟,您需要调查和修复受感染的机器。这项活动可能需要您首先了解端点安全监控的基础知识才能完成。

现在,让我们深入了解端点安全的基础知识!

Endpoint Security Fundamentals

核心 Windows 进程

在学习如何深入研究端点日志之前,我们首先需要了解 Windows 操作系统的工作原理。如果没有先验知识,区分异常值和一堆事件可能会很困难。

要了解有关核心 Windows 进程的更多信息,名为任务管理器的内置 Windows 工具可能有助于我们了解 Windows 计算机内部的底层进程。

任务管理器是一个基于 GUI 的内置 Windows 实用程序,允许用户查看 Windows 系统上运行的内容。它还提供有关资源使用情况的信息,例如每个进程使用 CPU 和内存的程度。当程序没有响应时,任务管理器用于终止该进程。

Task Manager

任务管理器提供了一些在后台运行的核心 Windows 进程。以下是被视为正常行为的正在运行的进程的摘要。

注意:**”>”** 符号表示父子关系。System(父)> smss.exe(子)

  • System
  • System > smss.exe
  • csrss.exe
  • wininit.exe
  • wininit.exe > services.exe
  • wininit.exe > services.exe > svchost.exe
  • lsass.exe
  • winlogon.exe
  • explorer.exe

此外,没有描述父子关系的进程在正常情况下不应有父进程,但系统进程除外,它应该只有 System Idle Process (0) 作为其父进程。

您可以参考 核心 Windows 进程室 了解有关此主题的更多信息。

Sysinternals

有了对核心 Windows 进程的先验知识,我们现在可以继续讨论可用于分析 Windows 机器后端正在运行的工件的工具集。

Sysinternals 工具是 70 多种基于 Windows 的工具的汇编。每个工具都属于以下类别之一:

  • 文件和磁盘实用程序
  • 网络实用程序
  • 进程实用程序
  • 安全实用程序
  • 系统信息
  • 杂项

我们将介绍两种最常用的 Sysinternals 工具,用于此任务的端点调查。

  • TCPView - 网络实用工具。
  • Process Explorer - 进程实用工具。

TCPView

TCPView 是一个 Windows 程序,它将向您显示系统上所有 TCP 和 UDP 端点的详细列表,包括本地和远程地址以及 TCP 连接的状态。在 Windows Server 2008、Vista 和 XP 上,TCPView 还会报告拥有端点的进程的名称。TCPView 提供了 Windows 附带的 Netstat 程序的更具信息性和方便呈现的子集。TCPView 下载包括 Tcpvcon,这是一个具有相同功能的命令行版本。”(官方定义

TCPView

如上所示,该工具列出了由进程发起的每个连接,这可能有助于关联并发执行的网络事件。

进程资源管理器

进程资源管理器显示由两个子窗口组成。顶部窗口始终显示当前活动进程的列表,包括其所属帐户的名称,而底部窗口中显示的信息取决于进程资源管理器所处的模式:如果它处于句柄模式,您将看到顶部窗口中选择的进程已打开的句柄;如果进程资源管理器处于 DLL 模式,您将看到进程已加载的 DLL 和内存映射文件。”(官方定义

Process Explorer

Process Explorer 可让您检查正在运行的进程的详细信息,例如:

  • 关联服务
  • 调用的网络流量
  • 句柄(例如打开的文件或目录)
  • 加载的 DLL 和内存映射文件

要了解有关 Sysinternals 的更多信息,您可以参考 Sysinternals Room

Endpoint Logging and Monitoring

从上一个任务中,我们了解了有关 Windows 操作系统的基本知识,包括基线流程和分析机器上运行的事件和工件的基本工具。然而,这只会限制我们观察实时事件。通过此任务,我们将介绍端点日志记录的重要性,它使我们能够审核不同端点之间的重要事件,收集和汇总它们以进行搜索,并更好地自动检测异常。

Windows 事件日志

Windows 事件日志不是可以使用文本编辑器查看的文本文件。但是,可以使用 Windows API 将原始数据转换为 XML。这些日志文件中的事件以专有二进制格式存储,扩展名为 .evt 或 .evtx。文件扩展名为 .evtx 的日志文件通常位于 C:\Windows\System32\winevt\Logs

在 Windows 系统中,访问这些事件日志的主要方式有三种:

  1. 事件查看器(基于 GUI 的应用程序)

  2. Wevtutil.exe(命令行工具)

  3. Get-WinEvent(PowerShell cmdlet)

下面显示了使用事件查看器工具查看的日志的示例图像。

Windows Event Viewer

您可以参考 Windows 事件日志室 了解有关 Windows 事件日志的更多信息。

Sysmon

Sysmon 是一种用于监控和记录 Windows 事件的工具,企业通常将其用作监控和日志记录解决方案的一部分。作为 Windows Sysinternals 软件包的一部分,Sysmon 与 Windows 事件日志类似,但具有更详细的信息和更精细的控制。

Sysmon 收集详细且高质量的日志以及事件跟踪,可帮助识别环境中的异常。它通常与安全信息和事件管理 (SIEM) 系统或其他用于聚合、过滤和可视化事件的日志解析解决方案一起使用。

最后,Sysmon 包含 27 种类型的事件 ID,所有这些 ID 都可以在所需的配置文件中使用,以指定应如何处理和分析事件。 SwiftOnSecurity 创建的不同事件 ID 的配置文件审核示例链接在此处(https://github.com/SwiftOnSecurity/sysmon-config)。

下图显示了使用事件查看器查看的一组 Sysmon 日志示例。

Sysmon Logs
要了解有关 Sysmon 的更多信息,您可以参考 Sysmon Room

OSQuery

Osquery 是 Facebook 创建的开源工具。借助 Osquery,安全分析师、事件响应者和威胁猎人可以使用 SQL 语法查询一个端点(或多个端点)。Osquery 可以安装在各种平台上:Windows、Linux、macOS 和 FreeBSD。

要与 Osquery 交互式控制台/shell 交互,请打开 CMD(或 PowerShell)并运行 osqueryi。您将通过新的命令提示符知道您已成功进入交互式 shell。

cmd.exe

C:\Users\Administrator\> osqueryi
Using a virtual database. Need help, type 'help'
osquery>

使用 OSQuery 的一个示例用例是按进程名称列出重要的进程信息。

osqueryi

osquery> select pid,name,path from processes where name='lsass.exe';
+-----+-----------+-------------------------------+
| pid | name | path |
+-----+-----------+-------------------------------+
| 748 | lsass.exe | C:\Windows\System32\lsass.exe |
+-----+-----------+-------------------------------+
osquery>

Osquery 仅允许您查询机器内部的事件。但使用 Kolide Fleet,您可以从 Kolide Fleet UI 查询多个端点,而不是在本地使用 Osquery 查询端点。下面的 Kolide Fleet 运行示例显示了查询结果,列出了正在运行“lsass”进程的机器。

Kollide

要了解有关 OSQuery 的更多信息,您可以参考 OSQuery Room

Wazuh

Wazuh 是一种开源、免费且广泛的 EDR 解决方案,安全工程师可以在所有规模的环境中部署它。

Wazuh 采用管理和代理模型,其中专用管理器设备负责管理安装在您想要监控的设备上代理。

如上所述,Wazuh 是一种 EDR;让我们简要介绍一下 EDR 是什么。端点检测和响应 (EDR) 是用于监控设备中可能表明存在威胁或安全漏洞的活动的工具和应用程序。这些工具和应用程序具有以下功能:

  • 审核设备是否存在常见漏洞
  • 主动监控设备是否存在可疑活动,例如未经授权的登录、暴力攻击或权限提升。
  • 将复杂的数据和事件可视化为简洁、时尚的图表
  • 记录设备的正常运行行为以帮助检测异常

下面显示了 Wazuh 工作原理的示例视图。

Wazuh in action

要实际体验 Wazuh,你可以参考 Wazuh 房间

Endpoint Log Analysis

事件关联

事件关联可从多个日志源(例如应用程序日志、端点日志和网络日志)中识别出重要关系。

事件关联用于识别来自不同日志源的共存重要工件并连接每个相关工件。例如,网络连接日志可能存在于各种日志源中,例如 Sysmon 日志(事件 ID 3:网络连接)和防火墙日志。防火墙日志可能提供源和目标 IP、源和目标端口、协议以及采取的操作。相比之下,Sysmon 日志可能提供调用网络连接的进程以及运行该进程的用户。

有了这些信息,我们可以将来自两个数据源的每个工件的点连接起来:

  • 源和目标 IP
  • 源和目标端口
  • 采取的操作
  • 协议
  • 进程名称
  • 用户帐户
  • 机器名称

事件关联可以构建拼图块以完成调查中的确切场景。

基准测试

基准测试是了解预期正常情况的过程。在端点安全监控方面,需要收集大量数据来确定用户活动、跨基础设施的网络流量以及组织所拥有的所有机器上运行的进程的标准行为。使用基线作为参考,我们可以快速确定可能威胁组织的异常值。

以下是基线和异常活动的示例列表,以显示了解网络中预期情况的重要性。

基线 异常活动
该组织的员工在伦敦,正常工作时间为上午 9 点至下午 6 点。 一名用户于凌晨 3 点通过 VPN 从新加坡连接进行身份验证。
为每个员工分配一个工作站。 用户已尝试向多个工作站进行身份验证。
员工只能在其工作站上访问选定的网站,例如 OneDrive、SharePoint 和其他 O365 应用程序。 用户已在 Google Drive 上上传了一个 3GB 的文件。
工作站上只安装了选定的应用程序,主要是 Microsoft 应用程序,例如 Microsoft Word、Excel、Teams、OneDrive 和 Google Chrome。 已观察到名为 firefox.exe 的进程在多个员工工作站上运行。

如果没有对常规活动的良好概述,任何事件都可能是大海捞针。

调查活动

我们已经从以前的任务中解决了端点安全监控的基础。现在,我们将戴上蓝队帽,通过调查在您的一位同事拥有的工作站上检测到的可疑活动来应用我们讨论的概念。

Conclusion

恭喜!您已完成调查任务。

在模拟威胁调查活动中,我们了解到以下内容:

  • 拥有基线文档有助于您区分恶意事件和良性事件。

事件关联可让您更深入地了解恶意活动触发的并发事件。

记录每个重要工件对于调查至关重要。

应使用收集到的恶意工件检查和修复其他可能受影响的资产。

最后,我们介绍了端点安全监控的基本概念:

  • 端点安全基础知识 解决了核心 Windows 进程和 Sysinternals。

端点日志记录和监控 引入了日志记录功能,例如 Windows 事件日志记录和 Sysmon 以及监控/调查工具,例如 OSQuery 和 Wazuh。

端点日志分析 强调了拥有基准和事件关联等方法的重要性。

您现在可以深入研究端点安全监控模块了。要继续这条路径,您可以参考前面任务中提到的房间列表: