跳转到帖子

国际威胁情报动态:FortiOS CVE-2024-55591 在野利用后的边界排查与内网链路处置

精选回复

发布于

背景

Fortinet 在 2025 年 1 月披露 CVE-2024-55591。该漏洞位于 FortiOS、FortiProxy 的 Node.js WebSocket 管理模块,攻击者可能绕过身份认证并取得 super_admin 权限。厂商通告确认漏洞已被在野利用,相关活动至少可追溯到 2024 年 11 月。

受影响范围主要包括 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,其他分支仍应以厂商最新公告为准。

这类事件不能只按“设备是否打补丁”处理。边界设备一旦失陷,后续动作通常会转向管理员账户、SSL VPN、访问策略和内网身份系统,需要同时检查权限边界及历史日志。

问题定位:先区分暴露、受影响与已失陷

排查时建议把结论拆成三个层次:

  • 暴露:管理端口是否曾直接开放到互联网,包括临时开放、备用线路和映射后的非标准端口。
  • 受影响:事发时间段内运行的版本是否落入漏洞范围。当前版本已经升级,并不能证明历史版本安全。
  • 已失陷:是否存在异常管理登录、管理员新增、配置改动、SSL VPN 账户变化或后续内网访问。

在授权环境中,可以先从外部测试节点确认管理面暴露情况。该步骤只用于识别入口,不应在生产设备上直接运行公开利用脚本。

# 仅对已授权目标执行,确认常见管理端口及证书信息
nmap -Pn -sV -p 443,8443 --script ssl-cert 198.51.100.10

# 检查返回头、证书和跳转位置,不提交认证绕过载荷
curl -kI --connect-timeout 5 

# 从可信管理终端获取设备版本和基础配置
get system status
show system admin
show vpn ssl settings
show firewall policy
show system interface

采集命令输出时要记录设备时间、时区和 HA 节点身份。若设备为集群,应分别检查主备节点,避免只读取当前主节点的日志和配置。

技术分析:从管理面失陷到内网访问

CVE-2024-55591 的核心风险不是普通低权限登录,而是管理权限边界被绕过。攻击者取得 super_admin 后,常见后续链路包括:

  • 创建新的本地管理员,或修改既有管理员的可信来源地址。
  • 新增本地 VPN 用户、用户组或认证映射,将其加入允许访问内部资源的 SSL VPN 门户。
  • 修改防火墙策略、地址对象和静态路由,为 RDP、SMB、LDAP 等流量建立通路。
  • 调整日志发送目标、日志级别或本地存储设置,降低后续操作的可见性。
  • 借助 VPN 或新策略访问域控、虚拟化管理平台、备份服务器和运维跳板机。

因此,只搜索漏洞请求并不够。设备侧可能没有保留完整 HTTP 请求,但管理员登录、配置对象增删和 VPN 会话通常还会出现在事件日志、FortiAnalyzer 或上游 SIEM 中。

日志留痕与排查方法

优先保存原始日志,不要先在设备上批量删除账户或回滚配置。建议同时导出系统事件、管理员审计、VPN 事件、流量日志和配置修订记录,并对导出文件计算哈希。

# 对已导出的日志和配置建立证据清单
find evidence -type f -print0 | sort -z | xargs -0 sha256sum > evidence.sha256

# 在文本日志中搜索管理控制台、管理员变更和异常 VPN 行为
rg -n -i 'jsconsole|admin.*(add|create|delete|change)|super_admin|ssl.?vpn|config.*change|login.*success' evidence/

# 同时关注短时间内连续发生的“登录成功—创建管理员—修改策略”
rg -n -i 'Admin login successful|Administrator.*(added|created)|firewall policy|user group|SSL VPN' evidence/

如果日志已进入 Splunk,可先建立一条宽松的时间线查询,再按设备序列号和源地址收敛:

index=network (sourcetype=fortigate* OR vendor="Fortinet")
("jsconsole" OR "Admin login successful" OR "Administrator" OR "SSL VPN")
| eval actor=coalesce(user,admin,usr), source_ip=coalesce(srcip,src,remip)
| table _time host serial source_ip actor ui action status msg
| sort 0 _time

重点核查以下关联特征:

  • 管理登录的 ui 字段出现 jsconsole,且来源地址不属于运维出口或堡垒机。
  • 异常登录后数分钟内出现管理员、VPN 用户、用户组、地址对象或防火墙策略变更。
  • 新管理员名称与组织命名规则不符,或者已有管理员的 trusthost、profile 被修改。
  • 管理登录来源为云主机、匿名代理或从未用于运维的国家和地区地址。
  • 设备日志中断、日志服务器地址被修改,或 FortiAnalyzer 在相同时间段出现接收空洞。
  • SSL VPN 登录后立即访问域控的 88、389、445、636 端口,或批量访问多台服务器的 3389、5985、5986 端口。

