登录
一个虚假的办事处如何控制了整个网络:深入了解 UAT-8616 的 SD-WAN 攻击事件。

如需查看,请启用功能 Cookie 在这里

Sqa17ll
Sqa17ll文章
2个月前1 分钟阅读

一个虚假的办事处如何控制了整个网络:深入了解 UAT-8616 的 SD-WAN 攻击事件。

0 点赞

深入浅出地了解 SD-WAN:为什么这次攻击如此重要

在视频中,Low Level TV 的 Ed Woodruff 详细介绍了他认为是最复杂的攻击案例:威胁组织 UAT-8616(也被称为 Salt Typhoon)对思科 SD-WAN 系统的实际攻击。

为了更好地理解,他首先从宏观层面解释了 SD-WAN:

  • 旧模式: 过去,拥有大量分支机构的公司通常依赖于专用的租赁线路(T1/T3),后来又使用 MPLS(多协议标签交换)来连接分支 A 和分支 B,通过私有、未加密的网络进行连接。
  • SD-WAN 升级: 软件定义广域网 (SD-WAN) 允许分支机构通过任何传输方式(互联网、专用链路等)进行通信,同时集中定义流量的路由方式。它更灵活,并且可以使用加密和基于策略的路由。

由于 SD-WAN 经常位于关键基础设施(如水务和电力设施)的边缘,因此其控制器的安全性和管理平面至关重要。而 UAT-8616 的目标正是这些。

UAT-8616 / Salt Typhoon 是谁?

Ed 基于思科 Talos 关于一个中国威胁组织发布的公开报告来讲述这个故事:

  • UAT-8616,也被称为 Salt Typhoon,已被发现利用边缘设备和网络设备中的零日漏洞
  • 他们的目标包括美国和全球范围内的关键基础设施领域,特别是运行技术 (OT) 环境,例如:
    • 水务设施
    • 电力公司
    • 其他工业和基础设施网络

在这次活动中,他们利用思科 Catalyst SD-WAN 系统中的漏洞,获得了对企业网络的深入且持久的访问权限。

第一步:通过 SD-WAN 对等连接伪造一个分支

SD-WAN 控制器管理着许多分支机构。当新的分支机构加入时,它必须与控制器进行对等连接,并证明它属于该组织。通常,这需要:

  • 公钥/私钥交换,或
  • 事先共享的对称密钥

其原理是:新的分支机构声明“我是公司的一部分;这是证明”,然后控制器将其添加到管理/控制平面中。

根据 Ed 引用了思科 Talos 的报告:

  • UAT-8616 利用了 SD-WAN 对等连接机制中的一个漏洞
  • 细节尚未公开——没有概念验证,并且确切的密码学或协议漏洞尚不清楚。

根据视频中描述的 Talos 报告,已知的信息是:

  • 攻击者能够在 SD-WAN 结构中创建一个虚假的分支
  • 这个虚假节点看起来就像网络地图上的任何其他合法分支一样。
  • 从那里,他们可以:
    • 广播 IP 路由
    • 注入和接收网络流量
    • 有限的权限加入管理/控制平面

因此,攻击者首先成功地悄悄地成为了另一个分支机构——获得了足够的访问权限来访问控制器,但尚未获得 root 权限。

第二步:固件降级以恢复旧的 CVE

在作为低权限参与者进入 SD-WAN 网络后,UAT-8616 开始进行权限提升。Ed 强调了一个特别巧妙的部分:他们执行了固件降级攻击

为什么进行降级?

  • 从理论上讲,随着漏洞的发现和修复,软件会随着时间的推移而变得更加安全
  • 较旧的固件通常仍然包含已知的、记录在案的漏洞——例如,来自前几年的 CVE。

在这种情况下,Ed 指出:

  • CVE-2022-20755——这是思科 SD-WAN 软件的**CLI(命令行界面)**中的一个漏洞。
    • 只能由经过身份验证的本地用户访问。
    • 允许提升到root权限。

