看我如何通过帮助服务台轻松黑掉数百家公司

导语:几个月前,我发现黑客可以利用一个漏洞访问目标公司的内部通信。 这个漏洞只需要点击几下,就可以访问企业内部网络、
Twitter等社交媒体账户,以及最常见的Yammer和Slack团队。

更新: The Next Web 写了一篇我发现的这个漏洞的文章。

引言

几个月前,我发现一个黑客可以轻松访问目标公司的内部通信网络的漏洞。 这个漏洞只需要点击几下,就可以访问企业内部网络、 Twitter 等社交媒体账户,以及最常见的 Yammer 和 Slack 团队账户。
这个漏洞到目前依然存在。这并不是一个可以马上可以修复的漏洞。在过去的几个月里,我主动联系了几十家公司,并把它们作为 bug 赏金计划的一部分,来修复它们因为错误配置所导致的这个漏洞。但由于受该漏洞影响的公司数量很大,我不可能联系到每一个公司。所以根据我的一些安全同行的建议,以及受影响的供应商的允许,我发布了这篇博文,这样每个受该漏洞影响的公司都可以立即自行采取防御行动。 下面介绍一下我所说的这个漏洞,在下文中统称为——Ticket Trick。
在这里插入图片描述
(这是我给这个漏洞起的名字并设计了一个LOGO,下文统称为Ticket Trick)

攻击入口——用目标"公司"的后缀的电子邮件注册账号

Slack、 Yammer 和 Facebook Workplace 等流行的商务沟通工具要求员工使用其所在公司的电子邮件地址进行注册。 一旦员工点击发送到他们内部的电子邮件地址的验证链接,他们就可以加入公司的团队并访问内部通信。
在这里插入图片描述
在 Slack 中,默认情况下,拥有相同企业邮箱后缀的用户可以加入同一个团队,这可以被 SSO 验证方式替换,或者设置为仅邀请用户可以加入。
在这里插入图片描述
在 Yammer 上,每个有公司邮箱后缀的用户都可以加入同一个团队。
在这里插入图片描述
在 Facebook Workplace 上,每个有公司邮箱后缀的人都可以加入同一个团队。

漏洞关键 ー服务台或电子邮件创建功能

方法#1——问题跟踪器
我是在尝试绕过 GitLab 认证时发现了这个漏洞。 任何拥有有效的@gitlab.com 邮箱后缀的人都可以加入 GitLab 的团队。
在这里插入图片描述
与此同时,GitLab 提供了一个功能,可以通过电子邮件将问题发送到一个唯一的@GitLab. com 邮箱中,从而产生了漏洞。 看到了吗?
在这里插入图片描述
Gitlab 是许许多多通过电子邮件的方式创建 issue 并提供问题追踪器的组织之一。

我使用这个问题创建的邮箱地址,尝试加入他们的 Slack 团队,只是为了看看会发生什么。
在这里插入图片描述
之后,我迅速刷新了我的问题列表,发现验证电子邮件被添加到了我的项目中:
在这里插入图片描述
这个新增的问题包含了加入他们内部 Slack 团队所需要的验证链接:
在这里插入图片描述
我点击了这个链接,看看它是否真的有用——结果被证明确实有用。 我收到了可以加入的频道列表,之后,我立即删除了我的账号并通知了 GitLab。
在这里插入图片描述
频道列表的截图

