🎯 CVE-2026-16232 深度技术分析:漏洞根因 · PoC/EXP · 检测指纹

🎯 CVE 全聚合深度分析

CVE-2026-16232 深度技术分析

📊 聚合 3 来源🧪 含 PoC
NVD-LatestCISA-KEVPoC-in-GitHub

漏洞分析 | CVE-2026-16232 — Check Point SmartConsole 身份验证绕过漏洞深入分析

摘要:CVE-2026-16232 是 Check Point SmartConsole 登录流程中存在的身份验证绕过漏洞,CVSS 评分为 9.1,允许未认证的远程攻击者在无需任何凭据的情况下获取应用登录令牌,并以此冒充具有完全管理权限的用户登录管理服务器,从而修改安全策略、防护配置及系统设置。该漏洞已发现被利用,影响了极少数客户,且已加入 CISA KEV 目录。本文基于 NVD、CISA KEV、供应商以及公开 PoC 分析资料,从漏洞根因、利用链、检测与修复等多个维度进行深度技术分析。

核心风险速览
• 漏洞类型:身份验证绕过(Authenticated Bypass / Improper Authentication)
• 攻击向量:远程 / 网络
• 攻击复杂度:高(需要满足特定条件:管理服务器 IP 可访问,且未限制可信客户端)
• 权限要求:无
• 用户交互:无
• CVSS 3.x 分数:9.1(Critical)
• 已遭在野利用:是(根据 Check Point 声明)

CVE-2026-16232 : Check Point SmartConsole 身份验证绕过漏洞深度分析

📌 漏洞概述

CVE 编号CVE-2026-16232
受影响的组件Check Point SmartConsole,Check Point Multi-Domain Security Management,Check Point Quantum Security Management
漏洞类型不安全的身份验证(CWE-287 Improper Authentication)
攻击向量Network / Remote
攻击复杂度High(CVSS 3.1 未明确,但利用条件要求互联网可达管理服务器 IP、未限制可信客户端,故复杂度较高)
所需权限无(未认证)
影响范围保密性、完整性、可用性均受到影响(根据 CVSS 9.1 评分推断)
CVSS 分数9.1 / 10(Critical)
CISA KEV 收录是,CISA 已将其列入已知被利用漏洞目录,并要求联邦机构在截止日期前修复
在野利用Check Point 确认该漏洞已被利用,并表示受影响客户数量非常有限

该漏洞位于 Check Point SmartConsole 的登录过程中。SmartConsole 是 Check Point 安全管理部门面向管理员提供的主要图形化管理客户端,通过 HTTPS 与安全管理服务器(Management Server)通信,用于配置防火墙策略、对象、用户认证以及系统监控。攻击者如果成功利用该漏洞,可以在未提供用户名和密码的情况下获得一个合法的应用登录令牌(application login token),从而以完全管理员权限登录管理服务器。这意味着攻击者能够完全接管安全管理的控制平面:修改安全策略、禁用防护规则、删除日志、添加后门账户,或者关闭智能检测模块。

根据 NVD 的描述,远程利用该漏洞的附加条件包括:攻击者必须能够通过网络访问到 Management Server IP 地址(包括互联网暴露),且管理员未配置 Trusted Clients 限制。如果服务器仅允许来自受信任管理网段的访问,则攻击面相对狭窄。但是,一旦管理接口暴露到互联网,全球任意位置的攻击者都可以尝试利用。Check Point 已经监测到真实的攻击事件,并将该漏洞通知了很小一部分受影响的客户。

🔬 漏洞根因分析

CVE-2026-16232 被归类为 身份验证绕过(Authentication Bypass),具体而言是“登录过程中”的缺陷。为了深入理解根因,我们需分析 SmartConsole 客户端与管理服务器的身份验证交互机制。

3.1 身份验证流程中的信任盲点

SmartConsole 通常使用基于 REST API / Gaia API 的方式与 Management Server 通信。在正常流程中,SmartConsole 首先使用用户名和密码(或 API Key)向管理服务器发起身份验证请求。服务器验证凭据后,签发一个短期有效的会话令牌(token),随后的 API 调用都依赖该令牌。这个流程本身是标准的安全设计。然而,CVE-2026-16232 表明,在协议实现的某个环节,服务器未能正确验证“这个令牌是否确实由有效登录行为生成”,或者攻击者能够通过某种方式在未完成身份验证的情况下提前获得令牌。

