网络钓鱼调查

本文提供有关识别和调查组织内部存在的网络钓鱼攻击的指导。 分步说明会帮助你采取必要的补救措施以保护信息,并最大程度地降低进一步的风险。

本文包含以下各节:

  • 先决条件:介绍在开始调查之前需要完成的特定要求。 例如,应启用的日志记录、所需的角色和权限,等等。
  • 工作流:显示执行此调查应遵循的逻辑流。
  • 清单:包含流程图中每个步骤的任务列表。 此清单在高度管控的环境中有助于验证已完成的项目或作为质量门。
  • 调查步骤:包括用于此特定调查的详细分步指南。

先决条件

下面是在开始网络钓鱼调查之前应完成的常规设置和配置。

客户详细信息

在继续调查之前,应具有用户名、用户主体名称(UPN)或你怀疑遭到入侵的帐户的电子邮件地址。

Microsoft 365 的基本要求

验证审核设置

通过在 Exchange Online PowerShell 中运行以下命令,验证是否已打开默认启用邮箱审核

Get-OrganizationConfig | Format-List AuditDisabled

值为 False 表示为组织中的所有邮箱启用邮箱审核,而不管单个邮箱上的 AuditEnabled 属性的值如何。 有关详细信息,请参阅验证是否已打开默认启用邮箱审核

消息跟踪

邮件跟踪日志是有助于查找邮件的原始来源和预期收件人的有用组件。 可以在 https://admin.exchange.microsoft.com/#/messagetrace 的 Exchange 管理中心 (EAC) 中使用邮件跟踪功能,或者使用 Exchange Online PowerShell 中的 Get-MessageTrace cmdlet。

注意

Microsoft Defender 门户的“电子邮件和协作”>“Exchange 邮件跟踪”下面的 https://security.microsoft.com 也提供了邮件跟踪,但这只是 EAC 中邮件跟踪的直通链接。

邮件跟踪功能的有些组件是一目了然的,但 Message-ID 是电子邮件消息的唯一标识符,需要全面了解。 要获取感兴趣的电子邮件的 Message-ID,你需要检查原始电子邮件标头。

你可以搜索统一审核日志,以查看 Microsoft 365 组织中用户和管理员的所有活动。

登录日志和/或审核日志是否已导出到外部系统?

由于大多数Microsoft Entra ID 登录 和审核数据将在 30 或 90 天后被覆盖,因此建议使用 Microsoft Sentinel、Azure Monitor 或外部安全信息和事件管理 (SIEM) 系统。

所需的角色和权限

Microsoft Entra ID 中的权限

建议实施调查的帐户至少是安全读取者

Microsoft 365 中的权限

Microsoft Defender 门户或 Microsoft Purview 合规性门户中的“安全读取者”角色应可提供足够的权限来搜索相关日志。

如果不确定要使用的角色,请参阅查找运行任何 Exchange cmdlet 所需的权限

用于终结点的 Microsoft Defender

如果你有 Microsoft Defender for Endpoint (MDE),则应将其用于此流。 有关详细信息,请参阅使用信号共享和机器学习应对网络钓鱼

系统要求

硬件要求

系统应该能够运行 PowerShell。

软件要求

调查云环境需要以下 PowerShell 模块:

Workflow

网络钓鱼调查工作流的流程图。

也可执行以下操作:

  • PDF 格式下载网络钓鱼和其他事件响应 playbook 工作流。
  • Visio 文件格式下载网络钓鱼和其他事件响应 playbook 工作流。

清单

此清单可帮助你评估调查过程,并验证在调查过程中是否已完成这些步骤:

   
查看初始网络钓鱼电子邮件
获取收到此电子邮件的用户列表
获取用户访问邮箱时的最新日期
是否在邮箱上配置了委托访问?
是否在邮箱上配置了转发规则?
查看 Exchange 邮件流规则(传输规则)
查找电子邮件消息
用户是否阅读/打开过电子邮件?
还有谁收到了相同的电子邮件?
电子邮件是否包含附件?
附件中是否有有效负载?
检查电子邮件标头,了解发件人的真实来源
验证攻击者/活动的 IP 地址
用户是否选择了电子邮件中的链接?
电子邮件是在什么终结点上打开的?
附件有效负载是否已执行?
是否接触或打开过目标 IP 或 URL?
是否已执行恶意代码?
联合方案的帐户进行过哪些登录?
托管方案的帐户进行过哪些登录?
调查源 IP 地址
调查找到的设备 ID
调查每个应用 ID

