商业电子邮件入侵与收件箱规则:疑似 BEC 后如何在 Exchange Online 中找出恶意规则
怀疑发生商业电子邮件入侵后,先查收件箱规则。本文说明攻击者常用的规则模式、在 Exchange Online 哪里找到它们,以及清理前要保留哪些证据。
一句话结论: 怀疑发生商业电子邮件入侵(BEC)后,第一件要查的是收件箱规则,因为攻击者正是靠它们藏在邮箱里:把关于付款的回复挪到看不见的地方、删掉警告邮件、或者把副本转发出去。把这个邮箱的所有规则列出来,包括隐藏规则,再用 Microsoft Purview 审计日志查明每条规则是谁、在什么时候、从哪里建的。先遏制账号,再保全证据,最后才删除任何东西。
商业电子邮件入侵很少看起来像一次闯入。财务部的同事收到一封来自熟悉供应商的邮件,说本月发票换了新的银行账户。邮件确实来自供应商的真实邮箱,或者来自你自己的邮箱,因为攻击者已经读了好几周。在这几周里让攻击者不被发现的,往往就是一小组商业电子邮件入侵收件箱规则:它们把真正供应商的回复挪到一个没人打开的文件夹,直到款项已经付出去,骗局才被发现。
本文讲的是调查:攻击者常用的规则模式、在 Exchange Online 哪里找到它们、哪些审计记录能显示是谁建的,以及清理之前要保留什么。如何从源头阻止转发,见我们的姊妹篇阻止 Microsoft 365 外部邮件转发。
先说一点。如果你认为某个邮箱此刻正被入侵,请先遏制、再调查:重置密码、撤销该用户的会话、检查已注册的登录方式。具体步骤见下文。如果需要协助,请联系我们并注明紧急。
攻击者为什么要建收件箱规则?
控制了邮箱的攻击者有两个麻烦。真正的主人会注意到别人回复了他没发过的邮件;安全警告或退信也可能露出马脚。收件箱规则能悄悄解决这两个问题,而且改了密码之后照样工作,因为规则属于邮箱,而不属于会话。
在公开的事件分析里,包括微软自己关于商业电子邮件入侵的安全研究,反复出现的模式可以归为几类。
- 藏起对话。 来自某个供应商、客户或财务联系人的邮件,或者含有发票、付款、银行、电汇、汇款、供应商名称等字眼的邮件,被挪到用户从不查看的文件夹:RSS 订阅、RSS 源、对话历史记录、存档,或一个新建的、名字看起来很无害的文件夹。
- 标记为已读。 与移动动作搭配,这样就不会出现未读提示。
- 删除警告。 含有"钓鱼""被黑""可疑""是你发的吗"等字眼的邮件,或者退信,一到就被删除,用户永远看不到同事的提醒。
- 复制出去。 转发、作为附件转发或重定向到外部地址,往往范围很窄,例如只转发财务总监发来的邮件。
- 看起来平平无奇。 规则名称只有一个字符、一个句点、几个重复字母,或者照抄某条现有规则的名字。
这些单独都不能证明什么。员工随时都在建一些奇怪的规则。关键在于组合:一个很窄的财务关键词、挪到一个没人用的文件夹、创建时间与一次可疑登录相近,再加上用户本人不认得这条规则。
在 Exchange Online 哪里找到收件箱规则?
从你怀疑的那个邮箱开始,再扩大到同一攻击者可能接触过的所有邮箱。
Outlook 网页版和 Outlook 客户端
用户自己能看到的视图,在 Outlook 网页版的"设置""邮件""规则"里。作为第一眼很快,但并不完整。通过其他接口创建的部分规则,并不会在每个客户端里显示,攻击者也可能建了一条用户的 Outlook 无法正常显示的规则。
Exchange Online PowerShell
权威的清单来自 PowerShell。Get-InboxRule -Mailbox user@yourdomain.com 列出规则;加上 -IncludeHidden 还会返回隐藏规则,部分攻击者建的规则就藏在那里。把结果送到 Format-List,查看 Name、Enabled、Description、From、SubjectContainsWords、BodyContainsWords、MoveToFolder、MarkAsRead、DeleteMessage、ForwardTo、ForwardAsAttachmentTo 和 RedirectTo。Description 属性很有用,它用平白的英文把规则写了出来。
顺便检查攻击者可能藏副本的其他地方:邮箱转发属性(Get-Mailbox 的 ForwardingSmtpAddress 和 ForwardingAddress)、邮箱代理人和文件夹权限(Get-MailboxPermission 和 Get-MailboxFolderPermission),以及任何涉及这个邮箱的邮件流规则。
扩大到整个租户
只要有一个邮箱被入侵,就要假定其他邮箱也被尝试过。对每个邮箱运行 Get-InboxRule,筛选出转发、重定向或删除邮件,或把邮件挪到 RSS 订阅、对话历史记录或存档的规则。按规则的大致创建时间排序,并与第一个被入侵账号的时间线比对。我们外部转发指南里的转发清点用的也是同一组查询。
审计日志能告诉你什么?
规则告诉你做了什么;审计日志告诉你是谁、什么时候、从哪里做的,这正是区分攻击者的规则和用户自己的规则所需要的。
规则的创建与修改
Microsoft Purview 门户中"审计"下的审计搜索,会记录收件箱规则的活动。要搜索的操作是 New-InboxRule 和 Set-InboxRule(在 Outlook 网页版或通过 PowerShell 创建或修改的规则)、UpdateInboxRules(从 Outlook 桌面客户端创建、修改或删除的规则),以及 Remove-InboxRule。在 PowerShell 中,同样的搜索是 Search-UnifiedAuditLog,配合 -StartDate、-EndDate、-UserIds,并把 -Operations 设为上述名称。微软的《Use the audit log to identify Exchange inbox rules activities》一文说明,记录的 Parameters 字段会显示规则的条件和动作,客户端 IP 则显示改动是从哪里发出的。
同一时段的登录
在 Microsoft Entra 管理中心,打开该用户在规则创建前后几天的登录日志。留意来自用户不会去的国家或网络的登录、陌生的浏览器或设备,以及在用户并不在的地点通过了 MFA 的登录。最后一种尤其重要。中间人(AiTM)钓鱼页面可以在用户完成 MFA 之后截获会话,所以"MFA 是开着的"并不能排除入侵。我们的如何在 Microsoft 365 中启用 MFA一文说明了为什么抗钓鱼的验证方式能补上这个缺口。
攻击者读了什么、发了什么
Exchange 管理中心"邮件流"下的邮件追踪,显示该邮箱在这段时间里收发了哪些邮件,包括被删除或挪走的。在许可证会记录的情况下,MailItemsAccessed 审计事件能显示哪些邮件被打开过,有助于判断哪些数据外泄了。请核实你的许可证实际记录了什么,不要想当然。
证据能保留多久
这是很多人发现得太晚的部分。微软文档说明,对于 2023 年 10 月 17 日及之后产生的日志,审计(标准版)保留 180 天;更长的保留期需要审计(高级版)或保留策略。如果入侵可能在几个月前就开始了,请立即导出相关记录。
先遏制,再保全,最后清理
顺序很重要。先清理,就会毁掉你判断攻击者走了多远所需的证据,也会削弱任何保险索赔、银行追款或法律行动的依据。
- 遏制。 重置用户密码,然后在 Microsoft Entra 管理中心撤销其会话,让现有登录全部失效。检查用户已注册的身份验证方式,删除用户本人没有添加的方式;攻击者经常会注册自己的验证器。检查有没有用户没授权过的应用同意。
- 禁用而不是删除可疑规则。 用 Set-InboxRule 加 -Enabled $false 让规则停止工作而不销毁它,这样完整定义仍在,可以导出。
- 保全。 导出 Get-InboxRule 的输出、相关审计日志记录、登录日志条目和这段时间的邮件追踪。记下每一步的时间和执行人。如果可能涉及法律行动、保险索赔或向监管机构报告,请在删除任何东西之前先咨询法律顾问和保险公司,他们可能会要求对邮箱设置保留。
- 提醒关键的人。 通知财务部门,并通过你已有的电话号码(而不是邮件里的号码)联系对话被盯上的供应商或客户。
- 清理。 删除恶意规则、转发地址、代理人和应用同意。然后检查其他邮箱是否有同样的模式。
- 把门关上。 查明攻击者是怎么进来的,通常是钓鱼页面或重复使用的密码,并修复这个根源,而不只是处理症状。
内置告警、人工复查还是持续监控?
机构发现恶意规则的三种方式,各自能做什么、做不到什么。
哪种方式最早发现恶意规则?
- 内置告警策略。 Microsoft Defender 内置了针对创建转发或重定向规则、以及可疑转发活动的默认告警策略,Microsoft Defender for Cloud Apps 也能标记可疑的收件箱操作。其中几项随标准的 Microsoft 365 商业版许可证提供,Defender for Cloud Apps 则需要单独许可。它们的局限是必须有人去看告警,而且只挪动或删除邮件的规则,可能根本不会触发转发告警。
- 定期人工复查。 每月或每季度运行一次全租户的 Get-InboxRule 查询,能抓到告警漏掉的规则,包括只挪动和删除邮件的规则。它的局限在于时间:复查后第二天建的规则,会运行好几周。
- 由安全运营中心持续监控。 分析人员把登录风险、规则创建和邮箱活动放在一起看,几小时内就能处置。这就是安全运营中心服务提供的内容,适合一笔欺诈付款就会造成严重后果的机构。
Microsoft 365 安全审计在这里检查什么?
审计不是事件响应。它是在事件发生之前,或者事件被遏制之后,用来找出让事件得以发生的薄弱环节的审查。在 Brocent 的 Microsoft 365 安全审计中,邮件安全部分会检查所有邮箱中转发、重定向或删除邮件的收件箱规则,邮箱转发,出站转发策略,相关告警策略的状态,邮箱审计和审计保留期,以及本可以在一开始就挡住那次登录的 MFA 和条件访问设置。
Microsoft 365 安全审计示例报告(英文页)展示了这些发现怎样写成文字、怎样排序。审计只读、远程进行,授予只读访问后 5 到 7 个工作日交付报告,复盘会议按你所在地的工作时间安排,无论你在英国、澳大利亚还是亚洲。价格按人数固定,10 位用户以内 450 美元起,各档价格和范围见 Microsoft 365 安全审计定价页。
香港供应商付款诈骗案例展示了这类入侵在财务团队眼中是什么样子。对英国企业来说,存有个人数据的邮箱被入侵还可能引出数据保护问题;对很多企业来说,这也是网络保险的事项。两种情况下,审计报告都是为了证明现有控制而设计的证据,而不是法律意见。
常见问题
BEC 之后,哪些收件箱规则最可疑?
把含有付款或供应商关键词的邮件挪到 RSS 订阅、对话历史记录、存档或新建文件夹的规则;删除提到钓鱼或被黑的邮件的规则;转发或重定向到外部的规则;以及名字毫无意义的规则,例如只有一个句点。
改了密码,攻击者的规则会消失吗?
不会。收件箱规则属于邮箱,重置密码后照样运行。你还必须撤销会话、检查登录方式,并删除规则本身。
怎样查出某条收件箱规则是谁建的?
在 Microsoft Purview 审计日志中,针对该邮箱搜索 New-InboxRule、Set-InboxRule 和 UpdateInboxRules。记录会显示账号、时间、客户端 IP,以及在 Parameters 字段中显示规则的条件和动作。
为什么在 Outlook 里看不到这条规则?
有些规则对某些客户端是隐藏的。请在 Exchange Online PowerShell 中使用带 -IncludeHidden 的 Get-InboxRule 查看完整清单。
最多能往前查多久?
使用审计(标准版)时,对于 2023 年 10 月 17 日及之后产生的日志,微软保留 180 天。更长的保留期需要审计(高级版)或保留策略,所以需要的记录要尽早导出。
Brocent 提供事件响应服务吗?
Brocent 不提供事件响应长期合约。如果你怀疑正在发生入侵,请先按上面的步骤遏制账号,再联系我们协助遏制、清理和后续审查。
恶意规则要不要马上删除?
先禁用它,并连同审计记录和登录记录一起导出其详细信息。证据保全之后再删除。
从哪里开始
如果目前没有理由怀疑被入侵,这周就运行一次全租户的收件箱规则查询,对照上面的模式看一遍。如果发现一条没人说得清楚的规则,就把它当作事件处理,按遏制步骤来。如果希望由独立的一方审查周边的控制措施,审计定价页列出了范围,你也可以联系顾问。
分享:
📬 亚太IT月报
中国合规动态、网络安全预警及亚太IT实践指南,每月一期。
不发垃圾邮件,随时可取消订阅。