挖洞经验 | 利用Slack应用程序窃取Slack用户的下载文件

slack-best-practices@2x.png本文中,Tenable安全团队研究员David Wells分享了Windows版本Slack终端应用程序的一个漏洞,通过对Slack下载功能的利用,可以操控Slack受害者的下载文件存储设置,间接隐秘窃取Slack受害者的下载文件,深入利用可形成对受害者系统的远程控制。目前,该漏洞已经被Slack修复,并在最新的Slack v3.4.0版本中释放了补丁。中国菜刀

漏洞说明

该漏洞原理在于,攻击者只需在Slack群组中发送一条经过伪装构造的链接,上钩的受害者一旦点击加载,其Slack应用程序的下载文档存储位置就会发生更改,自动变为攻击者控制的远程SMB文件共享服务系统,之后,受害者在Slack应用中下载的任意文件都会被“悄悄”地存储(上传)到这个攻击者设置的远程SMB共享系统中。只有当受害者发现文件下载位置的异常后,手动修改回来,才能及时止损,切断这种“窃密”行为。

当然,通过这种方式,攻击者不仅能隐秘窃取受害者的下载文档,还能往下载过的文档中放入捆绑了木马的恶意文档,当受害得通过Slack打开这种恶意文档之后,其电脑系统就被攻击者远程控制了。

漏洞原因在于,Slack应用程序对其自身功能 slack:// links(加链接)方式,以及可点击链接的不当处理。以下是作者相关的漏洞发现分享。

逆向分析Slack功能设置

Slack是基于Electron架构的应用程序,逆向分析相对容易,作为Slack用户的我来说,我觉得Slack的“slack://”后加超链接的功能有点意思,其中可能存在安全隐患。结合逆向分析结果,经过一番研究,我在Slack逆向结果中找到了与“slack://”links功能对应的,用来处理其后链接(links)的代码模块 - protocol-link.ts,从中可以得知,设置 slack://setting+link 样式,点击之后就能使Slack程序的某些功能发生更改

01.png

而在另一个模块Settings-Reducer.ts中,可以发现Slack功能设置更改的所有相关代码:奇热影视

02.png也就是说,可以通过slack://settings+link的方式,实现对Slack程序所有功能设置的更改。

实现Slack下载文档存储位置的隐秘更改

基于以上逆向发现,我发现可经由“PrefSSBFileDownloadPath”参数设置来对Slack文档下载存储位置进行更改,通过对它的设置,可以实现点击 slack://settings+link 方式构造的链接就能更改Slack下载文档存储位置,如下:

“slack://settings/?update={‘PrefSSBFileDownloadPath’:’<pathHere>’}”

其中的<pathHere>部份是可以精心构造的一点。但不巧的是,Slack对以上的链接构造是具备特殊字符过滤机制的,其中的冒号“:”表明这需要提供一个本地的根目录驱动路径。之后,我想到了SMB共享方式,这种方式不需要提供本地根目录驱动路径,但却可以符合其存储位置要求,完全可以绕过Slack在此的过滤防护。

所以,我自己架设了一个远程SMB服务系统35.193.130.2,然后slack://settings+link就变为

03.png这样一来,当我把这个slack://settings+link发送给其它Slack用户后,一旦对方点击,其Slack应用程序中的文档下载存储位置就自动变为35.193.130.2\apt:

04.png当然,当对方执行了某个文档的下载后:

05.png就会自动把该文档存储(上传)到我控制的35.193.130.2中来:

06.png

漏洞利用的攻击途径

从现实环境来说,slack://settings+link应该经过必要的编码或模糊,要不然某些有安全意识的Slack用户一眼就会识破,不会点击它。针对这种情况,有两种解决方法。

加入同一Slack群组的用户

这种在同一Slack群组中的成员用户,怎么来实现这种攻击呢?在研究了Slack的说明文档之后,我发现Slack禁止在群组消息中出现超链接相关字眼:

07.png但经过对Slack API文档的阅读分析,我发现可以在附件“attachments”功能中来实现超链接的构造,具体方法是在Slack的POST提交请求中,添加一个名为“attachment” 的请求,以合法网站方式把slack://settings+link嵌入到其中,构造出我们想要的设置更改链接,如下:

08.png当这条POST方式的消息提交到Slack群组中后,它对Slack用户显出的是合法的链接“http://google.com” ,但其实点击之后,加载的却是我们构造的设置更改链接:

