学习路径 7 - 实验室 1 - 练习 7 - 创建检测
实验室方案
你是一位安全运营分析师,你所在公司已实现 Microsoft Sentinel。 你将使用 Log Analytics KQL 查询,并从这里创建自定义分析规则,以帮助发现环境中的威胁和异常行为。
分析规则将在你的整个环境中搜索特定事件或事件集,在达到特定事件阈值或条件时发出警报,生成故障事件以供 SOC 进行会审和调查,并通过自动化跟踪和修正流程来响应威胁。
注意: 我们提供 交互式实验室模拟 ,让你能以自己的节奏点击浏览实验室。 你可能会发现交互式模拟与托管实验室之间存在细微差异,但演示的核心概念和思想是相同的。
任务 1:持久性攻击检测
重要提示: 接下来的步骤将在另一台计算机上完成,而不是你之前使用的计算机。 查找虚拟机名称引用。
在此任务中,你将为上一练习的第一个攻击创建检测。
-
使用以下密码以管理员身份登录到 WIN1 虚拟机:Pa55w.rd。
-
在 Microsoft Edge 浏览器中,导航到 Azure 门户 (https://portal.azure.com )。
-
在“登录”对话框中,复制粘贴实验室托管提供者提供的租户电子邮件帐户,然后选择“下一步” 。
-
在“输入密码”对话框中,复制粘贴实验室托管提供者提供的租户密码,然后选择“登录” 。
-
在 Azure 门户的搜索栏中,键入“Sentinel”,然后选择“Microsoft Sentinel”。
-
选择之前创建的 Microsoft Sentinel 工作区。
-
在“常规”部分选择“日志”。
-
再次运行以下 KQL 语句,以召回包含此数据的表:
search "temp\\startup.bat"
注意:显示事件的结果可能需要长达 5 分钟的时间。 请等到它完成。 如果未显示,请确保已按照上一练习中的指示重启 WINServer,并且已完成学习路径 6 实验室练习 2 的任务 3。
-
SecurityEvent 表中的数据已经规范化,便于进行查询。 展开该行以查看与记录相关的所有列。
-
从结果中,我们现在知道了 Threat Actor 正在使用 reg.exe 向注册表项添加项,程序位于 C:\temp。运行以下语句,将查询中的搜索运算符替换为 where 运算符 :
SecurityEvent | where Activity startswith "4688" | where Process == "reg.exe" | where CommandLine startswith "REG"
-
请务必尽可能多地提供关于警报的上下文,为安全运营中心分析师提供帮助。 这包括投影在调查关系图中使用的实体。 运行以下查询:
SecurityEvent | where Activity startswith "4688" | where Process == "reg.exe" | where CommandLine startswith "REG" | extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = SubjectUserName
-
你现在有一个不错的检测规则,接下来请在“日志”窗口中,选择命令栏中的“+ 新建预警规则”,然后选择“创建 Microsoft Sentinel 警报” 。 随后会创建新的计划规则。 提示:可能需要从命令栏中选择省略号 (…) 按钮。
-
这会启动“分析规则向导”。 在“常规”选项卡中,键入以下内容:
设置 值 名称 Startup RegKey 说明 c:\temp 中的 Startup RegKey 策略 持久性 Severity 高 -
选择“下一页:设置规则逻辑 >”按钮。
-
在“设置规则逻辑”** 选项卡上,规则查询应已填充你的 KQL 查询。
-
使用下表中的参数配置警报增强 - 实体映射下的实体。
实体 标识符 数据字段 帐户 FullName AccountCustomEntity 主机 主机名 HostCustomEntity -
对于“查询计划”,设置以下项:
设置 值 运行查询的时间间隔 5 分钟 查找上次的数据 1 天 注意: 我们特意针对同一数据生成了多个事件。 这样,实验室就可使用这些警报。
-
将其余选项保留为默认值。 选择“下一页:事件设置 >”按钮。
-
对于“事件设置”选项卡,保留默认值并选择“下一页: “下一步: 自动响应 >”按钮。
-
在“自动化规则”下的“自动响应”选项卡上,选择“新增” 。
-
使用表中的设置配置自动化规则。
设置 “值” 自动化规则名称 Startup RegKey 触发器 创建事件时 操作 运行攻略 playbook PostMessageTeams-OnIncident 注意: 你已为 playbook 分配了权限,因此它将可用。
-
选择“应用”
-
选择底部的** 查看 + 创建 >”按钮。
-
在“查看并创建”选项卡上,选择“保存”按钮以新建计划分析规则**。
任务 2:特权提升攻击检测
在此任务中,你将为上一练习的第二个攻击创建检测。
-
如果你已离开此页面,在 Microsoft Sentinel 门户中,选择“常规”部分中的“日志”。
-
运行以下 KQL 语句以标识任何引用管理员的条目:
search "administrators" | summarize count() by $table
-
结果可能会显示不同表中的事件,但在我们的案例中,我们想要调查 SecurityEvent 表。 我们查找的 EventID 和 Event 为“4732 - 成员已添加到启用了安全性的本地组”。 通过此操作,我们将确定将成员添加到特权组。 运行以下 KQL 查询以确认:
SecurityEvent | where EventID == 4732 | where TargetAccount == "Builtin\\Administrators"
-
展开该行以查看与记录相关的所有列。 不会显示添加为管理员的帐户的用户名。 问题在于未存储该用户名,我们具有的是安全标识符 (SID)。 运行以下 KQL,将 SID 与添加到 Administrators 组的用户名匹配:
SecurityEvent | where EventID == 4732 | where TargetAccount == "Builtin\\Administrators" | extend Acct = MemberSid, MachId = SourceComputerId | join kind=leftouter ( SecurityEvent | summarize count() by TargetSid, SourceComputerId, TargetUserName | project Acct1 = TargetSid, MachId1 = SourceComputerId, UserName1 = TargetUserName) on $left.MachId == $right.MachId1, $left.Acct == $right.Acct1
-
扩展行以显示生成的列,在上一行中,我们在 KQL 查询投影的 UserName1 列下看到了添加的用户的名称 。 请务必尽可能多地提供关于警报的上下文,为安全操作分析师提供帮助。 这包括投影在调查关系图中使用的实体。 运行以下查询:
SecurityEvent | where EventID == 4732 | where TargetAccount == "Builtin\\Administrators" | extend Acct = MemberSid, MachId = SourceComputerId | join kind=leftouter ( SecurityEvent | summarize count() by TargetSid, SourceComputerId, TargetUserName | project Acct1 = TargetSid, MachId1 = SourceComputerId, UserName1 = TargetUserName) on $left.MachId == $right.MachId1, $left.Acct == $right.Acct1 | extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = UserName1
-
你现在有一个不错的检测规则,接下来请在“日志”窗口中,选择命令栏中的“+ 新建预警规则”,然后选择“创建 Microsoft Sentinel 警报” 。 提示:可能需要从命令栏中选择省略号 (…) 按钮。
-
这会启动“分析规则向导”。 在“常规”选项卡中,键入以下内容:
设置 值 名称 SecurityEvents 本地管理员用户添加操作 说明 添加到本地管理员组的用户 策略 特权提升 Severity 高 -
选择“下一页:设置规则逻辑 >”按钮。
-
在“设置规则逻辑”选项卡上,“规则查询”应已填充 KQL 查询,以及“警报增强 - 实体映射”下的实体**。
实体 标识符 数据字段 帐户 FullName AccountCustomEntity 主机 主机名 HostCustomEntity -
如果未为“主机”实体选择“主机名”,请从下拉列表中选择它,并使用上表中的参数填充字段**。
-
对于“查询计划”,设置以下项:
设置 值 运行查询的时间间隔 5 分钟 查找上次的数据 1 天 注意: 我们特意针对同一数据生成了多个事件。 这样,实验室就可使用这些警报。
-
将其余选项保留为默认值。 选择“下一页:事件设置 >”按钮。
-
对于“事件设置”选项卡,保留默认值并选择“下一页: “下一步: 自动响应 >”按钮。
-
在“自动化规则”下的“自动响应”选项卡上,选择“新增” 。
-
使用表中的设置配置自动化规则。
设置 “值” 自动化规则名称 SecurityEvents 本地管理员用户添加操作 触发器 创建事件时 操作 运行攻略 playbook PostMessageTeams-OnIncident 注意: 你已为 playbook 分配了权限,因此它将可用。
-
选择“应用”
-
选择“下一步: 查看并创建 >”按钮。
-
在“查看并创建”选项卡上,选择“创建”按钮以新建计划分析规则。