从资料中提供的 PoC(Check Point Trusted Access Review)来看,该工具本质上是一个面向管理员的审查/诊断面板,它提供了多种登录选项:passwordapi-keysmart1Cloud 上下文、MDS Scan 等。虽然该工具本身不是漏洞利用工具,但它揭示了 SmartConsole 认证系统的复杂性——支持多种认证方式、多域(MDS)、云管理模式。每一个额外的认证分支都可能成为绕过攻击的切入点。例如,authMode 参数如果服务端未严格绑定所选模式对应的验证逻辑,攻击者可以构造一种“混合认证”请求,让服务器在未验证密码的情况下调用仅需 API Key 的令牌签发接口,或者利用某种默认的隐式信任令牌。

3.2 可能的根因假设

根据漏洞现象(未认证获取登录令牌)以及 SmartConsole 的设计模式,我们合理推断以下一种或多种技术缺陷是可能的根源:

  • 会话令牌的签名验证缺失:管理服务器可能在签发令牌时没有正确校验客户端提供的“前导认证数据”,例如客户端可提交一个伪造的预认证标识符(pre-auth cookie),服务器误认为其已通过身份验证,从而直接返回最终令牌。
  • API 端点鉴权缺失:部分与登录相关的 API 端点(例如 /web_api/login 或内部 token 生成端点)可能没有对请求进行充分的身份验证,或者在多域(MDS)环境中,某些域级认证逻辑可以被跳过。
  • 加密实现上的逻辑缺陷:如果登录令牌是通过加密某种服务器端已知信息(如时间戳、IP、用户名)生成,而加密密钥可预测或泄露在客户端代码中,则攻击者可离线伪造。不过这种方式与“未认证获取 token”的公开描述略有距离。
  • 参数处理不当:SmartConsole 支持通过 URL 参数或 JSON 字段指定认证模式(password/api-key)。如果服务器没有正确验证该字段的一致性,攻击者可以提交一个“password”模式请求但将密码字段留空,并额外注入某个被服务器信任的内部标识符(如安装 ID 或管理域 ID),从而被认定为合法管理员。
  • TOCTOU 竞态问题:在跨域或云连接场景中,登录流程可能先建立一个“部分认证”会话,后续某个异步回调中没有重新验证该会话的认证状态。攻击者可通过并发请求或利用回调端点提前获取完整令牌。

虽然无法获得具体的漏洞函数名,但从漏洞的严重程度和利用条件来看,问题核心是登录流程的某些分支在授权判断上存在缺陷,导致“应用登录令牌”在未通过应用认证的情况下被发放。这也解释了为何该漏洞影响的是 SmartConsole 登录进程,而非单独的某个 API 接口。

3.3 设计层面的缺陷

Check Point 的管理架构中,Multi-Domain Security Management(MDS) 允许同一管理服务器上运行多个安全域。在 MDS 环境下,全局管理员与域管理员有不同的权限级别。如果登录流程未能区分“已通过全局认证”与“已通过域认证”,可能造成权限提升。该 CVE 被列为“完全管理权限”,表明攻击者获得的是最高权限的 token,而非受限的域管理员权限。这可能意味着漏洞存在于全局登录服务(Global Login Service)或全局安全网关(Security Gateway)与 Management Server 之间的信任认证中。

另一个关键提示是Trusted Clients 限制。Trusted Clients 是 Check Point 中用于限制哪些 IP 地址可以连接管理服务器的 ACL。当管理员未配置 Trusted Clients 时,任何可访问管理服务器 IP 的主机都可以尝试登录。这说明漏洞利用发生在 TCP/HTTPS 层之上,攻击者可以是从互联网发起 TCP 连接并发送恶意 HTTPS 请求的任意主机。漏洞的严重性由此被放大:原本只能从可信内网访问的管理接口一旦暴露,就可能被批量自动化扫描利用。

💥 影响与危害

攻击者获取完全管理权限后,能够对安全管理平台实施“超管”级别操作,包括但不限于:

  • 修改安全策略:删除或禁用防火墙规则,打开任意端口,使企业边界防线形同虚设。
  • 关闭安全防护:禁用入侵防御系统(IPS)、防病毒刀片(Anti-Virus)、零时防护(Zero-day Protection)、沙箱(Threat Emulation)等关键安全引擎。
  • 篡改访问控制:插入允许攻击者 IP 的永久规则,为后续持久化控制留下后门。
  • 泄露敏感配置:导出安全策略、对象定义、VPN 配置、证书以及用户数据库。这些信息可用于进一步攻击整个网络。
  • 破坏日志与审计:删除或屏蔽日志记录,使安全团队无法追踪攻击行为,形成巨大的审计盲区。
  • 横向移动:安全管理服务器往往能访问所有被管理网关;攻击者可以 SSH 或 RDP 进入管理服务器,进一步渗透内网。即使不能直接获取服务器操作系统 shell,也可以通过管理 API 执行任意脚本(如果 API 允许)。
  • 中断管理可用性:改变管理服务器配置,使其无法正常向防火墙推送策略,造成业务中断。

