利用实时响应调查设备上的对象

实时响应允许安全运营团队使用远程 shell 连接即时访问设备 (也称为计算机) 。 实时响应让你能够开展深入调查,并立即采取响应措施,以实时快速遏制已识别的威胁。

实时响应旨在通过使安全运营团队能够收集取证数据、运行脚本、发送可疑实体进行分析、修正威胁以及主动搜寻新出现的威胁来增强调查。

通过实时响应,分析师可以执行以下所有任务:

  • 运行基本和高级命令以在设备上执行调查工作。
  • 下载文件,例如恶意软件示例和 PowerShell 脚本的结果。
  • 在后台下载文件(新增!)
  • 将 PowerShell 脚本或可执行文件上传到库,并从租户级别在设备上运行它。
  • 执行或撤消修正操作。

提示

可以从 “库管理 ”页上传、查看和管理用于实时响应的文件。

先决条件

设备必须运行以下受支持的操作系统和版本之一

支持的操作系统

其他要求

  • 从高级设置页启用实时响应:需要在 “高级功能设置 ”页中启用实时响应功能。

    注意

    只有具有“管理门户设置”权限的管理员和用户才能启用实时响应。

  • 从高级设置页为服务器启用实时响应 , (建议) 。

    注意

    只有具有“管理门户设置”权限的管理员和用户才能启用实时响应。

  • (可选) 启用实时响应未签名脚本执行

    重要

    签名验证仅适用于 PowerShell 脚本。

    警告

    允许使用未签名的脚本可能会增加受到威胁的风险。 如果必须使用它们,则需要在 “高级功能设置 ”页中启用设置。

  • 确保具有适当的权限:只有预配了相应权限的用户才能启动会话。 有关角色分配的详细信息,请参阅 创建和管理角色

    重要

    通过实时响应将文件上传到库的选项仅适用于具有“管理安全设置”权限的用户。 对于仅具有委派权限的用户,该按钮灰显。 还可以从库 管理 页将文件上传到库,不需要此权限。

    根据授予的角色,可以运行基本或高级实时响应命令。 用户权限由 RBAC 自定义角色控制。

实时响应仪表板概述

在设备上启动实时响应会话时,将打开仪表板。 仪表板提供有关会话的信息。 例如:

  • 创建会话的人
  • 会话启动时间
  • 会话的持续时间

仪表板还可让你访问该会话的相关操作。 例如:

  • 断开会话
  • 将文件上传到库
  • 命令控制台
  • 命令日志

在设备上启动实时响应会话

执行以下步骤,在设备上启动实时响应会话。

注意

从“设备”页启动的实时响应操作在 MachineActions API 中不可用。

  1. 登录到Microsoft Defender门户

  2. 导航到“终结点>设备清单”,然后选择要调查的设备。 此时会打开“设备”页。

  3. 通过选择“启动实时响应会话”启动 实时响应会话。 将显示命令控制台。 等待会话连接到设备。

  4. 使用内置命令执行调查工作。 有关详细信息,请参阅 实时响应命令

  5. 完成调查后,选择“ 断开连接会话”,然后选择“ 确认”。

实时响应命令

根据授予的角色,可以运行基本或高级实时响应命令。 用户权限由 RBAC 自定义角色控制。 有关角色分配的详细信息,请参阅 创建和管理角色

注意

实时响应是基于云的交互式 shell,因此,特定的命令体验在响应时间上可能会有所不同,具体取决于最终用户和目标设备之间的网络质量和系统负载。

基本命令

以下命令适用于被授予运行 基本 实时响应命令功能的用户角色。 有关角色分配的详细信息,请参阅 创建和管理角色