在我报告了漏洞的那个星期的星期天晚上,GitLab 团队对我的漏洞报告做出了回应。
在这里插入图片描述
他们立即采取了只允许邀请用户才能加入团队的做法,并采取额外措施告知客户这一功能的危险性。
方法#2——服务台
一般来说,只有少数网站有公共问题追踪器,所以我决定深入挖掘,看看是否存在更常见的攻击向量。 事实证明,确实如此,而且比我想象的更为普遍: 客户服务(customer service)。
发送到 support@company.com 的电子邮件有时会出现在一些在线支持门户的网站上,如 Zendesk、 Kayako、(Fresh) Desk、 WHMCS 或其他定制工具。 所以我决定尝试一下,看看黑客是否可以从数据库中提取链接。
大多数支持门户可以与单点登录集成: 经过身份验证的用户将自动登录到支持服务台,以确保无缝体验。 我测试的网站有一半以上不需要电子邮件的验证,这意味着任何人都可以使用任何电子邮件进行注册,并有效地接收由该电子邮件地址创建的任何验证链接。 在线视频分享平台[censored*]是众多不需要验证的公司之一。
所以我用了一个和这个平台发送验证链接的邮箱地址相同的账户 feedback@Slack. com 注册了一个 Slack 账号。
在这里插入图片描述
我通过Slack的“找到你的工作空间”功能,找到了[censored*]的Slack空间,并注册了电子邮件地址——support@[censored*]com。
在这里插入图片描述
之后,feedback@slack. com 会发送一封电子邮件到support@[censored*].com,并且在邮件中包含了验证链接。
当 support@[censored*].com 收到电子邮件,它将被分类为一个由 feedback@slack. com 创建的支持票据… 这个邮箱正是我注册的电子邮件。
下图中我进入了帮助中心,检查我的支持票据。
在这里插入图片描述
我有一个开放的支持票据… 其中包含了一个重要的验证链接,可以加入[censored*]团队。
在这里插入图片描述
[censored*]审计小组立即对这份漏洞报告作出了回应,并作为他们的 bug 赏金计划的一部分奖励了我 2000 美元。
其实,所有在没有电子邮件验证的情况下所集成的支持门户的网站都容易受到这种漏洞的攻击。而且真实情况可能会更糟糕。
我在 Kayako 和 Zendesk 发现了另外两个漏洞,这使得我可以绕过它们通常设置的电子邮件的验证过程。我能够一直执行这种攻击,即使没有启用 SSO 验证和电子邮件验证。 我在6月1日报告了这些安全问题,作为他们负责的漏洞披露计划的一部分,目前这两个漏洞都已经修复了。
除此之外,那些要求用户在注册时验证自己的电子邮件地址的网站,而不是在注册后在更改邮件地址时需要验证的网站也容易受到此类漏洞的攻击。

扩大漏洞的影响

如果一家公司不使用Slack,并且自认为它很安全……考虑到我发现这个问题的广泛性,这类公司可能不是很走运。例如:Yammer等其他企业通讯工具也容易受到这种漏洞的攻击:
在这里插入图片描述
我也能够加入一家非公开的公司的 Yammer 内部网络

因为我们可以读取发送到 support@前缀的企业邮箱的邮件,所以我们还可以看到发送到该电子邮件地址的所有密码重置链接。 事实证明,相当多的公司使用这种电子邮件地址注册第三方服务和社交媒体,如 Twitter。
这意味着攻击者还可以劫持任何使用 support@mail 邮箱注册的账户:
在这里插入图片描述
在这里插入图片描述
那我就能够劫持多个拥有超过100万粉丝的 Twitter 账户

在某些情况下,在网站上还有有一个特权帐户。 通过注册 no-reply@company.com 的邮箱,可以拦截发送给 support@company.com 的密码重置链接,并获得访问所有客户信息的特权账户的权限。

如果上述方法都不起作用,攻击者仍然可以读取并响应由电子邮件创建的之前的票证以及新接收到的支持票证。我的一个朋友曾经给某公司的客户支持邮箱地址发过一封电子邮件,经过分析后,我发现那家公司很容易受到这种漏洞的攻击,于是我用我朋友的电子邮件地址注册了账号,点击"我的支持案例"选项卡,就看到那封特定的电子邮件出现了。 只要他们在服务台上没有账户,我就完全可以读取并回复发送到客户服务中心的每一封电子邮件。 如果现在有用户认为他们正在通过邮件与客户服务部门交谈,那么实际上他们也有可能会被转而与黑客交谈。

供应商和公司的回应