还可以 Excel 文件格式下载网络钓鱼和其他事件 playbook 清单。

调查步骤

对于此调查,你有一个示例网络钓鱼电子邮件或电子邮件的一部分。 例如,你可能拥有发件人的地址、电子邮件的主题或邮件的一部分来开始调查。 此外,请确保已按照“先决条件”部分的建议完成并启用所有设置。

获取收到电子邮件的用户/标识列表

第一步,你需要获取收到网络钓鱼电子邮件的用户/标识列表。 此步骤的目的是记录潜在用户/标识列表,以便稍后在其他调查步骤中使用该列表进行循环访问。 请参阅工作流部分,了解此调查过程中需要遵循的步骤的高级别流程图。

我们不会在此剧本中给出有关如何记录潜在用户/标识列表的任何建议。 根据调查的规模大小,你可以利用 Excel 工作簿、CSV 文件甚至数据库来进行更大规模的调查。 有多种方法可以获取给定租户中的标识列表,以下是一些示例。

在 Microsoft Purview 合规门户中创建内容搜索

使用指示器创建并运行内容搜索。 有关说明,请参阅创建内容搜索

有关可搜索电子邮件属性的完整列表,请参阅可搜索的电子邮件属性

以下示例返回用户在 2022 年 4 月 13 日至 2022 年 4 月 14 日之间收到的消息,并且这些消息在主题行中包含 "action" 和 "required" 两词:

(Received:4/13/2022..4/14/2022) AND (Subject:'Action required')

以下示例查询返回发送 chatsuwloginsset12345@outlook.com 的消息,并在主题行中包含确切短语“更新帐户信息”。

(From:chatsuwloginsset12345@outlook.com) AND (Subject:"Update your account information")

有关详细信息,请参阅如何在组织中搜索和删除消息

在 Exchange Online PowerShell 中使用 Search-Mailbox cmdlet

你还可以在 Exchange Online PowerShell 中使用 Search-Mailbox cmdlet 对感兴趣的目标邮箱执行特定查询,并将结果复制到不相关的目标邮箱。

以下示例查询在 Jane Smith 邮箱中搜索主题中包含短语“Invoice”的电子邮件,并将结果复制到名为“Investigation”的文件夹中的 IRMailbox。

Search-Mailbox -Identity "Jane Smith" -SearchQuery "Subject:Invoice" -TargetMailbox "IRMailbox" -TargetFolder "Investigation" LogLevel Full

在以下示例命令中,查询在所有租户邮箱中搜索主题中包含短语“InvoiceUrgent”的电子邮件,将结果复制到名为“Investigation”的文件夹中的 IRMailbox。

Get-Mailbox | Search-Mailbox -SearchQuery 'InvoiceUrgent vote' -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

有关详细语法和参数信息,请参阅 Search-Mailbox

是否在邮箱上配置了委托访问?

使用以下脚本检查是否在邮箱上配置了委托访问:https://github.com/OfficeDev/O365-InvestigationTooling/blob/master/DumpDelegatesandForwardingRules.ps1

若要创建此报告,请运行一个小型 PowerShell 脚本,该脚本可获取所有用户的列表。 然后,使用 Get-MailboxPermission cmdlet 创建一个 CSV 文件,文件内容为租户中所有设置了委托的邮箱。

查找异常的名称或权限授予。 如果发现异常情况,请联系邮箱所有者,检查该情况是否合法。

是否为邮箱配置了转发规则?