不能把公开 IOC 当成唯一判断条件。攻击者可以随机生成账户名称并更换出口地址,未命中已知 IOC 不代表设备没有失陷。

授权验证与配置差异检查

生产环境不建议通过复现认证绕过来证明漏洞存在。更稳妥的验证方式是核对历史版本、管理面暴露记录和补丁状态,并在隔离克隆环境中进行功能回归。

如果保留了升级前后的配置,可以先做规范化差异比较。应重点关注 system admin、user local、user group、vpn ssl、firewall policy、router static、log 和 automation-stitch 等配置段。

# 删除时间戳、分页提示等易变内容后再比较
sed -E '/^(#conf_file_ver|#buildno|--More--)/d' before.conf > before.norm
sed -E '/^(#conf_file_ver|#buildno|--More--)/d' after.conf  > after.norm

diff -u before.norm after.norm | tee config-change.diff

# 快速定位高风险配置段
rg -n 'config system admin|config user local|config user group|config vpn ssl|config firewall policy|config router static|config log|automation-stitch' config-change.diff

差异需要结合变更单核验。合法升级、HA 同步和运维调整也会造成配置变化,不能仅凭 diff 直接认定入侵。

权限边界与内网链路排查

若发现可疑管理员登录或配置变化,应把设备按“可能已失陷”处理,而不是只删除异常账户。建议继续检查以下链路:

  • 身份系统:核查 LDAP 绑定账户、RADIUS、TACACS+ 和 SAML 管理账户在同一时段的认证记录。
  • VPN 会话:按异常账户、源地址和分配的隧道地址,追踪其访问过的内网目标。
  • Windows 侧:检查域控 4624、4625、4672、4720、4728、4732、4768、4769 等事件,关注新账户、特权组变化和异常票据请求。
  • 服务器侧:检查 RDP、SMB、WinRM、SSH 及虚拟化管理平台的登录日志,尤其是来自 VPN 地址池的连接。
  • 网络侧:检查边界设备到域控、备份系统和管理网段的东西向流量,确认是否绕过了原有跳板机。

Windows 日志可以先按时间窗口和 VPN 地址池做基础筛选:

# 在授权的 Windows 管理终端执行,时间范围按事件窗口调整
$start = (Get-Date).AddDays(-7)
$ids = 4624,4625,4672,4720,4728,4732,4768,4769
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=$ids; StartTime=$start} |
  Where-Object { $_.Message -match '10\.20\.30\.' } |
  Select-Object TimeCreated, Id, MachineName, Message |
  Export-Csv .\vpn-related-security-events.csv -NoTypeInformation -Encoding UTF8

修复与处置建议

  • 立即升级到厂商确认的修复版本。处于受影响范围但暂时无法升级的设备,应关闭互联网侧管理访问,而不是仅修改管理端口。
  • 将 HTTPS、SSH 管理面迁移到独立管理网,通过堡垒机、专用 VPN 或带多因素认证的运维入口访问。
  • 使用 local-in policy、接口 allowaccess 和管理员 trusted host 形成多层限制。调整前应确认带外管理可用,避免误锁设备。
  • 删除未经确认的管理员和 VPN 账户,检查所有管理员权限配置及可信来源地址。
  • 轮换本地管理员口令、API Token、LDAP 绑定凭据、RADIUS/TACACS+ 共享密钥及相关自动化系统中的凭据。
  • 若无法排除配置、证书私钥或密钥材料被读取,应更换设备证书,并撤销旧证书和会话。
  • 重建或恢复前保留完整配置、日志、内存与磁盘镜像条件允许时的取证副本。不要用恢复出厂设置代替事件调查。
  • 重新审查 VPN 到管理网、域控、虚拟化平台和备份系统的访问策略,按业务端口和来源组最小化授权。

管理接口限制可参考以下思路,接口名称和允许协议必须按现场情况调整:

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

config system admin
    edit "secops-admin"
        set trusthost1 192.0.2.0 255.255.255.0
    next
end
执行上述配置前必须确认当前会话来源、HA 管理方式和带外通道。直接移除 https 或 ssh 可能导致远程失联。

总结

CVE-2024-55591 反映的趋势是攻击者持续把 VPN、防火墙和身份入口作为内网攻防链路的起点。对这类新闻动态,处置重点不应停留在版本升级,而要回答三个问题:管理面何时暴露、权限边界是否被改变、异常会话进入内网后访问了什么。

较可靠的闭环是:核对历史版本与暴露面,保存设备和集中日志,重建管理员及配置变更时间线,沿 VPN 地址和身份记录追踪内网访问,最后完成补丁、凭据轮换、策略收敛和持续监控。只有这样,才能避免“漏洞已修复,但攻击者留下的账户和通路仍然存在”。

服务器与云环境安全示意图
服务器、云资产与权限边界梳理示意
安全事件影响分析示意图
安全动态、影响面和处置建议示意

最近浏览 0

  • 没有会员查看此页面。