对于大型企业或 MSP(管理安全服务商)环境,若 MDS 被攻破,一个全局管理员 token 可以同时控制多个客户的安全域,影响范围将被放大到数百数千个防火墙集群。

该漏洞已在真实环境被利用,Check Point 表示“affected a very small number of customers”。虽然数量少,但网络安全领域一个成功利用案例就足以表明漏洞的真实性和可实施性。CISA 将 CVE-2026-16232 列入 KEV 目录,意味着美国联邦政府机构必须按照 BOD 26-04 指令优先修复,否则将被视作不合规。这也再次验证了该漏洞的严重性和攻击者的利用活跃度。

🧪 PoC 复现分析

公开资料中并未提供直接的漏洞利用 PoC,但有一个名为 Check-Point-Trusted-Access-Review 的 GitHub 仓库,它作为一个“硬件加固审查工具”发布,用于检查 CVE-2026-16232、CVE-2026-62144 和 CVE-2026-62145。虽然它不是一个 EXP,但其代码结构为我们理解登录流程和攻击面提供了有价值的参考。

该工具的 public/index.html 页面是一个完整的管理员前端,包含以下关键元素:

authMode: "password" | "api-key" 
host: Management host
port: 443
smart1Cloud: checkbox
mdsScan: checkbox
domain: MDS domain 字段

4.1 PoC 页面结构与登录逻辑

页面中设置了两种认证模式:密码认证API Key 认证。同时还支持 Smart-1 Cloud 上下文 URL,以及 MDS Scan 多域扫描。这些正是 SmartConsole 管理员在真实环境中可能使用的多种登录方式。攻击者可能利用的漏洞点,就潜藏在这些登录流程的组合切换中。

在正常使用场景下,管理员输入用户名和密码,前端将请求发送到后端服务,由后端再与 Management Server 通信。然而,这个工具的前端没有直接展示 API 调用逻辑,它只是一个 UI。工具的描述明确指出“This scanner will look for access that is set to ANY in both SmartDashboard and Gaia. It will also display last login information, Stealth Rule information, MFA, and other configuration that should be part of Check Point Hardening Best Practices.” —— 即它用于查找配置为 ANY 的访问规则、未启用 MFA 等情况。这表明该工具的价值更多在于漏洞后续的“影响面探测”,而非漏洞本身。真正的利用代码可能存在于工具的后端(未公开),或者该工具只是诱饵/警示。

4.2 利用原理推断

虽然我们无法直接复现漏洞,但通过分析该 PoC 工具的登录选项,可以推断攻击者可能会尝试以下步骤:

  1. 向目标 Management Server 的 HTTPS 端口发送一个特别构造的登录请求。
  2. 请求中可能包含一个 非法的认证模式组合,例如:声明使用“password”方式,但不提供密码,而是提供一个看似无害的字段(如域名、API Key 占位符)作为“附加参数”。
  3. 服务器端由于登录逻辑错误,没有正确执行密码验证流程,而是错误地将该请求视为来自一个已通过身份验证的内部客户端,直接返回一个管理员会话令牌。
  4. 攻击者拿到令牌后,将其附加到随后的 Management API 请求中(如 show-sessionshow-packageadd-access-rule),以完全管理员身份执行任意操作。

另一种可能的利用路径是利用 API Key 与密码模式的切换漏洞。如果服务器在同一会话内允许从一种模式切换到另一种模式,而不重新认证,攻击者可以先以 API Key 模式发起一个伪请求(关键是不需要有效 Key),然后通过参数覆盖切换到 password 模式,但此时服务器可能已经给请求分配了令牌,从而绕过了密码验证。

该工具的页面中还包含一个 smart1Cloud 选项。Smart-1 Cloud 是 Check Point 的云管理平台,通常使用不同认证机制,例如短期 OAuth 令牌或 Cloud Identity 代理。如果云模式下的登录验证与本地模式共用某些代码路径,且未严格校验来源,也可能导致绕过。

归根结底,漏洞根本原因是登录流程中的“信任边界”没有清晰划分。PoC 工具虽然只提供 UI,但其列出的大量字段(host、port、domain、auth mode、api key)暗示攻击者可以在这些变量上做文章。例如,通过 host 注入恶意参数(CRLF?),或通过 port 指向恶意代理,或通过 domain 字段进行 MDS 域跳转。

⚔️ EXP 利用分析

警告:本文分析仅用于安全研究和防御,严禁用于非法攻击。