命令 说明 Windows 和 Windows Server macOS Linux
cd 更改当前目录。 Y Y Y
cls 清除控制台屏幕。 Y Y Y
connect 启动与设备的实时响应会话。 Y Y Y
connections 显示所有活动连接。 Y N N
dir 显示目录中的文件和子目录的列表。 Y Y Y
drivers 显示设备上安装的所有驱动程序。 Y N N
fg <command ID> 将指定的作业置于前台,使其成为当前作业。 fg 接受可从作业中获得的 command ID,而不是 PID。 Y Y Y
fileinfo 获取有关文件的信息。 Y Y Y
findfile 在设备上按给定名称查找文件。 Y Y Y
getfile <file_path> 下载文件。 Y Y Y
help 提供实时响应命令的帮助信息。 Y Y Y
jobs 显示当前正在运行的作业及其对应的 ID 和状态。 Y Y Y
persistence 显示设备上所有已知的持久性方法。 Y N N
processes 显示设备上运行的所有进程。 Y Y Y
registry 显示注册表值。 Y N N
scheduledtasks 显示设备上的所有计划任务。 Y N N
services 显示设备上的所有服务。 Y N N
startupfolders 显示设备上的启动文件夹中的所有已知文件。 Y N N
status 显示特定命令的状态和输出。 Y Y Y
trace 将终端的日志记录模式设置为调试。 Y Y Y

高级命令

以下命令适用于有权运行 高级 实时响应命令的用户角色。 有关角色分配的详细信息,请参阅 创建和管理角色

命令 说明 Windows 和 Windows Server macOS Linux
analyze 使用各种定罪引擎对该实体进行分析,以得出判定结果。 Y N N
collect 从设备中收集取证数据包。 N Y Y
isolate 断开设备与网络的连接,同时保留与 Defender for Endpoint 服务的连接。 N Y N
release 从网络隔离中释放设备。 N Y N
run 从设备上的库运行 PowerShell 脚本。 Y Y Y
library 列出已上传到实时响应库的文件。 还可以从 “库 管理”页查看和管理这些文件。 Y Y Y
putfile 将库中的文件放入设备。 文件默认保存在工作文件夹中,并会在设备重启时被删除。 Y Y Y
remediate 对设备上的实体进行修复。 修正操作因实体类型而异:
  • 文件:删除
  • 进程:停止、删除映像文件
  • 服务:停止、删除映像文件
  • 注册表项:删除
  • 计划任务:删除
  • 启动文件夹项:删除文件

此命令有一个前置命令。 可以将 -auto 命令与修正结合使用,以自动运行先决条件命令。
Y Y Y
scan 运行快速防病毒扫描以帮助识别和修正恶意软件。 N Y Y
undo 恢复已修复的实体。 Y N N

注意

以下文件大小限制适用于 putfile 实时响应命令:

  • Windows:300 MB
  • 其他平台:10 MB

使用实时响应命令

可在控制台中使用的命令遵循与 Windows 命令类似的原则。

高级实时响应命令提供了一组更可靠的操作,使你可以执行更强大的操作,例如下载和上传文件、在设备上运行脚本,以及对实体执行修正操作。

提示

可以从 “库管理 ”页上传、查看和管理用于实时响应的文件。

从设备获取文件

对于想要从正在调查的设备获取文件的情况,可以使用 getfile 命令。 这允许你保存设备中的文件以供进一步调查。

注意

以下文件大小限制适用:

  • getfile 限制:3 GB
  • fileinfo 限制:30 GB
  • library 限制:250 MB
  • library 美国政府云环境中的限制:5 MB(默认值)。 若要请求更高的限制,请开具支持票证。

在后台下载文件

为了使安全运营团队能够继续调查受影响的设备,现在可以在后台下载文件。

  • 若要在后台下载文件,请在实时响应命令控制台中键入 getfile <file_path> &
  • 如果正在等待下载文件,可以使用 Ctrl + Z 将其移动到后台。
  • 若要将文件下载带到前台,请在实时响应命令控制台中键入 fg <command_id>

下面是一些示例:

命令 功能
getfile "C:\windows\some_file.exe" & 开始在后台下载名为 some_file.exe 的文件。
fg 1234 将命令 ID 为 1234 的下载返回到前台。

将文件放入库中

实时响应具有一个库,可在其中放置文件。 库存储可在租户级别的实时响应会话中运行的文件 (,例如脚本) 。

实时响应允许 PowerShell 和 Bash 脚本运行;但是,必须先将脚本文件上传到库,然后才能运行脚本。

