【技术解读】【WebSec】Ticket Trick: How I hacked hundreds of companies through their helpdesk

Ticket Trick 当时是 PortSwigger安全社区评选的 2017年Web hacking techniques 的Top 3 ,是一个很有意思的逻辑漏洞。

案例1

首先Gitlab支持通过发送邮件的方式来创建issue,业务场景是这样的:假设你使用Gitlab管理你的代码仓,你会被分配一个 唯一的 @gitlab.com 邮箱,这里假定为 <unique-random-string>@gitlab.com,用户只需要发送邮件到 <unique-random-string>@gitlab.com,就会自动给该代码仓创建一个issue。

于是黑客先在gitlab创建一个代码仓项目,然后得到一个<unique-random-string>@gitlab.com特定邮箱地址,然后使用这个gitlab邮箱去注册 Slack,Slack就会发送验证链接给 <unique-random-string>@gitlab.com,然后黑客就能在代码仓项目的issue里看到这个验证链接。黑客从而成功使用 <unique-random-string>@gitlab.com 成功注册了Slack,并加入了gitlab.com 这个群组。因为Slack是通过邮箱后缀判断该邮箱是否可以进行注册的。

案例2

当时看这个案例的时候我觉得有些难以理解,可能是我对helpdesk这种工单系统并不熟悉。

理解的难点在于:

(1) 企业(company)、Slack、HelpDesk帮助台(类似客户工单系统)之间的关系:

假设一个企业 company.com ,它是某个HelpDesk帮助台系统的客户,使用了该HelpDesk系统来管理客户的工单。

至于Slack,它是一个流行的团队协作和通讯平台,它提供了即时通讯、文件分享、工作区(channels)和其他功能来帮助团队成员进行有效的沟通和协作。Slack被广泛用于企业内部沟通,支持一对一聊天、群组讨论、视频会议等多种沟通方式,而且可以集成多种第三方服务和应用,提高工作效率。

之所以文章中会提到Slack,是因为该企业也使用了Slack。作者是以Slack作为例子来阐述这种攻击场景,作者利用这种攻击手法,展示黑客是如何利用漏洞进入企业的内部通信系统的。由于Slack广泛被企业用作内部通讯,因此成为了一个恰当的示例。

理解了这三者的关系,再回到这个攻击案例。

国外很多企业都使用了第三方提供的helpdesk帮助台系统进行客户工单管理,这种helpdesk的产品如 ​Zendesk​, ​Kayako, ​​(Fresh)Desk ​等。

且这些企业一般都会将 support@company.com 这种邮箱地址集成到自己的helpdesk系统,用户只要往 support@company.com这个邮箱发送邮件,即为在该企业的helpdesk系统中就会为用户创建了一个工单,企业和用户就可以在这个工单进行沟通。

作者发现注册这些HelpDesk系统的时候,并不会验证邮箱,即直接用一个没注册过的任意邮箱就能随便注册且不存在邮箱验证机制(比如接收验证链接)。

于是黑客可以进行如下攻击:

(1) 假设该企业是 company.com ,它使用了Slack作为企业内部的即时通讯工具,且该企业使用 support@company.com 这个邮箱地址作为固定的创建工单的邮箱,用户可通过往该邮箱发送邮件去创建工单;

(2) 黑客使用 feedback@slack.com 这个邮箱地址在该企业(company.com)的helpdesk系统完成注册。​重点是:feedback@slack.com 是Slack官方用来发送验证链接所使用的邮箱地址;

(3) 然后,黑客使用该企业的 support@company.com 这个邮箱地址去Slack网站进行注册;

(4) 接着Slack就会使用自家的固定邮箱 feedback@slack.com 发送验证链接给 support@company.com

(5) 于是该企业的helpdesk系统就会认为是 feedback@slack.com 这个用户要创建工单,于是就会为 feedback@slack.com 这个用户创建了工单,该工单内容就是Slack发给support@company.com含有验证链接的邮件;

(6) 最终黑客成功使用该企业的support@company.com 注册了Slack,加入了该企业的内部通讯平台。

文章中提到,作者通过这种方法成功加入了多家公司的内部通讯平台,并指出即使某些公司没有使用Slack,他们也可能因为使用了如Yammer这样的其他通讯工具而受到攻击。此外,黑客还能利用这种方式接管通过support@邮箱地址注册的第三方服务账户,甚至获取对公司敏感信息的访问权限。

作者联系了数十家受影响的公司和提供商,通过他们的漏洞赏金计划来修复这个问题。由于受影响的公司数量众多,作者最终决定公开这个漏洞,以便所有受影响的公司能够立即采取行动。

posted @ 2025-02-21 21:13  wh03ver-momo  阅读(11)  评论(0)    收藏  举报