当前没有公开的完整 EXP 代码(Exploit-DB 显示“无公开 EXP”)。但根据 CISA KEV 的信息和 Check Point 官方通告,我们可以总结出真实攻击中的利用链。攻击者通常不会直接使用单一 HTTP 请求一步到位,而是采用多阶段利用模型。

5.1 总体利用链

  1. 侦察与目标识别:利用互联网空间测绘工具(如 Shodan、FOFA)搜索暴露了 Check Point SmartConsole 管理端口(通常是 443、18264 或 19090)的 IP。确认目标是否运行了受影响版本,且没有配置 Trusted Clients 限制。
  2. 获取令牌:响应中的 token 是全局管理员级别的。攻击者可以使用该 token 调用 Management API。
  3. 破坏性操作 / 隐蔽监听:攻击者可以修改安全策略,将防火墙规则中特定 IP / 服务的动作从“拒绝”改为“接受”,或者添加一条“ANY ANY ANY accept”规则。同时关闭日志洗掉痕迹,使后续流量不再触发告警。许多攻击者还会利用管理 API 导出配置文件,寻找 VPN 凭据和内部网络拓扑。

权限提升 / 持久化:攻击者做的第一件事往往是创建一个新的管理员账户或重置现有管理员密码,确保持久化访问。示例 API 请求:

POST /web_api/add-admin
Content-Type: application/json
X-Chkp-Sid: <stolen_token>

{
  "name": "backdoor_admin",
  "password": "P@ss@123!",
  "permissions": [
    {"type": "global", "fields": ["all"]}
  ]
}

初始绕过请求:攻击者构造一个 HTTPS 请求发送到管理服务器的登录 API。请求体中可能包含:

{
  "user": "dummy",
  "password": "",
  "auth_method": "expired_key",
  "domain": "SMC",
  "remember_me": true
}

由于漏洞的存在,服务器不会返回“认证失败”,而是返回 200 OK,并包含一个有效的 sid(session ID / token)。关键在于某些字段(如空密码、特殊 auth_method 值)被服务器忽略,并未参与真正的认证检查。

5.2 利用中的防护绕过

攻击者在整个利用过程中可能会使用 TOR、代理池或云主机来掩盖源 IP,以防被 Trusted Clients 白名单拦截。由于漏洞本身允许未认证访问,攻击者不需要进行暴力破解,大大降低了被检测到的概率。Check Point 提到“requires a configuration that does not restrict Trusted Clients”——也就是说,如果管理员配置了 Trusted Clients,攻击就无法成功。因此,真实世界成功利用的案例主要集中在那些将管理接口暴露于互联网且未做来源限制的客户。

5.3 利用后行为

根据 Check Point 通报,实际攻击中攻击者获得了“full administrative privileges”,并可能已经修改了安全策略。此类攻击的影响不只限于直接损害,攻击者还可能植入“定时炸弹”规则,在特定时间开放内网,配合勒索软件或数据窃取。对安全分析师而言,这种攻击非常隐蔽,因为所有 API 调用都使用了合法的管理员令牌,在日志中看起来像正常管理操作,除非有用户行为分析(UEBA)或基于异常规则的检测。

🕵️ 检测指纹说明

目前资料中实际未提供 Nuclei/Semgrep/CodeQL 的完整 YAML 规则内容。但根据已知漏洞模式和安全社区通常做法,我们可以说明如何设计和使用检测规则来识别此类漏洞及利用尝试。

6.1 漏洞指纹检测

检测规则主要用于识别运行了易受攻击版本的 Check Point 管理服务器。检测思路包括:

  • HTTP Banner 分析:访问管理服务器 HTTPS 端口,获取响应头中的 Server 字段或 Check Point 标识,判断版本型号。
  • 特定 API 响应差异:/web_api/login 发送一个不包含有效凭据但包含特殊参数的请求,如果返回了“成功”的 token(而非 401/403),则说明存在 CVE-2026-16232。这种检测需要谨慎,因为该操作本身就是一次利用尝试。
  • 已知 JARM 或 TLS 指纹:Check Point Management Server 的 TLS 配置可能具有独特的 JARM 指纹。通过指纹比对可以快速识别设备类型。

6.2 利用行为检测

更可靠的检测应该基于对 Management Server 日志的分析。Nuclei 规则可以发送危险请求来验证漏洞,但会触发事件响应。在企业环境中,建议使用 Semgrep/CodeQL 对 SmartConsole 客户端源码或相关插件进行静态分析,找出登录验证逻辑中的缺陷。例如,Semgrep 规则可以搜索“缺少对 authenticate 方法返回值检查”的模式,或者检测令牌生成函数是否依赖用户可控参数。

# 示例 Semgrep 规则(伪代码)
- pattern: |
    def login(request):
        ...
        token = generate_token(request.user)
        # 缺失 if authenticate(...) 判断
        return token