根据他讲述的故事:

  1. 攻击者伪装成一个虚假的分支,获得了低权限的管理平面访问权限。
  2. 他们将目标 SD-WAN 系统(vCenter / 控制器)降级到仍然包含 CVE-2022-20755 的固件版本。
  3. 在运行旧版本固件的情况下,他们可以触发旧漏洞以提升到 root 权限。

Ed 指出,这正是许多供应商试图阻止固件降级的一个教科书式的理由:

  • 如果攻击者已经获得了一些访问权限,那么能够回滚到易受攻击的代码,实际上就是将一个较旧、较弱的安全基线交给了他们,以便进行利用。

第三步:路径遍历和 Vshell 滥用以获得 root 权限

为了解释权限提升路径,Ed 深入研究了一个经典的路径遍历漏洞的示例,然后将其与思科漏洞的工作方式联系起来。

什么是路径遍历?

他描述了一个简化的场景:

  • 一个 Web 工具接收用户提供的路径,并从 /var/www/uploads/<user_path> 中提供一个文件。
  • 如果代码没有对输入进行清理,用户可以提供 ../../../../etc/passwd 而不是一个无害的文件名。
  • 然后,系统将打开 /etc/passwd,这是一个敏感文件,尽管这并非预期的行为。

这就是路径遍历的本质:使用类似 ../ 的序列来向上遍历目录树,并访问超出允许区域的文件。

这如何映射到思科 SD-WAN 漏洞

根据 Ed 总结的漏洞描述:

  • 易受攻击的组件是 Vshell,即 SD-WAN CLI 环境。
  • 当用户登录时,Vshell 会使用文件系统路径加上用户名来生成一个配置文件
  • 如果用户名没有进行清理,攻击者可以在其中嵌入遍历字符串。

他描述的攻击链:

  1. 构造的用户名

    • 攻击者设置一个类似于 .temp/../foo/../external(占位符示例)的用户名,其中包含遍历序列。
    • 这会欺骗 Vshell 读取位于预期目录之外的文件。
  2. 泄漏敏感的 IPC 密钥

    • 使用这种技术,攻击者读取 confd_ipc_secret(一个用于系统上组件之间进程间通信的密钥)。
    • 获得该密钥后,他们可以对 IPC 请求进行签名,就像他们是一个受信任的进程一样。
  3. 以 root 身份运行 Vshell

    • 报告中显示的漏洞利用脚本(如 Ed 所述)使用泄漏的密钥来请求以 UID 0 / GID 0(root)身份运行命令。
    • 示例流程:
      • 运行:python temp/exploit.py 123 以泄漏 confd_ipc_secret
      • 然后使用该密钥来调用 Vshell 或其他命令,以 root 身份运行

因此,权限提升序列是:

  • 虚假分支 → 低权限 CLI 访问 → Vshell 中的路径遍历 → 泄漏 IPC 密钥 → 带有签名的 IPC 调用,以 root 身份运行 → 完全控制系统

检测、缓解以及为什么这如此危险

Ed 以他对类似环境中的任何人的实用建议结束,这些建议基于思科 Talos 的报告。

  • 保持 SD-WAN 固件更新
  • 监视意外的对等连接和构造的用户名
  • 认识到,虽然像 Rust 这样的更安全的语言有助于提高内存安全性,但它们并不能自动解决密码学或逻辑级设计缺陷。

他总结的关键要点是:保持 SD-WAN 固件更新,监视意外的对等连接和构造的用户名,并认识到,虽然像 Rust 这样的更安全的语言有助于提高内存安全性,但它们并不能自动解决密码学或逻辑级设计缺陷。他描述的攻击链表明,如何将分层漏洞(对等连接、降级能力和 CLI 漏洞)结合起来,形成有史以来针对广域网基础设施的最先进的实际攻击之一。

相关文章
分享这篇文章

评论

还没有评论。成为首个加入讨论的人。