09.png因此,“上钩”的Slack用户点击之后,他Slack程序的文档下载存储位置就会变为我设置的远程SMB系统。

未在同一Slack群组的其它Slack用户

除了在同一Slack群组的用户,那么这个漏洞的利用范围还能不能再扩大呢?也就是说,如果不相互加入同一个Slack群组,能否向其他Slack用户发送恶意链接利用这个漏洞?答案是可以的。

Slack群组可以订阅RSS推送,并可以用包含链接的站点更新发送给群组。为此,我们可以想像一种场景,假设某个非常受欢迎的reddit.com论坛模块,有好多Slack用户都订阅了这个论坛,那么我在上面发布一个经恶意构造的slack://settings+link链接会怎样呢?作为测试之用,我在一个私人Reddit论坛中进行了发贴,发贴中包含有一个正常的超链接。由于Reddit论坛不允许直接的slack:// links链接,所以我又构造了从正常的超链接跳转到slack:// links链接的方法,如下:

10.png这条帖子内容发布之后,订阅了这个Reddit论坛模块的用户就会收到Reddit新帖子条目的更新提示,点击提示进入后就能预览到我们构造的恶意链接:

11.png但这个技巧存在一个小小的不足,那就是当用户点击其中的恶意链接后,浏览器会跳出如下的应用切换提示框,只有点击“Yes”后,用户Slack程序的文档下载存储位置才会发生改变:

12.png

总结

该漏洞的利用技术可能会被一些懂行的具备安全意识的Slack用户识破,但是,大量网络钓鱼事件的经验表明,用户最好不要轻易点击来历不明的网页链接,尤其是,该漏洞可以通过伪装的RSS推送形成大范围影响。攻击者通过设置Slack用户的文档下载存储位置,可以轻易控制受害者的下载文件,攻击者也可以修改这些下载文件,在其中捆绑木马等恶意软件。当受害者打开Slack中的下载文件时,其实就是与攻击者控制的远程SMB存储系统进行了交互,其打开的下载文件可能是被攻击者捆绑过木马的文件,那么,攻击者将会有更深入的入侵渗透可能。

还好,漏洞上报后,经Slack调查表明,目前为止没有任何该漏洞被在野利用过的线索或报告。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蛋白质是生物体中普遍存在的一类重要生物大分子,由天然氨基酸通过肽键连接而成。它具有复杂的分子结构和特定的生物功能,是表达生物遗传性状的一类主要物质。 蛋白质的结构可分为四级:一级结构是组成蛋白质多肽链的线性氨基酸序列;二级结构是依靠不同氨基酸之间的C=O和N-H基团间的氢键形成的稳定结构,主要为α螺旋和β折叠;三级结构是通过多个二级结构元素在三维空间的排列所形成的一个蛋白质分子的三维结构;四级结构用于描述由不同多肽链(亚基)间相互作用形成具有功能的蛋白质复合物分子。 蛋白质在生物体内具有多种功能,包括提供能量、维持电解质平衡、信息交流、构成人的身体以及免疫等。例如,蛋白质分解可以为人体提供能量,每克蛋白质能产生4千卡的热能;血液里的蛋白质能帮助维持体内的酸碱平衡和血液的渗透压;蛋白质是组成人体器官组织的重要物质,可以修复受损的器官功能,以及维持细胞的生长和更新;蛋白质也是构成多种生理活性的物质,如免疫球蛋白,具有维持机体正常免疫功能的作用。 蛋白质的合成是指生物按照从脱氧核糖核酸(DNA)转录得到的信使核糖核酸(mRNA)上的遗传信息合成蛋白质的过程。这个过程包括氨基酸的活化、多肽链合成的起始、肽链的延长、肽链的终止和释放以及蛋白质合成后的加工修饰等步骤。 蛋白质降解是指食物中的蛋白质经过蛋白质降解酶的作用降解为多肽和氨基酸然后被人体吸收的过程。这个过程在细胞的生理活动中发挥着极其重要的作用,例如将蛋白质降解后成为小分子的氨基酸,并被循环利用;处理错误折叠的蛋白质以及多余组分,使之降解,以防机体产生错误应答。 总的来说,蛋白质是生物体内不可或缺的一类重要物质,对于维持生物体的正常生理功能具有至关重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值