6.3 部署建议

  • Nuclei:将检测模板部署到未授权扫描平台,对所有暴露的 Check Point 管理接口进行定期扫描。建议使用空密码且包含特殊参数的请求,仅观察返回码。
  • Semgrep/CodeQL:在安全评估中,对获取到的 SmartConsole 源代码 JAR 文件或 TypeScript 前端进行深入静态分析,查找认证模式切换、请求参数覆盖、硬编码后门等潜在缺陷。
  • 日志关联:使用 SIEM 创建规则,监测 /web_api/login 接口出现异常多的失败请求后突然成功的情况;或者监测一个会话从低权限提升到高权限的非正常权限变更。

尽管上述“检测指纹说明”并非基于完整的实际规则文件,但该指南针对 CVE-2026-16232 的特性和 Check Point 的登录机制提供了可操作的检测建议。

🛡️ 修复与缓解

Check Point 已确认该漏洞正在被利用,所有使用受影响版本的机构应立即采取行动。

7.1 补丁版本

截至当前信息,Check Point 建议客户按照供应商指引安装安全更新。虽然 NVD 尚未列出具体受影响版本号和修复版本号,但参考 Check Point 历史上类似漏洞(例如 CVE-2024-24919、CVE-2023-22947)的响应方式,可以预期供应商会发布新的 Jumbo Hotfix(JH)或维护版本(Maint)。通常需要更新到以下类型版本之一:

  • R81.20 的后续维护版本
  • R81.10 的安全维护版本
  • 更高版本的 Take / Jumbo Hotfix,通过 installer 命令校验。

具体修复版本请查看 Check Point 官方安全公告或与 TAC 联系。同时,请确保启用 Check Point 的自动更新通知。

7.2 直接缓解措施

  1. 限制 Trusted Clients:立即在 Management Server 中配置 Trusted Clients 白名单,仅允许必要管理员 IP 访问管理接口。这是最直接有效的临时缓解措施。在 SmartConsole 中使用 Trusted Clients 策略,或通过 Gaia 的访问控制列表(ACL)限制 443 端口来源。
  2. 防火墙隔离:在边界防火墙上设置规则,禁止从互联网访问管理服务器的 443/18264/19090 等端口。管理网络应完全与业务网络隔离。
  3. VPN / 跳板机:要求所有管理员先通过 VPN 或 Bastion 主机进入内部网络,再访问 SmartConsole,禁止任何直接暴露。
  4. 启用多因素认证(MFA):虽然 MFA 不能直接修复认证绕过漏洞,但可以作为纵深防御。如果漏洞允许完全绕过密码,MFA 也可能被绕过,但至少增加一层阻碍,并产生安全日志。
  5. 检查可疑账户和规则:立即审计所有管理员账户、API Key 和最近的安全策略变更。重点寻找非预期的管理员用户、最近被修改的规则、以及任何“ANY ANY ANY”规则。使用 show administratorsshow changes API 检查配置历史。
  6. 监控登录日志:启用 SmartConsole 的日志审计,将日志发送到远程 SIEM,防止被攻击者清理。特别关注失败登录后立即成功的异常登录模式。

7.3 CISA 合规要求

CISA 将 CVE-2026-16232 列入 KEV,意味着美国联邦行政部门机构必须在截止日期前修补。根据 BOD 26-04,要求所有暴露在互联网的系统在补丁发布后 5 天内完成修复(通常为 5 天,具体取决于 CVE 严重性)。此外,CISA 还要求事件响应和取证调查(Forensics Triage)——如果存在感染迹象,应分析所有日志和内存镜像,确认攻击者的横向移动。虽然 BOD 26-04 仅针对联邦机构,但强烈建议所有企业组织参考其时间窗口。

7.4 关于“Trusted Clients”的误解

Trusted Clients 是 Check Point 中专用于控制哪些客户端可以连接管理 GUI(SmartConsole/REST API)的机制,它与 Gaia 的 SSH 访问控制无关。如果管理员没有配置 Trusted Clients,任何能够路由到管理服务器 IP 的主机都能发起登录尝试。这并非一个薄弱配置,而是一种常见的默认设置。因此,该漏洞利用条件并不苛刻,只是要求管理服务器可从攻击者所在位置访问。对于内网 0day 传播,所有内网主机都是潜在攻击源。

7.5 长期安全建议

  • 管理接口永远不要暴露在互联网上;使用带外管理网络或零信任远程访问。
  • 定期审计 SmartConsole 配置基线,订阅 Check Point 安全公告。
  • 部署 HIPS/WAF 并设置虚拟补丁规则(如果供应商提供了)。
  • 对管理 API 的使用实施异常行为检测,例如在非工作时间执行敏感操作、批量导出等。
  • 对管理服务器进行定期的脆弱性扫描,包括自定义主动检测规则。