现在让我们看看每家公司对信息披露的不同的处理方式,还挺有趣的。
大多数受该漏洞影响的公司都能非常专业地处理我的漏洞报告。一些公司甚至决定发给我高达8000美元的bug赏金,当然,我偶尔也会得到负面的回应,有些公司会选择完全无视我的漏洞披露报告。
GitLab的问题跟踪器 (# 21823 ,已披露)很快就采取了行动,禁用了他们自己公司域名的信任权限,并更改了他们的 Slack 设置。 并且,他们还更新了文档,以防止用户犯同样的错误。
我向 Slack 透露了这个问题(#23923,等待披露) 并探讨我们是否可以在更高的层面上防止这种情况发生。 尽管他们对这个问题没有直接的责任,但是这个问题影响了他们很大一部分客户。 Slack 认真对待了这个风险,改变了他们没有回复的电子邮件地址,增加了一个随机令牌。 这有效地防止了针对帮助台软件中的漏洞攻击。但事实上问题仍然存在于问题跟踪器和其他电子邮件集成方案中。尽管 Slack 本身并没有漏洞,但Slack 还是决定为我的漏洞报告慷慨奖励1500美元。
在这里插入图片描述
为了防止helpdesk的滥用,Slack 在他们的无回复邮件地址上增加了一个随机的标记
我也试着联系 Yammer 讨论这个问题。 最初我没有得到任何回应。 两周后,我又发了一封电子邮件,他们回复说,他们把邮件连同安全漏洞的定义一起转发给了 Yammer 团队。 到目前为止,他们还没有采取任何像 Slack 那样的积极措施在更高层次上解决这个问题。
在这里插入图片描述
攻击者仍然可以使用我发现的方法加入 Yammer 工作区

我还联系Kayako和Zendesk( #235139 已披露),告知这个关于 SSO 的绕过问题作为他们的部分 bug 赏金计划。 两个公司都解决了这个问题,分别给了我1000美元和750美元的赏金。

经验教训

一旦进入公司内部,大多数公司的安全性就会明显减弱。内部影响评估显示,员工在团队中每个人都可以访问的Slack 频道中粘贴密码、公司机密和客户信息。
我们需要继续在所有可能的地方寻找各个安全问题。这个漏洞存在于数百个经过安全专家筛选的网站中,但据我所知,目前还没有人发现它。
大公司根本不知道他们的员工在做什么。 我和一家大型支付处理公司的CISO讨论了这个缺陷。 他向我保证这不会成为问题,因为他们的员工不会通过 Slack 进行交流。 他们建立了自己的内部网络来处理这些事情。 为此,我加入了他们世界各地的332名员工经常使用的8个 Slack 频道,来证明了他的错误。 当然,最后我得到了5000美元的赏金。
如果你想知道哪些 Slack 团队可以通过公司的电子邮件加入,你可以使用 Slack的“找到你的团队“ 这个功能。

常见问题

我如何知道我的公司是否受到影响?
如果支持票据可以通过电子邮件创建,并且具有未验证电子邮件地址的用户可以访问支持票据,则存在此漏洞。它也存在于公共问题追踪程序或响应程序中,提供唯一的@company.com电子邮件地址,可直接将信息提交到票据、论坛帖子、私人消息或用户帐户。
作为一个受影响的公司,我们如何才能纠正这个问题?
我见过这么几种方法。Airbnb、LinkedIn和GitHub等公司提供的电子邮件地址具有不同的域名,如@reply.linkedin.com或@mail.github.com。它们不能用于注册Yammer或Slack等服务。Gitlab用此建议更新了他们的文档,以防止问题跟踪程序中的攻击。有一些则选择禁用电子邮件功能、服务门户或单一登录,而其他还有选择执行适当的电子邮件验证。当然也不建议与用官方支持的@E-mail地址注册Twitter、Slack或Zendesk等服务。
作为一个受影响的业务通信软件供应商,我们如何防止这种情况发生?
你可以为注册客户服务电子邮件的用户实现额外的安全措施,但在许多情况下,这样做既不实用,也不高效。 Facebook Workplace 有一个更好的方法,因为它们使用随机生成的电子邮件地址发送电子邮件,比如notification+ajivdw9kpwld@fbworkmail.com这对攻击者来说是无法猜测的。 针对我的发现,Slack 也决定实现这些随机的电子邮件地址。
为什么你要在数百家公司仍然处于危险的时候公开这些信息?
由于受影响的公司数量众多,我不可能一一通知所有的公司,且冒着来自没有征求安全建议的公司的法律威胁。 我只联系了一小部分受影响的公司和供应商,他们都有公开负责任的信息披露程序。 我认为,现在披露这个bug是一个艰难的决定,并可能直接导致安全攻击,但历史已经表明,我们把漏洞藏起来也不是一个好主意。
你是谁?
我是 Inti 我住在 比利时的Oilsjt。 在孩子的时候,我非常喜欢打破常理做事情。 我现在22岁,在比利时最大的广播电台Studio Brussel做一名创意开发者。 到了晚上,我仍然以一个有道德约束的黑客的身份破解一些东西,在此感谢谷歌、 Facebook、微软、雅虎等等。
你还有其他项目吗?
我劫持了一条特朗普的推文并制作了StalkScan.com,突出了Facebook图形搜索令人毛骨悚然的一面。除此之外,我喜欢在Facebook Bug Medium上写下我的Bug奖励结果。

后记

我要感谢了不起的Pete Yaworski ,他帮助我校对和修正了我的英语写作。 同时也要对来自 #teambelgium 的Arne, Preben 和 Jerome表示感谢,感谢他们守口如瓶。 感谢 Slack、 Gitlab 和 Zendesk 对我博文的合作和认可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/17346.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java笔试强训 28】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥猴子分桃…

二分法相关使用

文章目录 1. 在一个有序数组中,找某个数是否存在2. 在一个有序数组中,找大于等于某个数最左侧的位置3. 在一个有序数组中, 找小于等于某个数最右侧的位置4. 局部最大值问题 1. 在一个有序数组中,找某个数是否存在 在线OJ:704. 二分查找 有序数组下的二分思路如下:…

几种常见时间复杂度实例分析

多项式量级 常量阶 O(1) 对数阶 O(logn) 线性阶 O(n) 线性对数阶 O(nlogn) 平方阶O(n2 ),立方阶O(n3 )...k次方阶O(nk) 非多项式量级(NP(Non-Deterministic Polynomial,非确定多项式)问题) 指数阶O(2n) 阶乘阶…

Android WebRtc+SRS/ZLM视频通话(1):虚拟机安装Ubuntu

Android WebRtcSRS/ZLM视频通话(1):虚拟机安装Ubuntu 来自奔三人员的焦虑日志 秉着没事找事的原则,这里直接从服务器安装开始说起,也当记录自己这一路以来的愚昧之举,由于没有物理服务器,这里以…

MySQL 精选 35 道面试题大厂稳了(含答案)

MySQL 精选 35 道面试题 1.说一下 MySQL 执行一条查询语句的内部执行过程?2.MySQL 查询缓存有什么优缺点?3.MySQL 的常用引擎都有哪些?4.常用的存储引擎 InnoDB 和 MyISAM 有什么区别?5.什么叫回表查询?6.如果把一个 I…

95后阿里P7晒出工资单:狠补了这个,真香···

最近一哥们跟我聊天装逼,说他最近从阿里跳槽了,我问他跳出来拿了多少?哥们表示很得意,说跳槽到新公司一个月后发了工资,月入5万多,表示很满足!这样的高薪资着实让人羡慕,我猜这是税后…

TCP的粘包和拆包

UDP有数据边界,TCP是没有数据边界,是流协议。如何拆包,就要靠应用层来处理。 四层网络模型,消息在进入每一层时都会多加一个报头。mac头部记录的是硬件的唯一地址,IP头记录的是从哪来和到哪去,传输层头记录…

优化问题的拉格朗日Lagrange对偶法原理

首先我们定义一般形式的求解x的优化问题: 表示优化的目标函数,上述为最小优化,实际上最大优化可以改写为的形式表示第i个不等式约束表示等式约束 1. Lagrange对偶问题 上述优化问题的拉格朗日Lagrange对偶法求解,是将上述带约束…

【Vue学习笔记6】好用的 Vueuse 工具包

1. 安装Vueuse VueUse 的官方(https://vueuse.org/)的介绍说这是一个 Composition API 的工具集合,适用于 Vue 2.x 或者 Vue 3.x,用起来和 React Hooks 还挺像的。 VueUse 插件的安装 npm install vueuse/core2. 实现全屏功能 …

【网络安全】记一次杀猪盘渗透实战

看起来非常假的网站,这个网站是没有 cdn 的用的是 thinkphpk 框架搭建的。 先打一波 poc 没有效果 访问一下后台直接在 url 后面加/admin。 一个开源的 cms 还没有验证码尝试用 burp 进行爆破,首先在火狐上设置代理 ip 为 127.0.0.1 代理端口为 8081。 B…

GPT详细安装教程-GPT软件国内也能使用

GPT (Generative Pre-trained Transformer) 是一种基于 Transformer 模型的自然语言处理模型,由 OpenAI 提出,可以应用于各种任务,如对话系统、文本生成、机器翻译等。GPT-3 是目前最大的语言模型之一,其预训练参数超过了 13 亿个…

ChatGPT终于被我问到胡说八道的程度了!

问:Python是强类型语言,还是弱类型语言 chatgpt:Python是强类型语言。Python很少会隐式地转换变量的类型,所以Python是强类型的语言 问:什么是强类型语言 chatgpt:强类型语言是指在编程语言中&#xff0…

Packet Tracer - 配置交换机端口安全

Packet Tracer - 配置交换机端口安全 地址分配表 设备 接口 IP 地址 子网掩码 S1 VLAN 1 10.10.10.2 255.255.255.0 PC1 NIC 10.10.10.10 255.255.255.0 PC2 NIC 10.10.10.11 255.255.255.0 非法笔记本电脑 NIC 10.10.10.12 255.255.255.0 目标 第 1 部…

MTK6765安卓智能模组5G核心板联发科MTK方案主板开发板

联发科MTK6765这是一款12纳米八核A53处理器,最高运行速度可达2.3GHz。它使用Android 9.0操作系统,配备2G16G内存,也支持其他选项1G/3G/4G8G/32G/64G。 此外,它支持全球主流频段,包括默认的国内频段以及2G GSM、2G/3G E…

学生台灯什么牌子好对眼睛好?专业护眼灯的学生台灯分享

据报告统计,2022年我国儿童青少年总体近视率为52.7%,其中6岁儿童为14.3%,小学生为35.6%,初中生为71.1%,高中生为80.5%,这些数据让人不寒而栗! 专家表示,导致儿童青少年近视的因素&am…

离散数学下--- 代数系统

代数系统 定义: 代数系统是用代数运算构造数学模型的方法。 • 通过构造手段生成,所以也称代数结构 • 代数运算:在集合上建立满足一定规则的运算系统 (一)二元运算 二元运算的定义 二元运算需要满足的两个条件&a…

在Ubuntu18.04中安装uWebSockets库

目录 1.下载uWebSockets库2.下载uSockets3.安装openssl开发包4.编译首先说明这里使用的Ubuntu版本为18.04。 1.下载uWebSockets库 下载uWebSockets库有两种方式,一是终端,从Github中克隆uWebSockets库到Ubuntu本地文件夹,二是打开uWebSockets库下载链接自己下载到Windows,然…

Qt音视频开发38-ffmpeg视频暂停录制的设计

一、前言 基本上各种播放器提供的录制视频接口,都是只有开始录制和结束录制两个,当然一般用的最多的也是这两个接口,但是实际使用过程中,还有一种可能需要中途暂停录制,暂停以后再次继续录制,将中间部分视频不需要录制,跳过这部分不需要的视频,而且录制的视频文件必须…

BoldReports Embedded Reporting 5.1 Crack

Embed Paginated Reports 嵌入式报告平台,商业智能报告解决方案,探索满足各种业务需求的报告功能,所有功能View Features,像素完美报告,创建像素完美的分页业务报表,随处部署,选择适合您的部署环…

一文了解获得 Zebec Labs 投资的 Coral Finance,空投计划或在不久推出

在前不久,Zebec Labs宣布对链上衍生品协议Coral Finance进行150万美元的投资,以帮助该协议完成早期启动并,并在后续持续的为其提供孵化支持。Coral Finance将在不久部署在Nautilus Chain主网上。据了解,Coral Finance是Nautilus C…