跳转到帖子

国际威胁情报动态:Fortinet 管理接口认证绕过持续利用与应急排查

精选回复

发布于

近期国际威胁情报仍在持续跟踪 Fortinet 管理接口认证绕过漏洞的实际利用。相关问题主要涉及 CVE-2024-55591 与后续补充的 CVE-2025-24472,攻击目标集中在将 HTTPS 管理面直接暴露到互联网的 FortiGate、FortiProxy 设备。

公开案例显示,攻击者并不止于登录设备,而是继续创建高权限管理员、导出配置、修改 SSL VPN 设置,并利用边界设备已有的网络可达性进入内网。对防守方而言,单纯确认设备“还能正常工作”并不足以排除失陷。

影响范围与情报判断

CVE-2024-55591 是 Node.js WebSocket 模块中的认证绕过问题,典型受影响版本包括 FortiOS 7.0.0 至 7.0.16、FortiProxy 7.0.0 至 7.0.19,以及 FortiProxy 7.2.0 至 7.2.12。对应修复版本分别为 FortiOS 7.0.17、FortiProxy 7.0.20 和 7.2.13 或更高版本。

不同型号、分支和后续公告可能存在调整,实际处置应以设备型号对应的 Fortinet PSIRT 公告为准,不能只根据主版本号判断。HA 集群还需要逐节点确认固件和升级状态。

这里的重点不是复现认证绕过,而是在授权范围内,通过版本、管理面暴露情况、系统日志和配置差异完成无破坏验证。生产边界设备不建议直接运行公开利用代码。

攻击链路特征

  • 互联网来源访问 HTTPS 管理接口,并通过 WebSocket 或相关管理通道进入 CLI 会话。
  • 日志中出现 ui="jsconsole" 或 method="jsconsole" 的管理员登录事件,但源地址、时间或账号不符合运维基线。
  • 新增本地管理员,或者已有管理员的 profile 被调整为 super_admin。
  • 修改 SSL VPN、地址对象、防火墙策略、静态路由或管理接口配置。
  • 随后使用新建账号或已窃取凭据连接 SSL VPN,探测域控、虚拟化平台、备份服务器等内网资产。

需要注意,jsconsole 本身不是绝对恶意指标。管理员从 Web GUI 打开 CLI Console 时也可能产生类似日志,必须结合源 IP、登录账号、变更动作和工单时间进行关联分析。

第一步:确认版本与管理面暴露

在已授权的设备 CLI 中执行以下只读命令,记录 Version、Build、运行模式和 HA 状态。不要仅根据资产平台中的历史版本字段下结论。

get system status
get system ha status
show system interface
show system global

重点检查公网接口的 allowaccess 是否包含 https、ssh 或 http,以及上游防火墙是否允许任意互联网地址访问管理端口。设备可能使用了非标准端口,因此不能只检查 TCP/443。

从批准的外部验证节点进行最小化端口确认时,可以使用:

nmap -Pn -sT -p 443,8443,10443 --reason --version-light 203.0.113.10

203.0.113.10 是文档保留地址,实际操作应替换为授权目标。验证目的仅是确认管理服务是否暴露,不应继续发送利用载荷或尝试绕过认证。

第二步:核查管理员与关键配置差异

优先导出当前配置并与最近一次可信备份比较。至少检查管理员、SSL VPN、接口、策略和路由。配置中可能包含敏感信息,导出文件应加密保存并限制访问。

show full-configuration system admin
show full-configuration vpn ssl settings
show full-configuration firewall policy
show full-configuration router static
show full-configuration system interface

建议重点确认以下变化:

  • 近期出现的陌生管理员、随机字符串账号或非预期的 super_admin 权限。
  • 管理员 trusted hosts 被删除、放宽为 0.0.0.0/0,或者新增不明来源网段。
  • SSL VPN 允许的用户组、门户、地址池和分流路由发生变化。
  • 新增从 VPN 区域到服务器区、管理区或域控网段的放行策略。
  • 日志转发、FortiAnalyzer、Syslog 或 NTP 配置被关闭或指向陌生地址。

如果保存了脱敏后的历史配置,可在独立分析机上直接比较:

diff -u fortigate-known-good.conf fortigate-current.conf | less

git diff --no-index --word-diff \
  fortigate-known-good.conf fortigate-current.conf

第三步:检索登录与配置变更日志

设备本地日志可能因容量限制被覆盖,应同时检索 FortiAnalyzer、Syslog、SIEM 和上游防火墙日志。对导出的文本日志,可以先进行快速筛选:

rg -n -i 'ui="jsconsole"|method="jsconsole"|Admin login successful|super_admin|Add system\.admin|Edit system\.admin|ssl.*vpn' fortigate-*.log

rg -n -i 'action="login".*status="success"|logdesc="Admin login successful"' fortigate-*.log

在使用 Microsoft Sentinel 接收原始 Syslog 的环境中,可以先建立行为视图:

Syslog
| where SyslogMessage has_any ('ui="jsconsole"',
                               'method="jsconsole"',
                               'Admin login successful')
| extend SrcIp = extract('srcip="?([^" ]+)', 1, SyslogMessage)
| extend User = extract('user="?([^" ]+)', 1, SyslogMessage)
| summarize Events=count(), FirstSeen=min(TimeGenerated),
            LastSeen=max(TimeGenerated)
  by SrcIp, User, Computer
