如何识别已被攻陷的Microsoft 365邮箱及排查特定异常邮箱
如何识别已被攻陷的Microsoft 365邮箱及排查特定异常邮箱
听起来你碰到的这个钓鱼攻击情况真的让人头疼——居然能绕开未强制启用的MFA攻陷账户,还通过邮箱规则把可疑邮件藏进默认就存在的RSS Feeds文件夹,现在担心其他用户中招却没敢说出来对吧?别慌,我给你两个实用的PowerShell方案,刚好能解决你提到的两个排查需求:
一、排查最近14天创建的邮箱规则
用Exchange Online PowerShell就能批量检查所有邮箱的规则创建时间,步骤如下:
- 先连接到Exchange Online:
Connect-ExchangeOnline
- 执行命令导出最近14天新增的规则到CSV文件(方便后续筛选分析):
Get-Mailbox -ResultSize Unlimited | ForEach-Object { Get-InboxRule -Mailbox $_.Identity | Where-Object { $_.WhenCreated -ge (Get-Date).AddDays(-14) } | Select-Object MailboxOwnerId, Name, WhenCreated, Enabled } | Export-Csv -Path "RecentMailboxRules.csv" -NoTypeInformation
导出的CSV里会包含邮箱所有者ID、规则名称、创建时间和规则是否启用,你可以重点关注那些动作异常的规则(比如自动移动邮件到隐蔽文件夹、无条件转发到外部邮箱等)。
二、排查非空的RSS Feeds文件夹
同样用PowerShell批量扫描所有邮箱的RSS Feeds文件夹,找出有内容的邮箱:
# 如果已经连接过Exchange Online可以跳过这步 Connect-ExchangeOnline Get-Mailbox -ResultSize Unlimited | ForEach-Object { $rssFolderStats = Get-MailboxFolderStatistics -Identity $_.Identity -FolderScope All | Where-Object { $_.Name -eq "RSS Feeds" -and $_.ItemsInFolder -gt 0 } if ($rssFolderStats) { [PSCustomObject]@{ MailboxOwnerId = $_.Identity ItemsInRSSFolder = $rssFolderStats.ItemsInFolder RSSFolderSize = $rssFolderStats.FolderSize } } } | Export-Csv -Path "NonEmptyRSSFeeds.csv" -NoTypeInformation
这个命令会把所有RSS Feeds文件夹里有邮件的邮箱信息导出,包括项目数量和文件夹大小,你可以针对这些邮箱进一步检查里面的邮件内容,确认是否有钓鱼或恶意邮件。
额外建议
- 赶紧把MFA设置成强制所有用户启用,尤其是管理员账户,别给攻击者留绕开的机会;
- 除了这两个排查点,还可以检查邮箱的自动转发规则、邮件追踪日志里的异常外部转发记录,这些都是账户被攻陷的常见迹象;
- 可以给用户发个提醒,让他们主动上报收到的可疑邮件,毕竟有些用户可能不好意思承认点了钓鱼链接。
备注:内容来源于stack exchange,提问作者dunxd
相关产品推荐
相关产品推荐