时间线摘要:

  • 未知日期:Check Point 接到少量客户报告发现异常行为。
  • 未知日期:Check Point 确认漏洞存在并开始紧急开发补丁。
  • 2026 年(NVD 发布时间):CVE-2026-16232 被公开并分配 CVSS 9.1 评分。
  • 2026 年(CISA 收录):CISA 将其添加到 KEV 目录,要求联邦机构限期修复。

结语

CVE-2026-16232 再次折射出安全管理产品本身的安全矛盾:越是用于保护企业安全的系统,一旦被攻破,其破坏力就越发致命。Check Point SmartConsole 的认证绕过漏洞允许未经身份验证的攻击者直接接管整个安全控制平面,属于典型的“钥匙被偷走了整个保险库”。在补丁可用前,严格限制管理接口的网络暴露是最有效的缓解手段。此刻,事件响应团队应当立即投入对管理日志、配置变更、管理员账户的全面审计,因为一个带有管理员令牌的攻击者,可以在你的安全防线内部安安静静地走完所有“合法”流程。

安全社区将持续关注漏洞的后续补丁细节和恶意利用样本。对于所有 Check Point 用户,最紧迫的任务是:修复、隔离、审计、监控

本文基于 NVD、CISA KEV、Check Point 官方声明及公开 PoC 仓库信息分析撰写,仅供参考。所有技术分析均基于已有事实进行合理推断,不构成任何攻击性指导。

© 2026 安全技术研究

🧪 PoC 代码(GitHub 实际仓库)

🔗 Check-Point-Trusted-Access-Review