| order by LastSeen desc

排查时不要只搜索固定 IOC IP。此类活动常使用云主机、代理和短生命周期地址,更有效的判断条件是:非运维地址登录、首次出现的账号、异常时段、jsconsole 会话后紧跟管理员或 VPN 配置变更。

内网侧关联排查

如果发现可疑管理登录,应将时间窗口向前后各扩展至少 24 小时,并在内网日志中查找同源行为:

  • SSL VPN 登录、地址池分配和会话持续时间。
  • VPN 地址池访问 TCP/445、3389、5985、5986、389、636、88 等管理或身份服务端口。
  • 域控上的异常 Kerberos 票据请求、账号枚举、远程服务创建和特权组变更。
  • 虚拟化、备份、存储平台出现来自 VPN 网段的新登录。
  • 边界设备主动连接陌生 DNS、HTTP、HTTPS 或 SSH 地址。

边界设备本身的日志只是入口证据。攻击者若已获得 VPN 或内网凭据,后续活动可能不再经过管理接口,必须把 VPN 会话、东西向流量和身份日志串联起来。

风险处置与修复建议

  • 立即将管理面从公网撤下,改为专用管理网、堡垒机或受控 VPN 访问。修改接口 allowaccess 前应核对现有管理路径,避免远程锁死设备。
  • 升级到厂商确认的修复版本。HA 环境应按官方升级路径逐节点处理,并在升级后再次核对 build。
  • 在重启、恢复出厂设置或清理账号之前保存系统日志、配置、FortiAnalyzer 数据、上游 NetFlow 和认证日志,避免破坏证据。
  • 删除无法解释的管理员和策略,收紧管理员 trusted hosts,并轮换本地管理员、API Token、VPN 账号、LDAP/RADIUS/TACACS+ 共享密钥。
  • 若存在未授权管理员创建、配置导出或 VPN 横向活动,不应把“升级完成”视为处置结束。应按已失陷设备处理,评估从可信固件重建并恢复经过审计的配置。
  • 同步检查下游身份系统和关键服务器。边界设备中保存的凭据、证书私钥和集成密钥应根据暴露程度决定是否重新签发或轮换。

总结

这轮威胁情报的核心信号不是单一 CVE,而是互联网暴露的网络设备管理面正被持续用于获取高权限入口。有效排查需要同时完成版本确认、管理面测绘、jsconsole 登录关联、配置差异审计和 VPN 后续行为分析。发现明确入侵迹象后,应按完整事件响应流程处置,而不是只打补丁或删除可疑账号。

服务器与云环境安全示意图
服务器、云资产与权限边界梳理示意
网络流量与边界分析示意图
网络请求、日志与边界流量分析示意

这类事件建议不要只做“升级后确认版本”,认证绕过一旦成功,攻击者通常会继续创建管理员、修改 SSL-VPN 用户或策略,升级本身不会清掉这些变更。

排查时可以先保全现场,导出配置、事件日志和 FortiAnalyzer/Syslog 日志,再重启或切换 HA。重点关注以下异常:

  • 管理日志中出现非预期的 jsconsole 登录、来源为 127.0.0.1 或陌生公网地址的管理员会话;
  • 新增或改名的管理员、本地用户,尤其是随机字符串账号;
  • 管理员的 trusthost、权限配置被修改;
  • SSL-VPN portal、用户组、防火墙策略、VIP、静态路由发生非计划变更;
  • 日志被清除、远程日志配置被关闭,或 HA 主备节点配置不一致。

CLI 可以先收集一轮基础状态,输出注意按敏感信息处理:

get system status
get system ha status
get system performance status

show system admin
show user local
show user group
show vpn ssl settings
show firewall policy
show firewall vip
show router static
show log syslogd setting
show system interface

事件日志的过滤语法在不同 FortiOS 版本略有差异,可以先查看系统类事件,再搜索 admin、jsconsole、login、Add、Delete、password 等关键词:

execute log filter reset
execute log filter category event
execute log filter field subtype system
execute log display

如果设备本地日志已滚动,FortiAnalyzer、集中 Syslog、上游防火墙和 NetFlow 往往更关键。建议至少回溯到官方披露时间之前数周,核对管理接口的入站连接,以及设备对外发起的异常 SSH、HTTPS、DNS 流量。

止血方面应先从公网撤掉 HTTPS/SSH 管理权限,仅保留专用管理网或 VPN 入口。例如 WAN 口不需要管理时:

config system interface
    edit "wan1"
        set allowaccess ping
    next
end

确需远程管理的场景,至少给管理员设置可信来源,并在上游 ACL 或 local-in policy 再做一层限制:

config system admin
    edit "secadmin"
        set trusthost1 10.20.30.0 255.255.255.0
        set trusthost2 198.51.100.10 255.255.255.255
    next
end

发现异常管理员或配置修改时,不建议只删除账号了事。应按失陷设备处理:升级到厂商明确标注已修复的分支、轮换全部管理员和相关 LDAP/RADIUS/API 凭据、撤销旧会话,检查 HA 两个节点,并将当前配置与已知可信备份做差异比对。若日志显示攻击者已获得 super_admin,稳妥做法是从可信镜像重装并人工恢复审计过的配置,而不是直接导回可能已被污染的完整备份。

最近浏览 0

  • 没有会员查看此页面。