WadesWeaponShed/CheckPoint-CVE-Webscanner
GitHub: WadesWeaponShed/CheckPoint-CVE-Webscanner
基于 Check Point Management API 的本地 Web 工具,用于扫描并临时修复 CVE-2026-50751 和 CVE-2026-50752 相关的 VPN IKEv1 配置风险。
Stars: 1 | Forks: 0
# CVE Web 检查
这是一个基于审批机制的本地 Web 应用,用于通过受信任的 Check Point Management API 命令,扫描和修复潜在的 Check Point CVE-2026-50751 和 CVE-2026-50752 暴露风险。
此工具并非由 Check Point 创建或提供支持,使用风险由您自行承担。修复措施是临时性的。Check Point 建议您使用 [Check Point Security Advisories](https://support.checkpoint.com/security-advisories) 中为每个 CVE 提供的补丁尽快进行修补。
该应用在本地运行,登录到 Check Point Security Management Server 或 MDS,扫描相关的 VPN 配置,准确显示可能需要修复的位置,允许操作员批准更改,通过 Management API 应用更改,并且可以发布管理会话。发布后仍需安装策略,修复更改才能在网关上生效。
## 检查内容
### IKE 版本全局属性扫描与修复 (CVE-2026-50751)
扫描 SMS 全局 Remote Access VPN 属性:
```
remote-access.vpn-authentication-and-encryption.encryption-method
```
如果当前值不是 `ike_v2_only`,应用可以批准并应用更改,将属性设置为:
```
ike_v2_only
```
此扫描旨在识别 VPN Remote Access 和 Mobile Access 仍然全局允许已弃用的 IKEv1 密钥交换的暴露情况。IKEv1 已被弃用,不再是行业的最佳实践。此更改可能会影响较旧的 VPN 客户端。请查看 [SK166415](https://support.checkpoint.com/results/sk/sk166415) 以获取更多 Check Point 指南。
### 旧版客户端允许检查扫描与修复 (CVE-2026-50751)
扫描简单网关,并检查每个网关通用对象内的 VPN realm:
```
realmsForBlades
```
应用会报告是否支持或已禁用旧版客户端。当批准修复时,它会将 VPN realm 所拥有对象的 `disabled` 值设置为 `true`。
面向用户的结果文本:
- `Legacy clients are disabled`
- `Legacy Clients are Supported`
允许旧版客户端可以保留对 IKEv1 的支持,这已不再是行业的最佳实践。我们建议禁用此设置,除非仍然需要旧版客户端。如果需要旧版客户端,请计划将其迁移到更安全的现代 VPN 客户端。
### 站点到站点 VPN 社区扫描与修复 (CVE-2026-50752)
扫描两种 Check Point 站点到站点 VPN 社区类型:
- Star 社区
- Mesh 社区
应用仅在观察到以下所有情况时才标记 VPN 社区:
- 已启用站点到站点 VPN。
- VPN 社区使用 IKEv1。
- 参与 VPN 社区的网关使用基于证书的身份验证。
对于 Star 社区,应用会分别显示中心网关和卫星网关。当 API 数据提供足够的对象类型信息时,网关名称会被标记为本地管理或外部管理。
对于 Mesh 社区,应用从社区 `gateways` 列表中提取网关名称。Mesh 社区在此工具中不包含外部管理的网关处理,因此该字段显示为不适用。
当批准修复时,应用会尝试将 VPN 社区加密方法设置为仅使用 IKEv2。Star 社区使用:
```
set-vpn-community-star
```
Mesh 社区使用:
```
set-vpn-community-meshed
```
如果选定的 Star 社区包含外部管理的网关,应用会在应用更改之前发出警告。您必须确保在外部管理的网关端也进行了相应的仅限 IKEv2 的更改。
## 工作流程
1. 使用 Check Point Management API 用户登录。
2. 点击 **Scan Check Point Config**。
3. 查看 SMS 全局属性、旧版客户端网关发现以及站点到站点 VPN 社区发现。
4. 仅批准您想要应用的更改。
5. 点击相应的应用按钮。
6. 从工具中发布,或者如果您想手动检查并发布,请取消勾选 **Publish after successful apply**。
7. 发布后安装策略,以便网关端的更改生效。
## 安全说明
- 连接到 Check Point 管理服务器时,应用默认使用 HTTPS。
- 请勿以 `http://...` 形式输入管理服务器地址;这会通过明文 HTTP 发送 Check Point API 登录信息。
- 浏览器通过 `http://127.0.0.1:3000` 与本地后端通信。
- 用户名和密码仅在 localhost 上从浏览器发送到本地后端。
- 后端通过 Management API 登录请求将用户名和密码发送到 Check Point。
- 应用不会记录密码。
- Check Point 会话 ID 仅在本地 Node 进程的生命周期内存储在服务器内存中。
- **Allow self-signed certificate** 选项保留 TLS 加密,但禁用证书验证。仅在需要时使用。
## 使用的 API 命令
后端代理以下 Check Point Management API 命令:
- `login`
- `logout`
- `publish`
- `show-simple-gateways`
- `show-generic-object`
- `set-generic-object`
- `show-global-properties`
- `set-global-properties`
- `show-vpn-communities-star`
- `show-vpn-communities-meshed`
- `set-vpn-community-star`
- `set-vpn-community-meshed`
## 安装与运行
此项目没有第三方 npm 依赖项。从源代码运行时,它仅需要 Node.js 18 或更高版本。
### macOS 从源代码运行
1. 从 [nodejs.org](https://nodejs.org/) 或 Homebrew 安装 Node.js 18 或更高版本。
brew install node
2. 下载或克隆此项目。
git clone
cd CVE-Web-Check
3. 启动本地应用。
npm start
因为没有 npm 依赖项,所以这同样有效:
node server.js
4. 打开应用。
http://127.0.0.1:3000
### Windows 从源代码运行
1. 从 [nodejs.org](https://nodejs.org/) 安装 Node.js 18 或更高版本。
2. 下载并解压项目 ZIP 文件,或使用 Git for Windows 克隆存储库。
git clone
cd CVE-Web-Check
3. 启动本地应用。
npm start
因为没有 npm 依赖项,所以这同样有效:
node server.js
4. 在浏览器中打开应用。
http://127.0.0.1:3000
### 可选端口更改
默认情况下,应用监听 `127.0.0.1:3000`。要使用其他端口:
macOS:
```
PORT=3100 npm start
```
Windows PowerShell:
```
$env:PORT = "3100"
npm start
```
然后打开:
```
http://127.0.0.1:3100
```
## 故障排除
服务器会将请求诊断信息打印到终端。成功的登录尝试将显示类似于以下内容的行:
```
Local API request requestId=abc12345 route=/api/login
Login request received target=https://mgmt.example.com/web_api/login user=admin
Check Point API request starting command=login target=https://mgmt.example.com/web_api/login
```
如果浏览器显示带有请求 ID 的登录错误,但网络抓包显示没有向管理服务器发送出站请求,请将终端的 `target=` 值与您的抓包过滤器进行比较。
如果根本没有 `Local API request` 行,则说明浏览器未连接到本地后端。请确认应用正在运行,并且您打开了正确的本地 URL。
标签:API集成, Check Point, MITM代理, VPN安全, XXE攻击, 可观测性, 多模态安全, 数据可视化, 本地Web应用, 漏洞缓解, 自定义脚本