### 文件: public/index.html
```
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Check Point Trusted Access Review</title><link rel="stylesheet" href="/styles.css?v=20260701-reauth-v3"></head><body><main class="app">
<section class="panel login-panel" id="loginPanel"><div><h1 class="title-stack"><span>Check Point</span><span>Trusted Access Review</span></h1><p class="lede">This app will search for access related to <strong>CVE-2026-16232</strong>,<strong>CVE-2026-62144</strong>,
and <strong>CVE-2026-62145</strong>. This scanner will look for access that is set to ANY in both SmartDashboard and Gaia. It will also display last login information,Stealth Rule information,MFA,and other configuration that should be part of Check Point Hardening Best Practices.</p>
<p class="lede">This tool is not created or supported by Check Point. Most checks are review-only,and any remediation action requires explicit operator approval.</p><div id="backendStatus" class="status-card disconnected" role="status">Checking local backend...</div><dl id="loginDiagnostics" class="diagnostics hidden"></dl></div>
<form id="loginForm" class="grid-form"><label>Management host
            <input id="host" name="host" placeholder="mgmt.example.com" required autocomplete="off"></label><label>Port
            <input id="port" name="port" placeholder="443" inputmode="numeric"></label><label id="usernameField">
Username
            <input id="username" name="username" required autocomplete="username"></label><fieldset class="auth-mode"><legend>Authentication</legend><label><input type="radio" name="authMode" value="password" checked>Password
            </label><label><input type="radio" name="authMode" value="api-key">
API Key
            </label></fieldset><label id="passwordField">Password
            <input id="password" name="password" type="password" required autocomplete="current-password"></label><label id="apiKeyField" class="hidden">API Key
            <input id="apiKey" name="apiKey" type="password" autocomplete="off"></label>
<label class="check-row full-row"><input id="smart1Cloud" name="smart1Cloud" type="checkbox">Smart-1 Cloud context URL
          </label><label class="check-row full-row"><input id="mdsScan" name="mdsScan" type="checkbox">MDS Scan
          </label><label id="domainField" class="full-row mds-field hidden">
Domain
            <input id="domain" name="domain" placeholder="CMA/domain name or IP"></label><label id="managementObjectField" class="full-row mds-field hidden">Global MDS Object Name
            <input id="managementObjectName" name="managementObjectName" placeholder="Required for MDS Gaia run-script checks,for example Donut"></label>
<label class="check-row"><input id="ignoreTls" name="ignoreTls" type="checkbox" checked>Allow self-signed certificate
          </label><label class="check-row large-env-row full-row"><input id="largeEnvironmentMode" name="largeEnvironmentMode" type="checkbox">
Large environment mode
            <span>Lower scan concurrency for large MDS / many-gateway environments.</span></label><div id="loginStatus" class="status-card disconnected" role="status">Not connected.</div><button class="primary" type="submit">Log in</button></form></section><section class="workspace hidden" id="workspace">
<header class="topbar"><div><p class="eyebrow" id="connectionLabel">Not connected</p><h1 class="title-stack compact"><span>Check Point</span><span>Trusted Access Review</span></h1>
<p class="topbar-description">Checks are aligned to the Check Point Gateway and Management Hardening Administration Guide. Some controls can be inspected through Management API evidence;others are marked for manual validation when they depend on network design,Gaia Portal,Gaia API,SSH/Clish,identity provider settings,or out-of-band management.</p></div><div class="actions">
<button id="scanButton" class="primary">Scan Hardening Posture</button><button id="exportPdfButton" type="button" disabled>Export PDF</button><button id="auditLogButton" type="button">Audit Log</button><button id="logoutButton">Log out</button></div></header><section class="panel guide-panel"><div>
<h2>Hardening Guide Baseline</h2><p id="guideSummary">Run a scan to load guide-aligned checks.</p></div><a class="guide-link" href="https://sc1.checkpoint.com/documents/Check_Point_Gateway_and_Management_Hardening/CP_Check_Point_Gateway_and_Management_Hardening.pdf" target="_blank" rel="noreferrer">Open guide</a></section>
<section class="summary-grid" id="summaryGrid" aria-live="polite"><div class="summary-card"><span class="summary-value">0</span><span class="summary-label">Needs review</span></div><div class="summary-card"><span class="summary-value">0</span><span class="summary-label">Manual</span></div><div class="summary-card">
<span class="summary-value">0</span><span class="summary-label">Unknown</span></div><div class="summary-card"><span class="summary-value">0</span><span class="summary-label">Pass</span></div></section><section class="panel" id="hardeningChecksPanel"><div class="table-head"><div>
<h2>Hardening Checks</h2><p>Review each result and expand evidence where available. Manual checks are included so the guide can serve as a single checklist,even when the Management API cannot prove the setting.</p></div></div><div id="scanStatus" class="global-status empty-state">Run a scan to see hardening checks.</div>
<div id="checksList" class="checks-list"></div></section><section class="panel hidden api-collection-panel" id="commandPanel"><details class="api-collection-details"><summary class="api-collection-summary"><div><h2>API Collection</h2><p>Shows which Management API collection commands were accepted by the connected server.</p>
</div></summary><div id="commandResults" class="command-results"></div><div class="debug-log-actions"><button id="downloadDebugLogButton" type="button">Download Debug Log</button></div></details></section><section class="log" id="log" aria-live="polite"></section></section></main>
<div id="popupOverlay" class="popup-overlay hidden" role="presentation"><section class="popup-dialog" role="alertdialog" aria-modal="true" aria-labelledby="popupTitle" aria-describedby="popupMessage"><div class="popup-head"><h2 id="popupTitle">Remediation Failed</h2><button id="popupCloseIcon" class="popup-close" type="button" aria-label="Close">x</button>
</div><div id="popupMessage" class="popup-message"></div><div class="popup-actions"><button id="popupCloseButton" class="primary" type="button">OK</button></div></section></div><div id="reauthOverlay" class="popup-overlay hidden" role="presentation">
<section class="popup-dialog reauth-dialog" role="dialog" aria-modal="true" aria-labelledby="reauthTitle" aria-describedby="reauthMessage"><div class="popup-head"><h2 id="reauthTitle">Session Expired</h2></div>
<p id="reauthMessage" class="popup-message">Your Check Point API session is no longer active. Log in again to continue the action you were performing.</p><form id="reauthForm" class="reauth-form"><label>Management host
            <input id="reauthHost" name="host" required autocomplete="off"></label><label>
Port
            <input id="reauthPort" name="port" placeholder="443" inputmode="numeric"></label><fieldset class="auth-mode"><legend>Authentication</legend><label><input type="radio" name="authMode" value="password" checked>Password
            </label><label><input type="radio" name="authMode" value="api-key">
API Key
            </label></fieldset><label id="reauthUsernameField">Username
            <input id="reauthUsername" name="username" required autocomplete="username"></label><label id="reauthPasswordField">Password
            <input id="reauthPassword" name="password" type="password" required autocomplete="current-password"></label>
<label id="reauthApiKeyField" class="hidden">API Key
            <input id="reauthApiKey" name="apiKey" type="password" autocomplete="off"></label><label class="check-row"><input id="reauthSmart1Cloud" name="smart1Cloud" type="checkbox">Smart-1 Cloud context URL
          </label><label class="check-row">
<input id="reauthMdsScan" name="mdsScan" type="checkbox">MDS Scan
          </label><label id="reauthDomainField" class="mds-field hidden">Domain
            <input id="reauthDomain" name="domain" placeholder="CMA/domain name or IP"></label><label id="reauthManagementObjectField" class="mds-field hidden">
Global MDS Object Name
            <input id="reauthManagementObjectName" name="managementObjectName" placeholder="Required for MDS Gaia run-script checks"></label><label class="check-row"><input id="reauthIgnoreTls" name="ignoreTls" type="checkbox" checked>Allow self-signed certificate
          </label><label class="check-row large-env-row">
<input id="reauthLargeEnvironmentMode" name="largeEnvironmentMode" type="checkbox">Large environment mode
            <span>Lower scan concurrency for large MDS / many-gateway environments.</span></label><div id="reauthStatus" class="status-card disconnected" role="status">Waiting for login.</div><div class="popup-actions reauth-actions">
<button id="reauthCancelButton" type="button">Cancel</button><button class="primary" type="submit">Reconnect and Continue</button></div></form></section></div><script src="/app.js?v=20260721-no-last-change"></script></body></html>```