需要检查每个已标识邮箱的邮箱转发(也称为 SMTP(简单邮件传输协议)或收件箱规则,这些规则将电子邮件转发到外部收件人(通常是新创建的收件箱规则)。

  • 要检查所有邮箱是否有邮箱转发,请在 Exchange Online PowerShell 中运行以下命令:

    Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize unlimited | Format-Table -Auto MicrosoftOnlineServicesID,ForwardingSmtpAddress,DeliverToMailboxAndForward | Export-csv C:\Temp\Forwarding.csv -NoTypeInformation
    
  • 要检查指定日期之间在邮箱中创建的收件箱规则,请在 Exchange Online PowerShell 中运行以下命令:

    Search-UnifiedAuditLog -StartDate 12/16/2021 -EndDate 03/16/2022 -ResultSize 5000 -RecordType exchangeadmin -Operations New-InboxRule | Export-csv NoTypeInformation -Path c:\temp\Inboxrulesoutput.csv
    
  • 还可以使用 Exchange 管理中心 (EAC) 中自动转发的邮件报告。 有关说明,请参阅 Exchange Online 中自动转发的邮件报告

    注意:

    • 查找异常的目标位置,或任何类型的外部寻址。
    • 查找条件中包含异常关键词的转发规则,如主题中含有 invoice 一词的所有邮件。 请联系邮箱所有者,检查该情况是否合法。

查看收件箱规则

检查收件箱规则是否已删除,并考虑与你的调查接近的时间戳。 例如,在 Exchange Online PowerShell 中使用以下命令:

Search-UnifiedAuditLog -StartDate 12/16/2021 -EndDate 03/16/2022 -Operations Remove-InboxRule | Export-CSV NoTypeInformation -Path c:\temp\removedInboxRules.csv

查看 Exchange 邮件流规则(传输规则)

有两种方法可以获取组织中的 Exchange 邮件流规则(也称为传输规则)列表:

查找新规则或修改的规则,以将邮件重定向到外部域。 规则数应已知且相对较小。 你可以进行审核日志搜索,来确定创建规则的人员以及创建规则的位置。 如果看到异常内容,请联系创建者以确定其是否合法。

获取用户访问邮箱时的最新日期

在 Microsoft Defender 门户或Microsoft Purview 合规门户中,导航到统一的审核日志。 在下拉列表中的“活动”项下,可以按照 Exchange 邮箱活动进行筛选。

Microsoft Defender 门户中提供了列出已泄露用户的功能。

此报表显示的活动可能表明邮箱正遭到非法访问。 它包括了创建或接收的消息、移动或删除的消息、复制或清除的消息、使用“代表发送”或“发送方式”发送的消息以及所有邮箱登录。相关数据包括日期、IP 地址、用户、执行的活动、受影响的项以及任何扩展的详细信息。

注意

若要记录此数据,必须启用“邮箱审核”选项。

此处包含的数据量可能很大,因此请将搜索重点放在如果泄露时将产生高影响的用户上。 查找异常模式(例如一天中的非常规次数或异常 IP 地址)以及诸如大量移动、清除或删除等模式。

用户是否阅读/打开过电子邮件?

此处存在两种主要情况:

  • 邮箱在 Exchange Online 中。
  • 邮箱在本地 Exchange(Exchange 混合)中。

Exchange Online 用户是否打开了电子邮件

Exchange Online PowerShell 中使用 Search-Mailbox cmdlet 对感兴趣的目标邮箱进行特定搜索查询,并将结果复制到不相关的目标邮箱。

以下示例查询在 Janes Smith 的邮箱中搜索主题中包含短语 Invoice 的电子邮件,然后将结果复制到名为 Investigation 的文件夹中的 IRMailbox

Search-Mailbox -Identity "Jane Smith" -SearchQuery "Subject:Invoice" -TargetMailbox "IRMailbox" -TargetFolder "Investigation" LogLevel Full

以下示例查询在所有租户邮箱中搜索主题中包含短语“InvoiceUrgent”的电子邮件,然后将结果复制到名为“Investigation”的文件夹中的“IRMailbox”邮箱。

Get-Mailbox | Search-Mailbox -SearchQuery 'InvoiceUrgent vote' -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

用户是否在 Exchange 混合中打开了电子邮件

使用 Get-MessageTrackingLog cmdlet 搜索存储在消息跟踪日志中的消息传递信息。 下面是一个示例:

Get-MessageTrackingLog -Server Mailbox01 -Start "03/13/2022 09:00:00" -End "03/15/2022 17:00:00" -Sender "john@contoso.com"

有关详细的语法和参数信息,请参阅 Get-MessageTrackingLog

还有谁收到了相同的电子邮件?

此处存在两种主要情况:

  • 邮箱在 Exchange Online 中。
  • 邮箱在本地 Exchange(Exchange 混合)中。

工作流实质上与本文前面获取收到电子邮件的用户/标识列表部分中说明的内容相同。

在 Exchange Online 中查找电子邮件

使用 Search-Mailbox cmdlet 对感兴趣的目标邮箱执行特定搜索查询,然后将结果复制到不相关的目标邮箱。

以下示例查询在所有租户邮箱中搜索主题包含“InvoiceUrgent”的电子邮件,并将结果复制到名为“Investigation”的文件夹中的“IRMailbox”邮箱中。

Get-Mailbox | Search-Mailbox -SearchQuery "Subject:InvoiceUrgent" -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

在本地 Exchange 中查找电子邮件

使用 Get-MessageTrackingLog cmdlet 搜索存储在消息跟踪日志中的消息传递信息。 下面是一个示例:

Get-MessageTrackingLog -Server Mailbox01 -Start "03/13/2018 09:00:00" -End "03/15/2018 17:00:00" -MessageSubject "InvoiceUrgent"

有关详细的语法和参数信息,请参阅 Get-MessageTrackingLog

电子邮件是否包含附件?

此处存在两种主要情况:

  • 邮箱在 Exchange Online 中。
  • 邮箱在本地 Exchange(Exchange 混合)中。

了解邮件是否包含 Exchange Online 中的附件

如果邮箱在 Exchange Online 中,有两个选项:

  • 使用经典 Search-Mailbox cmdlet
  • 使用 New-ComplianceSearch cmdlet

使用 Search-Mailbox cmdlet 对感兴趣的目标邮箱执行特定搜索查询,然后将结果复制到不相关的目标邮箱。 下面是一个示例:

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery attachment:trojan* -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

有关详细语法和参数信息,请参阅 Search-Mailbox

另一个选项是使用 New-ComplianceSearch cmdlet。 下面是一个示例:

New-ComplianceSearch -Name "Investigation" -ExchangeLocation "Research Department" -ContentMatchQuery "from:pilar@contoso.com AND hasattachment:true"

有关详细语法和参数信息,请参阅 New-ComplianceSearch

了解邮件是否包含本地 Exchange 中的附件

注意

在 Exchange Server 2013 中,此过程需要累积更新 12 (CU12) 或更高版本。 有关详细信息,请参阅此文章

使用 Search-Mailbox cmdlet 搜索存储在消息跟踪日志中的消息传递信息。 下面是一个示例:

Search-Mailbox -Identity "Jane Smith"-SearchQuery AttachmentNames:attachment_name -TargetMailbox "IRMailbox" -TargetFolder "Investigation" -LogLevel Full

有关详细语法和参数信息,请参阅 Search-Mailbox

附件中是否有有效负载?

查找附件中的潜在恶意内容。 例如,PDF 文件、经过模糊处理的 PowerShell 或其他脚本代码。

“威胁防护状态报告”中的“按电子邮件查看数据”>“恶意软件”视图可显示检测到的包含针对组织的恶意软件的接收邮件和待发邮件数量。 有关详细信息,请参阅威胁防护状态报告:按电子邮件查看数据 > 恶意软件

检查电子邮件标头,了解发件人的真实来源

消息跟踪功能的许多组件都一目了然,但你需要全面了解 Message-ID。 Message-ID 是电子邮件的唯一标识符。

若要获取感兴趣的电子邮件的 Message-ID,你需要检查原始电子邮件标头。 有关如何在 Microsoft Outlook 或 Outlook 网页版(以前称为 Outlook Web App 或 OWA)中执行此操作的说明,请参阅在 Outlook 中查看 Internet 邮件标头

查看电子邮件标头时,请将标头信息复制并粘贴到 MXToolboxAzure 提供的电子邮件标头分析器中,以便可读。

  • 标头路由信息:路由信息提供电子邮件在计算机之间传输的路由。

  • 发送方策略框架 (SPF):帮助防止/检测欺骗的电子邮件验证。 在 SPF 记录中,可以确定哪些 IP 地址和域可以代表该域发送电子邮件。

  • SPF = Pass:SPF TXT 记录确定发送方获得允许代表域发送电子邮件。

    • SPF = Neutral
    • SPF = Fail:策略配置确定消息发送方 IP 的结果
    • SMTP Mail:验证域是否合法

    有关 SPF 的详细信息,请参阅 Microsoft 365 如何使用 SPF 防止欺骗

  • 常见值: 下面是最常用的标头和已查看标头及其值的细分。 这是很有用的信息,你可在 Threat Explorer 的“搜索”字段中使用它们。

    • 发件人地址
    • Subject
    • 消息 ID
    • 收件地址
    • 返回路径地址
  • 验证结果:可查找电子邮件客户端在发送电子邮件时进行身份验证的结果。 它提供 SPF 和 DKIM 身份验证。

  • 起始 IP:可使用此原始 IP 来确定 IP 是否被列入阻止列表并获取地理位置。

  • 垃圾邮件置信度(SCL): 这决定了传入电子邮件是否是垃圾邮件的概率。

    • -1:绕过来自安全发送方、安全接收方或列为安全的 IP 地址(受信任的伙伴)的大多数垃圾邮件筛选
    • 0,1:非垃圾邮件,因为已扫描并确定为干净
    • 5、6:垃圾邮件
    • 7、8、9:高置信度垃圾邮件

SPF 记录存储在 DNS 数据库中,并与 DNS 查找信息捆绑在一起。 可使用 nslookup 命令,手动检查域的发送方策略框架 (SPF) 记录:

  1. 打开命令提示符(开始 > 运行 > cmd)。

  2. 键入以下命令:nslookup -type=txt" 空格,然后键入域/主机名。 例如:

     nslookup -type=txt domainname.com
    

注意

-all(拒绝或操作失败 - 如果任何内容都不匹配,则不发送此电子邮件),建议使用此项。

检查 Microsoft 365 中的自定义域是否已启用 DKIM

你必须为每个需要添加域密钥识别邮件 (DKIM) 的域发布两个 CNAME 记录。 请参阅如何使用 DKIM 验证从自定义域发送的出站电子邮件

检查基于域的消息身份验证、报告和一致性 (DMARC)

你可使用此功能来验证 Microsoft 365 中的出站电子邮件

验证攻击者/活动的 IP 地址

若要验证或调查先前调查步骤中标识的 IP 地址,可以使用以下任一选项:

  • VirusTotal
  • 用于终结点的 Microsoft Defender
  • 公共源:
    • Ipinfo.io - 有一个免费选项,可用于获取地理位置
    • Censys.io - 有一个免费选项可,用于获取有关其对 Internet 被动扫描的信息
    • AbuseIPDB.com - 有一个免费选项,可提供某些地理位置
    • 询问 Bing 和 Google - 搜索 IP 地址

URL 信誉

可以使用任何使用 SmartScreen 技术的 Windows 10 设备和 Microsoft Edge 浏览器。

下面是几个第三方 URL 信誉示例:

调查 IP 地址和 URL 时,请根据输出或结果查找 IP 地址并将它们关联到入侵指标 (IOC) 或其他指标,然后将这些 IP 地址添加到攻击者的源列表中。

如果用户在电子邮件中单击了链接(出于目的或不这样做),则此操作通常会导致在设备本身上创建新进程。 根据执行此操作的设备,你需要进行特定设备的调查。 例如,Windows、Android 或 iOS。 本文介绍一般方法,以及适用于基于 Windows 设备的一些详细信息。 如果使用 Microsoft Defender for Endpoint (MDE),则还可以将其用于 iOS 和 Android。

你可以使用 Microsoft Defender for Endpoint 调查这些事件。

  • VPN/代理日志 根据代理和 VPN 解决方案供应商的情况,你需要检查相关日志。 理想情况下,你要将事件转发到 SIEM 或Microsoft Sentinel。

  • 使用 Microsoft Defender for Endpoint 这是最佳事例场景,因为你可以使用威胁情报和自动分析来帮助你进行调查。 有关详细信息,请参阅 如何在 Microsoft Defender for Endpoint 中调查警报。

    “警报进程树”会将警报会审和调查推进到下一级别,同时显示聚合的警报以及在同一执行上下文和时间段内发生的相关证据。 警报进程树的屏幕截图。

  • 基于 Windows 的客户端设备 确保已启用进程创建事件选项。 理想情况下,还应启用“命令行跟踪事件”。

    在调查之前启用了上述审核事件的 Windows 客户端上,可以检查审核事件 4688,并确定电子邮件发送给用户的时间:

    Audit 事件 4688 的屏幕截图示例。

    审核事件 4688 的另一个屏幕截图示例。

电子邮件是在什么终结点上打开的?

此处的任务类似于上一调查步骤: 用户是否在电子邮件中选择链接?

附加的有效负载是否已执行?

此处的任务类似于上一调查步骤: 用户是否在电子邮件中选择链接?

是否接触或打开过目标 IP / URL?

此处的任务类似于上一调查步骤: 用户是否在电子邮件中选择链接?

是否已执行恶意代码?

此处的任务类似于上一调查步骤: 用户是否在电子邮件中选择链接?

帐户进行过哪些登录?

检查帐户发生的各种登录。

联合方案

审核日志设置和事件因操作系统 (OS) 级别和 Active Directory 联合身份验证服务 (ADFS) 服务器的版本而有所不同。

请参阅以下部分,了解不同的服务器版本。

Server 2012 R2

默认情况下,不会在 Server 2012 R2 上审核安全事件。 你需要在服务器场中的每个 ADFS 服务器上启用此功能。 在 ADFS 管理控制台中,选择“编辑联合身份验证服务属性”

编辑联合属性的屏幕截图。

你还需要启用“OS 审核策略”

请打开命令提示符,以管理员角色运行以下命令。

auditpol.exe /set /subcategory:"Application Generated" /failure:enable /success:enable

有关详细信息,请参阅 如何配置 ADFS 服务器进行故障排除

你可能还需要从以下站点下载 ADFS PowerShell 模块:

Server 2016 或更新版本

默认情况下,Windows Server 2016 中的 ADFS 已启用基本审核。 在基本审核级别下,对于单个请求,管理员最多可看到五个事件。 但可以使用以下命令提高或降低审核级别:

Set-AdfsProperties -AuditLevel Verbose

有关详细信息,请参阅 Windows Server 中 ADFS 的审核增强功能。

如果已安装 Microsoft Entra Connect Health,你还应查看风险 IP 报告。 失败的登录活动客户端 IP 地址会通过 Web 应用程序代理服务器进行聚合。 风险 IP 报告中的每个项目都会显示有关失败的 AD FS 登录活动(失败次数超出指定阈值)的聚合信息。

风险 IP 报告的屏幕截图示例。

有关详细信息,请参阅 风险 IP 报告

Server 2012 R2

事件 ID 342 – ADFS 管理员日志中“用户名或密码不正确”。

对于实际审核事件,你需要查看安全事件日志,并应查找具有事件 ID 411(经典审核失败)且事件源为 ADFS 审核的事件。 还应在身份验证成功时查找事件 ID 412。

事件 ID 411 - SecurityTokenValidationFailureAudit 令牌验证失败。 请参见内部异常了解详细信息。

事件 411 的屏幕截图示例。

事件 412 的屏幕截图示例。

你可能需要将事件与相应的事件 ID 501 相关联。

Server 2016 或更新版本

对于实际的审核事件,需要查看安全事件日志,应查找事件 ID 1202 以查找成功身份验证事件的事件,并查找 1203 失败事件

事件 ID 1202 的示例:

事件 ID 1202 FreshCredentialSuccessAudit 联合身份验证服务已验证新凭据。 有关详细信息,请参阅 XML。

事件 ID 1203 的示例:

事件 ID 1203 FreshCredentialFailureAudit 联合身份验证服务验证新凭据失败。 有关失败详细信息,请参阅 XML。

事件 1203 的示例

事件 4624 的示例

若要获取每个 OS 级别 ADFS 事件 ID 的完整列表,请参阅 GetADFSEventList

托管方案

检查要调查的一个或多个用户的 Microsoft Entra 登录日志。

在 Microsoft Entra 管理中心,导航到 登录”屏幕并添加/修改在上一调查步骤中找到的时间范围显示筛选器,并将用户名添加为筛选器,如下图所示。

显示筛选器的屏幕截图示例,其中包含时间范围。

也可使用图形 API 进行搜索。 例如,根据“用户属性”进行筛选并获取与之相关的 lastSignInDate。 搜索特定用户,获取该用户的上次登录日期。 例如: https://graph.microsoft.com/beta/users?$filter=startswith(displayName,'Dhanyah')&$select=displayName,signInActivity

你也可使用 PowerShell 命令 Get-AzureADUserLastSignInActivity 获取用户的上次交互式登录活动,其目标为用户的对象 ID。 此示例会将输出结果写入执行目录中一个加盖日期和时间戳的 CSV 文件。

Get-AzureADUserLastSignInActivity -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee -UserObjectId aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb -CsvOutput

你也可从 AzureADIncidentResponse PowerShell 模块使用以下命令:

Get-AzureADIRSignInDetail -UserId johcast@Contoso.com -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee -RangeFromDaysAgo 29 -RangeToDaysAgo 3

调查源 IP 地址

根据在 Microsoft Entra 登录日志或 ADFS/联合服务器日志文件中找到的源 IP 地址,进一步调查流量的来源。

托管用户

对于托管方案,应从查看登录日志开始,然后基于源 IP 地址进行筛选:

托管用户 IP 地址的屏幕截图示例。

你也可从 AzureADIncidentResponse PowerShell 模块使用以下命令:

Get-AzureADIRSignInDetail -IpAddress 1.2.3.4 -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee -RangeFromDaysAgo 29 -RangeToDaysAgo 3 -OutGridView

查看结果列表时,导航到 “设备信息 ”选项卡。根据所使用的设备,可获得不同的输出。 以下是一些示例:

  • 示例 1 - 非托管设备(BYOD):

    非托管设备的屏幕截图示例。

  • 示例 2 - 托管设备(Microsoft Entra 加入或 Microsoft Entra 混合加入):

    托管设备信息的屏幕截图示例。

检查设备 ID(如果存在)。 还应查找 OS 和浏览器,或 UserAgent 字符串。

设备 ID 的屏幕截图示例。

请记录 CorrelationID(相关 ID)、Request ID(请求 ID)和 timestamp(时间戳)。 应使用 CorrelationID(相关 ID)和 timestamp(时间戳)将你的发现与其他事件相关联。

联合用户/应用程序

请按照为联合登录方案提供的相同过程进行操作。

查找并记录 DeviceID(设备 ID)、OS Level(OS 级别)、CorrelationID(相关 ID)和 RequestID(请求 ID)。

调查标识的设备 ID

此步骤仅与已被 Microsoft Entra ID 所知的设备相关。 例如,在前面的步骤中,如果你找到了一个或多个潜在的设备 ID,则可以在此设备上开展进一步调查。 查找并记录此设备 ID 和设备所有者

调查每个 AppID

从租户或联合服务器的配置登录日志和应用配置开始。

托管方案

从此前找到的登录日志详细信息中,检查“Basic info”(“基本信息”)选项卡中的“Application ID”(“应用程序 ID”)

有关如何在“基本信息”选项卡中检查应用程序 ID 的屏幕截图。

请注意应用程序(及其 ID)与资源(及其 ID)之间的差异。 应用程序涉及客户端组件,而资源是 Microsoft Entra ID 中的服务/应用程序。

利用此 AppID,你现在可以在租户中执行调查。 下面是一个示例:

Get-MgApplication -Filter "AppId eq '00001111-aaaa-2222-bbbb-3333cccc4444'"
Id                                       AppId                                    DisplayName

3af6dc4e-b0e5-45ec-8272-56f3f3f875ad     00001111-aaaa-2222-bbbb-3333cccc4444     Claims X-Ray

利用此信息,你可以在企业应用程序门户中进行搜索。 导航到“所有应用程序”,然后搜索特定的 AppID。

应用程序 ID 的屏幕截图示例。

额外的事件响应 playbook

检查有关识别和调查这些其他类型的攻击的指导:

事件响应资源