穿越回 1995?利用 Microsoft 365 直送功能发起钓鱼攻击的技术分析
技术背景
在创建商业版 365 Exchange Online 实例时,系统默认启用的直送(direct send)功能可能允许外部或内部用户"按设计"向租户内其他用户发送邮件。系统会为默认 Exchange Online 实例创建名为"company.mail.protection.outlook.com"的智能主机(smart host)。
默认防护机制
Microsoft 提供了内置的反垃圾邮件策略(名为 Default),具有以下特性:
作为默认策略(IsDefault 属性为 True)且不可删除
自动应用于组织内所有收件人且不可关闭
始终最后执行(优先级为 Lowest 且不可更改)
Exchange Online Protection(EOP)通过专有的垃圾邮件过滤(内容过滤)技术来减少垃圾邮件,其欺骗检测功能会识别伪造邮件并发送至垃圾箱或隔离区。
研究方法
使用 Azure Cloud Shell 通过 SMTP 协议向目标组织的直送智能主机发送消息。虽然可以使用 telnet,但更推荐使用 PowerShell 的 Send-MailMessage 命令。为简化流程,作者开发了 PowerShell 脚本工具 FindIngressEmail(https://github.com/rvrsh3ll/FindIngressEmails)。
测试使用了简单的设备代码 HTML 模板。值得注意的是,如果目标使用 Outlook 桌面客户端应用,该应用会将非"href"标签的 URL 显示为链接,这可能降低某些内容过滤实例的垃圾邮件评分。
测试结果
通过不同编码方式(ASCII/UTF32/UTF7)和不同发件域(noreply@globo.com/noreply@eircom.net)的测试发现:
ASCII 编码邮件在 3 个测试邮箱中有 2 个进入垃圾箱
UTF32 编码邮件全部进入垃圾箱
更改发件域后,相同模板邮件成功进入所有收件箱
大规模测试(数百封)显示不同租户对相同模板的处理存在显著差异
防御建议
目前尚未找到完全禁用 Exchange Online 智能主机的方法。最有效的解决方案是通过 IP 地址或证书限制来保护智能主机,防止未经认证的用户向组织发送伪造邮件。
结论
Exchange Online 管理员需要持续测试入站邮件控制的有效性,并保护直送智能主机免受未认证用户的滥用。研究表明,默认防护策略存在不一致性,组织应采取额外措施增强防护。更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码

评论