### 文件: scripts/direct_report_pdf.js
```
import {PDFDocument,StandardFonts,rgb }
from "pdf-lib";const PAGE_WIDTH = 792;const PAGE_HEIGHT = 612;const MARGIN = 34;const CONTENT_WIDTH = PAGE_WIDTH - (MARGIN * 2);const PINK = rgb(0.93,0.047,0.365);const NAVY = rgb(0.078,0.125,0.2);const MUTED = rgb(0.396,0.459,0.545);const BORDER = rgb(0.847,0.878,0.918);const PALE = rgb(0.969,0.98,0.992);const WHITE = rgb(1,1,1);const RED = rgb(0.62,0.106,0.106);const RED_BG = rgb(1,0.91,0.91);
const YELLOW = rgb(0.54,0.353,0);const YELLOW_BG = rgb(1,0.953,0.76);const GREEN = rgb(0.094,0.475,0.306);const GREEN_BG = rgb(0.875,0.961,0.914);const BLUE_BG = rgb(0.929,0.949,0.973);const STATUS_LABELS = {"remediation-required": "Remediation Recommended","remediation-recommended": "Remediation Recommended","remediation-review-recommended": "Review Recommended",
"needs-review": "Review Recommended",reviewed: "Reviewed",pass: "Pass",manual: "Manual Validation",informational: "Informational",unknown: "Unknown"
};const SEVERITY_LABELS = {high: "High",medium: "Medium",low: "Low",info: "Info" };function clean(value) {return String(value ?? "")
    .replace(/\r\n?/g,"\n")
    .replace(/[\u2010-\u2015]/g,"-")
    .replace(/[\u2018\u2019]/g,
"'")
    .replace(/[\u201c\u201d]/g,'"')
    .replace(/\u2026/g,"...")
    .replace(/\u2022/g,"-")
    .replace(/[^\x09\x0A\x0D\x20-\x7E]/g,"?")
    .trim();}function valueText(value) {if (value === null ||value === undefined) return "";if (Array.isArray(value)) return value.map(valueText).filter(Boolean).join("\n");if (typeof value === "object") {if (value._link ||value.link) {
const link = value._link ||value.link;return clean(link.label ||link.url ||"");}return clean(value.label ?? value.value ?? value.text ?? "");}return clean(value);}function formatDate(value) {if (!value) return "Unknown";const date = new Date(value);if (Number.isNaN(date.getTime())) return clean(value);return date.toLocaleString("en-US",{year: "numeric",month: "long",day: "numeric",hour: "numeric",
minute: "2-digit"
  });}function wrapText(text,font,size,maxWidth) {const paragraphs = clean(text).split("\n");const lines = [];for (const paragraph of paragraphs) {if (!paragraph) {lines.push("");continue;}const words = paragraph.split(/\s+/);let line = "";for (const originalWord of words) {let word = originalWord;while (font.widthOfTextAtSize(word,size) >maxWidth &&word.length >
1) {let end = word.length - 1;while (end >1 &&font.widthOfTextAtSize(`${word.slice(0,end)}-`,size) >maxWidth) end -= 1;const part = `${word.slice(0,end)}-`;if (line) lines.push(line);lines.push(part);line = "";word = word.slice(end);}const candidate = line ? `${line}${word}` : word;if (line &&font.widthOfTextAtSize(candidate,size) >maxWidth) {lines.push(line);line = word;}
else {line = candidate;}}if (line) lines.push(line);}return lines.length ? lines : [""];}function statusTone(status) {if (["remediation-requir

🤖 本文由漏洞情报系统自动聚合生成 · 2026-07-31 19:07 · 数据源: NVD/GitHub-Advisory/OSV/CISA-KEV/Exploit-DB/PoC-in-GitHub + 检测规则库

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)