CVE-2024-24919:Check Point 远程访问 VPN 任意文件读取漏洞深度解析
CVE-2024-24919 是一处影响 Check Point Quantum Spark 网关及多种安全设备的高危漏洞(CVSS 评分 8.6),其本质在于 Check Point 远程访问 VPN 或是移动访问软件刀片(Mobile Access Software Blades)在处理特定 HTTP 请求时存在输入验证不当,导致未经身份验证的远程攻击者能够读取受影响设备上的任意文件。该漏洞在 2024 年 5 月底被公开披露,并已被观察到在野利用,攻击者利用此漏洞获取系统敏感信息,如 /etc/shadow 文件中的加密哈希,从而为进一步的内部渗透和横向移动提供条件。
受影响的设备与版本
此漏洞主要影响开启了“远程访问 VPN”(Remote Access VPN)或“移动访问”(Mobile Access)功能的 Check Point 设备。下表列出了主要受影响的产品系列及其特定版本范围:
| 产品系列 | 受影响的版本 | 修复版本(Hotfix) |
|---|---|---|
| Quantum Maestro | R80.20SP, R80.30SP, R81, R81.10, R81.20 | Check Point 已发布针对各版本的 Security Gateway Hotfix |
| Quantum Security Gateways | R77.30, R80.10, R80.20, R80.30, R80.40, R81, R81.10, R81.20 | 需要安装最新的累计修复补丁 |
| Quantum Spark Gateways | R77.20, R80.20, R81.10, R81.10.x | 各分支版本均有对应补丁 |
值得注意的是,只有在上述设备上启用了特定的软件刀片后,漏洞才会暴露。对于防御者而言,首要任务是通过 Zondex 等互联网资产测绘工具,识别暴露在全球网络中的 Check Point 接口,确认其是否包含受漏洞影响的特定 Web 服务路径。
技术原理与路径遍历机制
该漏洞的根本原因在于 Check Point 网关在处理 /clients/connectivity 端点的请求时,未对用户输入的路径参数进行充分的过滤和校验。攻击者通过构造包含 ../(路径遍历)序列的特殊请求,可以绕过预设的 Web 根目录限制,访问 Linux 底层操作系统(Check Point Gaia OS)中的任意文件。
攻击主要针对运行在 443 端口或自定义 VPN 端口上的 Web 服务。虽然该服务主要用于 VPN 客户端的连接初始化,但其 API 逻辑中存在对文件读取操作的直接调用。通过向 /clients/connectivity 端点发送 POST 请求,并利用 aCSHELL 或类似的内部参数引导文件流,攻击者可以获取系统的关键配置文件。
POST /clients/connectivity HTTP/1.1 Host: [Target_IP] Content-Length: 39 aCSHELL/../../../../../../etc/shadow
在上述简化的 PoC 示例中,攻击者通过 POST 正文直接传递了文件路径。由于服务端解析逻辑在处理 aCSHELL/ 后的内容时直接将其拼接至文件读取函数中,导致系统返回了 /etc/shadow 的内容。该文件中存储了网关管理员及其他系统用户的密码哈希值。攻击者随后可以使用离线破解工具尝试还原明文密码,进而通过 SSH 或 Web 管理界面接管设备。
漏洞复现与利用场景分析
在实际的安全研究中,通过对 Gaia OS 内部二进制文件的逆向工程发现,漏洞点位于处理 VPN 连接请求的 Web 服务器组件中。该组件在解析客户端发送的数据包时,会将部分输入作为路径的一部分传递给读取文件的底层系统调用(如 fopen 或 read)。
除了 /etc/shadow,攻击者通常还会关注以下敏感文件:
/config/db/initial:可能包含初始配置信息。/etc/passwd:获取系统用户列表。/home/admin/.ssh/authorized_keys:如果攻击者能够读取此类文件,可以确认是否存在已有的后门或特定的认证密钥。
在渗透测试或红队行动中,研究人员通常会使用 Secably 等漏洞扫描工具对目标网段进行自动化检测。这些工具能够高效识别受影响的端点,并验证是否存在未经身份验证的文件读取权限,从而减少人工手动测试的工作量。
深度分析:Gaia OS 与权限隔离
Check Point 的 Gaia OS 是基于 Red Hat 架构的定制化 Linux 发行版。在理想的安全架构中,Web 服务应以非 root 权限运行,并且应通过 chroot 环境或容器化技术将文件访问限制在极小的范围内。然而,CVE-2024-24919 的存在表明,该 Web 服务组件具备读取系统级敏感文件的权限,或者其运行上下文足以访问系统关键路径。
当攻击者获取 /etc/shadow 之后,利用 Gaia OS 默认可能使用的 MD5 或 SHA-512 盐值哈希算法,在具备高性能计算资源的情况下,破解弱口令管理员账号往往只需数分钟。一旦攻击者成功登录网关,他们可以利用 Check Point 的信任机制,通过 VPN 隧道向内部网络进行横向移动,甚至在网关上配置恶意路由或数据包嗅探,拦截所有通过 VPN 的流量。
流量特征与防御检测
监控该漏洞的利用尝试可以从 Web 访问日志和 IDS/IPS 签名入手。以下是几种典型的攻击特征:
- 异常端点访问:监控所有对
/clients/connectivity的 POST 请求,特别是请求体中包含..、/etc/、/config/等关键字的流量。 - 响应大小异常:正常的 VPN 连通性测试响应通常较小且格式固定,而文件读取成功的响应体则会包含大量文本数据(如 shadow 文件内容)。
- 用户代理(User-Agent):虽然攻击者可以伪造,但大量来自非标准客户端(如 Python-requests 或 curl)的请求应引起警惕。
在防御层面,除了应用 Check Point 官方发布的紧急修复程序(Hotfix)外,建议管理员重新评估 VPN 网关的暴露面。使用 VPNWG 定义的安全标准和最佳实践,可以帮助企业构建更具韧性的远程访问架构,例如实施严格的源 IP 过滤或启用双因素认证(MFA),以防止即使密码泄露后攻击者也无法轻易登录。
补丁分析与修复验证
Check Point 发布的修复补丁主要通过增强 /clients/connectivity 处理函数的参数校验来堵塞漏洞。补丁代码引入了黑名单或白名单机制,严格禁止在请求中包含路径遍历字符。此外,修复程序还对内部文件读取函数进行了封装,限制其只能访问特定的资源目录。
管理员在安装补丁后,应执行以下步骤验证修复效果:
- 使用 PoC 脚本尝试再次读取
/etc/shadow,确认系统返回 403 Forbidden 或 404 Not Found。 - 检查系统审计日志,确认是否存在由于补丁拦截导致的异常报错。
- 由于该漏洞可能已被利用,强烈建议在补丁安装完成后强制更改所有网关管理员账号和本地用户的密码,并清除现有的所有活动的 VPN 会话。
此外,对于大型企业环境,应检查 smartlog 或 cpview 等 Check Point 原生监控工具中的历史记录。由于该漏洞的利用过程不留传统的登录日志(它是非授权的文件读取),审计人员需要寻找 Web 服务崩溃记录或异常的高负载活动,这些可能是攻击者在批量尝试遍历不同系统路径时留下的痕迹。
潜在的供应链与集成风险
CVE-2024-24919 不仅仅影响硬件网关,还影响部署在 AWS、Azure 等云环境中的 CloudGuard 虚拟设备。在云环境中,攻击者读取 /etc/shadow 后,如果网关配置了 IAM 角色或存储了云服务商的 API 密钥,其破坏范围将迅速扩大至整个云基础设施。因此,云安全团队需要同步更新镜像,并利用云原生的 WAF 规则封锁针对 /clients/connectivity 路径的攻击尝试。通过对 Gaia OS 内核及其 Web 组件的持续监测,安全团队可以更早地发现此类逻辑层面的漏洞利用,从而在漏洞被公开利用前采取缓解措施。