可以维护可在实时响应会话期间在设备上运行的 PowerShell 和 Bash 脚本的集合。

在库中上传文件

可以从实时响应会话控制台或库管理页将文件上传到

若要从实时响应会话控制台将文件上传到库,请执行以下操作:

注意

可上传到库的字符存在限制。 使用字母数字和某些符号(具体为 -_.)。

  1. 选择“ 将文件上传到库”。

  2. 选择“ 浏览 ”,然后选择文件。

  3. 提供简要说明。

  4. 指定是否要覆盖同名文件。

  5. 如果您想了解脚本需要哪些参数,请选中“脚本参数”复选框。 在文本字段中,输入示例和说明。

  6. 选择“确认”。

  7. (可选) 若要验证文件是否已上传到库,请运行 library 命令或检查“库管理”页。

取消命令

警告

按 Ctrl + C 只会取消Microsoft Defender门户中的命令。 它不会停止代理端的命令。 即使命令已取消,更改操作(如“修正”)也会继续。

若要在会话期间取消门户中的命令,请按 Ctrl + C。

运行脚本

必须先将其上传到库,然后才能运行 PowerShell/Bash 脚本。

可以从实时响应会话控制台或库管理页将脚本上传到

如果计划在会话中使用未签名的 PowerShell 脚本,则需要在 “高级功能设置 ”页中启用此设置。

警告

允许使用未签名的脚本可能会增加受到威胁的风险。

将脚本上传到库后,使用 run 命令运行脚本。

应用命令参数

使用以下方法来查看和应用命令参数。

  • 若要查看特定命令的语法和可用参数,请使用内置帮助命令:

    help <command name>
    
  • 将参数应用于命令时,请注意,参数是根据固定顺序进行处理的。 以下示例演示了使用位置参数调用命令的基本语法:

    <command name> param1 param2
    
  • 在固定顺序之外指定参数时,请在提供值之前使用连字符指定参数的名称。 以下示例显示了命名参数用法:

    <command name> -param2_name param2
    
  • 使用具有先决条件命令的命令时,可以使用标志。 以下示例演示如何按路径定位文件并自动运行先决条件命令:

    <command name> -type file -id <file path> -auto
    

    或者,若要自动修正检测到的文件,请运行:

    remediate file <file path> -auto
    

支持的输出类型

实时响应支持表和 JSON 格式输出类型。 对于每个命令,都有一个默认的输出行为。 可以使用以下命令以首选输出格式修改输出:

  • -output json
  • -output table

注意

由于空间有限,以表格式显示的字段较少。 若要在输出中查看更多详细信息,可以使用 JSON 输出命令,以便显示更多详细信息。

支持的输出管道

实时响应支持将输出管道连接到 CLI 和文件。 CLI 是默认输出行为。 可以使用以下命令通过管道将输出传递给文件: [command] > [filename].txt

例如,若要将进程列表保存到文本文件而不是在屏幕上显示,请重定向输出,如下所示:

processes > output.txt

查看命令日志

选择“ 命令日志 ”选项卡以查看会话期间在设备上使用的命令。 每个命令都会记录完整信息,例如:

  • ID
  • 命令行
  • 持续时间
  • 状态栏和输入/输出侧边栏

限制

以下限制适用于实时响应会话和命令。

  • 实时响应会话一次限制为 50 个实时响应会话。

  • 实时响应会话非活动超时值为 30 分钟。

  • 单个实时响应命令的时间限制为 10 分钟,但 getfilefindfilerun除外,其限制为 30 分钟。

  • 用户最多可以启动五个并发会话。

  • 一个设备一次只能处于一个会话中。

  • 以下文件大小限制适用:

    • getfile 限制:3 GB
    • fileinfo 限制:30 GB
    • library 限制:250 MB

    注意

    成功完成 getfile 操作取决于文件大小和可用的网络吞吐量。
    在低带宽环境中,即使文件处于支持的大小限制范围内,在达到命令超时之前,文件传输可能不会完成。
    如有必要,请将大型文件拆分为较小的部分,并单独下载它们。

相关文章

有关更多示例,请参阅以下文章。