利用MailSniper实现Google日历事件注入攻击

本文详细介绍了如何利用MailSniper工具实现Google日历事件注入攻击的技术细节,包括两种攻击方法(基础凭证注入和API注入)及其绕过Google安全设置的技巧,揭示了该漏洞可能带来的社会工程学风险。

Google日历事件注入与MailSniper

作者:Beau Bullock & Michael Felch

概述

Google日历是企业员工仅次于电子邮件的第二大生产力工具。其自动添加事件的功能存在安全隐患:攻击者无需发送邮件即可直接向目标日历注入事件,且能绕过Google的多项安全控制。本文将通过MailSniper工具演示该漏洞的利用方法。

技术细节

攻击方法

  1. 基础凭证注入(Invoke-InjectGEvent)

    1
    
    PS C> Invoke-InjectGEvent -EmailAddress 'attacker@gmail.com' -Password 'pwd' -EventTitle '紧急会议' -Targets 'victim@gmail.com'
    
    • 要求:有效的Google账号凭证
    • 限制:目标需开启"自动添加事件"功能
  2. API高级注入(Invoke-InjectGEventAPI)

    1
    
    PS C> Invoke-InjectGEventAPI -AccessToken 'API_TOKEN' -Targets "victim@gmail.com" -EventTitle "全员会议"
    
    • 关键突破:通过API强制设置attendees[].responseStatus = 'accepted'
    • 完全绕过"仅显示已接受邀请"的安全设置

安全设置绕过

安全设置 默认状态 绕过方法
来自Gmail的事件 启用 直接创建事件不发送邮件
自动添加邀请 严格模式 通过API标记为"已接受"

实战案例

在某次红队评估中,攻击者注入标题为"10分钟后召开全员会议"的事件,并在事件描述中嵌入伪造的Google认证页面链接。当用户点击查看"会议议程"时,其凭证即被窃取。

时间线披露

  • 2017年10月9日:向Google提交漏洞
  • 10月17日:Google静默更新日历设置
  • 10月31日:Google最终回应称此为"设计特性"

防御建议

  1. 禁用所有自动添加事件功能
  2. 对日历API调用实施严格监控
  3. 培训员工识别异常日历事件

下篇预告:将介绍CredSniper框架如何窃取双重认证令牌

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计