巧用邮件的“自动回复”和“自动回撤”来寻找漏洞

iso60001  2129天前

22.png

作为一个漏洞猎人,我时刻都面临着诸多同行的竞争,这也导致漏洞重复成为我的天敌之一。所以,如果你真的想降低漏洞重复的概率,那最好在别人不会仔细查看的地方寻找漏洞。

相比于具体的目标,我更喜欢从某个广泛使用的功能或机制中寻找漏洞。因此,我发现电子邮件系统对于攻击者来说或许是一个有趣的入侵点。服务通信型电子邮件通常包括敏感信息和令牌,但通常不包含在主体应用的安全模型中。

我们都知道电子邮件具有自动回复功能,例如,过期提示信息、邮件退回信息或服务信息。而这些邮件通常包括一些敏感信息,攻击者或许可以利用这些信息绕过目标的身份验证机制。

首先,我们可以使用RCPT和VRFY SMPT命令找出目标所使用的电子邮件别名,避免我的测试帐号把它当作垃圾邮件:

33.png

我经常遇到的电子邮件地址别名包括:

  • 技术支持类:support@, helpdesk@, customerservice@, help@, …

  • 计费类:Billing@,Finance@,… 一些计费系统会自动上传或解析传入的电子邮件附件,导致XSS盲注,在最坏的情况下,攻击者可以通过任意文件上传进行RCE。

  • 服务类:printer@,printing@,uploads@,ftp@,test@,… 在某些情况下,这些电子邮件地址会做出未经授权的动作。结合钓鱼攻击,打印print@种类的电子邮件地址甚至可以让攻击者远程添加打印机的打印文档。

  • 票据类:tickets@,jira@,helpdesk@,bugs@,issues@ … 为方便起见,许多公司都可以通过电子邮件创建内部通行票据,且对人员没有限制。有时,某些公司内部的问题跟踪系统会为提交问题的每个未知用户自动创建一个帐户,或是提供一个注册链接,如下面所示。这可能会导致远程攻击者非法访问内部系统的部分内容。

44.png

而另一种类型的电子邮件自动回复指的是电子邮件自动撤回,当由于某种原因无法成功发送电子邮件时,就会发生这种情况。由于电子邮件撤回的信息仅包括攻击者发送的原始电子邮件和一些元数据,看起来它们似乎不可直接利用——除非这些信息有很多“秘密”,如以下所示:

谷歌云盘元数据泄露

在进行目标侦察时,我经常会发现受保护的谷歌云盘文档。虽然我每次都会点击“Request access”按钮,希望能看到敏感文件,但成功率很低:

44.png

而在这其中,令我印象深刻的是这个请求的发送方式:谷歌会发送一个访问发送者为我的电子邮件去请求文档阅读权限。此电子邮件如下所示:

66.png

注意,这封邮件是有不少敏感信息的,我们只需要找到一种方法让这封电子邮件撤回,那我就可以看到邮件内容。而实现这一点的方法之一是通过电子邮件轰炸目标,使目标的收件箱被塞满。

一旦受害者的收件箱已满,发送的电子邮件将原路返回给攻击者,而其中会有显示不少敏感信息:

77.png

目前谷歌已解决了这个安全问题,并给予了不少奖金。

识破电子邮件跳转

如上所示,电子邮件的回撤会包括真正收件人的电子邮件地址。如果webmaster@example.com会将电子邮件重定向到john.doe@gmail.com,则webmaster被回撤的电子邮件实际上会泄漏john.doe的电子邮件地址:

attacker@acme.com→webmaster@example.com→john.doe@gmail.com

在正常情况下,攻击者将无法得知最终的电子邮件地址,但如果攻击者能够强制邮件回撤,john.doe@gmail.com就会直接将电子邮件回撤至attacker@acme.com,从而泄露真正的电子邮件地址。

一种强制john.doe回撤的方法是为攻击者控制的acme.com帐户配置一个严格的DMARC策略(减少邮件滥用的策略),然后攻击者可以向webmaster@example.com发送一封未经授权的电子邮件,然后webmaster@example.com会将电子邮件转发到目标邮箱。但在邮件到达后,谷歌的服务器会将其退回,因为它不符合最初邮件发送者的DMARC策略。而这个退回的邮件就包括目标的电子邮件地址。

利用场景:漏洞赏金平台

与许多漏洞赏金平台一样,Intigriti提供用户电子邮件别名。一般来说,用户在注册后会得到一个@intigriti.me电子邮件地址,他们可以使用这个电子邮件去注册他们想要测试的项目。而使用上述方法,就可以获得隐藏在intigriti.me下的真实电子邮件地址。

如果攻击者的acme.com具有严格的dmarc策略,则从攻击者的@acme.com邮箱发送到intidc@intigriti.me的未经身份验证的电子邮件将回撤:

88.png

如上所见,我的个人电子邮件地址inti.de.ceukelaire@gmail.com将包含在回撤电子邮件中。

Intigriti开发人员已修复了这个漏洞。我还测试了其他漏洞赏金平台,暂时还没发现这个问题。

最后

作为一个漏洞猎人,我们可以先找一个可能的攻击场景,再根据场景寻找目标。这可以有效降低漏洞重复的风险。在进行电子邮件相关测试时,请确保不会受到垃圾邮件安全策略的干扰。

作为一家公司,请尽量不要用电子邮件自动处理敏感信息,进行敏感操作。因为它们实在是太过脆弱了。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/intigriti/abusing-autoresponders-and-email-bounces-9b1995eb53c2

最新评论

黑客  :  hackerone看看呢?
2129天前 回复
昵称
邮箱
提交评论