shizuku198411/CVE-2026-0300
GitHub: shizuku198411/CVE-2026-0300
针对PAN-OS CVE-2026-0300漏洞的专用、非破坏性暴露面排查工具。
Stars: 0 | Forks: 0
# PAN-OS CVE-2026-0300 非破坏性暴露面排查工具
## 概述
本工具是一款**非破坏性的暴露面排查实用程序**,用于评估目标 PAN-OS 服务是否可能暴露出与 **CVE-2026-0300** 相关的网络可访问攻击面。
该工具旨在用于授权的防御性安全验证、资产暴露面审查和漏洞分类。它**不会**利用漏洞,**不会**发送内存破坏载荷,也**不会**尝试崩溃或破坏目标设备。
## 目标 CVE
此工具专为与以下内容相关的暴露面评估而设计:
- **CVE:** CVE-2026-0300
- **供应商:** Palo Alto Networks
- **产品:** PAN-OS
- **受影响组件:** User-ID Authentication Portal,也称为 Captive Portal
- **漏洞类型:** 缓冲区溢出 / 越界写入
- **影响:** 可能导致在受影响设备上以 root 权限进行未经身份验证的远程代码执行
- **严重性:** 严重
- **CVSS:** 9.3
- **利用成熟度:** 正在被攻击 (ATTACKED)
根据 Palo Alto Networks 的公告,当启用了 User-ID Authentication Portal 且可从不受信任的网络访问时,CVE-2026-0300 会影响 PAN-OS 部署。PA 系列和 VM 系列防火墙可能会受到影响。官方公告指出,Prisma Access、Cloud NGFW 和 Panorama 不受影响。
## 本工具的检查内容
该工具执行安全的网络和 HTTP(S) 级别检查,以识别目标是否暴露了与 PAN-OS 门户相关的服务。
它检查:
- 指定 IP/端口的 TCP 连通性。
- HTTPS 连通性。
- 使用 `--scheme both` 或 `--scheme http` 时的 HTTP 连通性。
- 仅限安全的 HTTP 方法:
- `HEAD`
- `GET`
- `OPTIONS`
- 与门户相关的路径,包括:
- `/`
- `/php/login.php`
- `/php/uid.php`
- `/php/uidlogin.php`
- `/sslmgr`
- `/global-protect/login.esp`
- HTTP 响应状态码。
- 可能指示以下内容的基本响应指纹:
- PAN-OS
- Palo Alto Networks
- Captive Portal
- User-ID Authentication Portal
- GlobalProtect
- 响应页面
- 使用 `--pan-os-ver` 进行的可选自报告 PAN-OS 版本评估。
由于 PAN-OS 管理和门户服务通常使用自签名或私有颁发的证书,因此默认禁用 HTTPS 证书验证。
## 本工具不会执行的操作
本工具**不会**:
- 发送漏洞利用载荷。
- 发送内存破坏缓冲区。
- 尝试绕过身份验证。
- 尝试远程代码执行。
- 执行崩溃测试。
- 确认可利用性。
- 修改目标设备。
- 对 PAN-OS 进行身份验证。
- 直接读取 PAN-OS 配置。
该工具仅提供**外部网络可观察的暴露面评估**,如果提供了 `--pan-os-ver`,则提供**基于自报告版本的风险评估**。
## 从结果中可以了解到什么
该工具有助于回答以下问题:
### 1. 目标端口是否可达?
该工具检查扫描主机是否可以与指定的目标和端口建立 TCP 连接。
示例发现:
```
tcp=True
https=True
```
这意味着可从扫描主机访问目标端口,并且该端口接受 HTTPS 连接。
### 2. 服务行为是否类似于 HTTP(S) 服务?
该工具发送安全的 HTTP(S) 请求并记录响应状态码。
示例发现:
```
HTTPS HEAD /: HTTP/1.1 403 Forbidden
HTTPS GET /php/uid.php: HTTP/1.1 500 Internal Server Error
```
这意味着服务可达,并且正在处理 HTTP(S) 请求。
### 3. 与门户相关的路径是否可从外部访问?
该工具检查通常与 PAN-OS 门户或响应页面功能相关的路径。
示例:
```
/php/login.php
/php/uid.php
/php/uidlogin.php
```
来自这些路径的非 404 响应可能表明与门户相关的处理程序可从扫描主机访问。
### 4. 目标看起来是否像 PAN-OS/User-ID 门户?
该工具在响应头、标题、重定向、Cookie 和响应正文样本中查找轻量级的文本指示符。
指示符示例:
```
palo alto
pan-os
globalprotect
captive portal
user-id
authentication portal
response page
```
这些指示符增强了暴露服务与 PAN-OS 门户功能相关的可信度。
### 5. 提供的 PAN-OS 版本是否受影响?
如果提供了 `--pan-os-ver`,该工具会将提供的版本与脚本中嵌入的官方公告表中的受影响/已修复阈值进行比较。
示例:
```
--pan-os-ver 10.2.4-h2
```
示例结果:
```
patch_status: AFFECTED_BY_VERSION
version_status: AFFECTED_VERSION
combined_risk=HIGH
```
如果未提供 `--pan-os-ver`,该工具将显示受影响/已修复的版本表,并将版本状态报告为未知。
## 安装
该工具仅使用 Python 标准库模块。
不需要外部 Python 依赖项。
```
python3 --version
```
建议:
```
Python 3.8+
```
可以使用一个最小的 `requirements.txt`:
```
# 无需外部依赖。
# 此工具仅使用 Python 标准库模块。
```
## 基本用法
### 扫描单个目标和端口
```
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082
```
### 使用自报告的 PAN-OS 版本进行扫描
```
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--pan-os-ver 10.2.4-h2
```
### 显示每个请求的详细观察结果
```
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--pan-os-ver 10.2.4-h2 \
--verbose
```
### 同时探测 HTTPS 和 HTTP
```
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--scheme both
```
### 使用最小路径探测
默认情况下,该工具会探测所有安全的已知路径。
使用 `--minimal` 仅检查:
* `/`
* `/php/login.php`
```
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--minimal
```
### 扫描多个端口
```
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 443,6082,6081-6083 \
--scheme both
```
### 扫描 CIDR 范围
```
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.0/24 \
-p 6082 \
--csv-out results.csv \
--json-out results.json
```
### 从文件中扫描目标
创建 `targets.txt`:
```
172.16.20.254
172.16.20.253
172.16.21.0/24
```
运行:
```
python3 panos_cve_2026_0300_diag.py \
-T targets.txt \
-p 6082 \
--json-out results.json
```
## 命令行选项
| 选项 | 描述 |
| -------------------- | ------------------------------------------------------------------- |
| `-t, --target` | 目标 IP、主机名或 CIDR。支持逗号分隔的值。 |
| `-T, --targets-file` | 包含目标的文件,每行一个。支持 CIDR 条目。 |
| `-p, --ports` | 端口或端口范围。示例:`6082`、`443,6082`、`6081-6083`。 |
| `--scheme` | 探测方案:`https`、`http` 或 `both`。默认:`https`。 |
| `--pan-os-ver` | 自报告的 PAN-OS 版本,例如 `10.2.4-h2`。 |
| `--timeout` | 套接字超时时间(以秒为单位)。默认:`4.0`。 |
| `--max-bytes` | 每个请求读取的最大响应字节数。默认:`16384`。 |
| `--minimal` | 仅探测 `/` 和 `/php/login.php`。 |
| `--verbose` | 打印所有请求观察结果。 |
| `--quiet` | 减少控制台输出。 |
| `--json-out` | 将完整结果写入 JSON 文件。 |
| `--csv-out` | 将摘要结果写入 CSV 文件。 |
## 结果解释
该工具产生三种主要类型的评估:
1. **暴露级别**
2. **版本/补丁状态**
3. **综合风险**
## 暴露级别参考
| 暴露级别 | 含义 |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `LIKELY_EXPOSED_AUTH_PORTAL` | 在可达的 HTTP(S) 服务上观察到类似 PAN-OS 和类似身份验证门户的指示符。 |
| `POSSIBLE_EXPOSED_AUTH_PORTAL` | 与门户相关的路径似乎可达,并且其行为类似于应用程序处理程序,但无法远程确认 PAN-OS 产品/版本。 |
| `POSSIBLE_RESPONSE_PAGE_EXPOSURE` | 似乎可以访问与门户相关的路径或响应页面,但未确认产品/版本。 |
| `HTTP_SERVICE_REACHABLE_ACCESS_CONTROLLED` | HTTP(S) 服务可达且受访问控制,但未观察到明确的门户指纹。 |
| `HTTP_SERVICE_REACHABLE_UNIDENTIFIED` | HTTP(S) 服务可达,但未观察到明确的 PAN-OS/User-ID 门户指示符。 |
| `TCP_REACHABLE_SERVICE_UNIDENTIFIED` | TCP 连接成功,但未观察到明确的 HTTP 响应。 |
| `NOT_REACHABLE_FROM_THIS_SCANNER` | 扫描主机无法访问目标端口。 |
## 置信度参考
| 置信度 | 含义 |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `HIGH` | 观察到了强烈的外部指示符,例如与门户相关的 5xx/2xx/3xx 响应,或多个门户路径返回了非 404 响应。 |
| `MEDIUM` | 观察到了一些门户或响应页面指示符,但无法明确确认该服务。 |
| `LOW` | 服务可达,但产品或门户证据较弱。 |
## HTTP 状态解释
| 状态 | 解释 |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `2xx` | 路径返回了成功的内容。这可能表明可以访问门户内容。 |
| `3xx` | 路径返回了重定向。这可能表明可以访问门户或登录工作流。 |
| `403` | 路径存在或已被处理,但禁止访问。 |
| `404` | 未找到路径。这是较弱的暴露证据。 |
| `405` | 路径可能存在,但不允许该 HTTP 方法。这对于与门户相关的路径很有意义。 |
| `5xx` | 请求可能到达了应用逻辑并导致了服务器端错误。这是较强的暴露证据,但不能证明可利用性。 |
## 版本状态参考
| 版本状态 | 含义 |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------- |
| `AFFECTED_VERSION` | 根据嵌入的公告阈值,提供的 PAN-OS 版本受到影响。 |
| `POTENTIALLY_AFFECTED_VERSION` | 提供的 PAN-OS 版本属于受影响的系列,但未明确达到列出的已修复阈值。 |
| `NOT_AFFECTED_FIXED_OR_NEWER` | 提供的 PAN-OS 版本似乎达到或超过了已修复的阈值。 |
| `NOT_SUPPLIED` | 未通过 `--pan-os-ver` 提供 PAN-OS 版本。 |
| `UNKNOWN_FAMILY` | 提供的版本系列未在嵌入的公告表中。 |
| `PARSE_ERROR` | 无法解析提供的版本。 |
## 补丁状态参考
| 补丁状态 | 含义 |
| --------------------------------- | ------------------------------------------------------------------------------------------ |
| `AFFECTED_BY_VERSION` | 根据版本表,提供的版本受到影响。 |
| `POTENTIALLY_AFFECTED_BY_VERSION` | 除非另有确认,提供的版本应被视为可能受到影响。 |
| `LIKELY_FIXED_BY_VERSION` | 根据版本表,提供的版本似乎已修复或为更高版本。 |
| `UNKNOWN_VERSION_NOT_SUPPLIED` | 未提供版本。 |
| `UNKNOWN_PARSE_ERROR` | 无法解析提供的版本。 |
| `UNKNOWN_UNLISTED_FAMILY` | 提供的版本系列不在嵌入的表中。 |
## 综合风险参考
| 综合风险 | 含义 |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `HIGH` | 观察到了暴露指示符,且提供的 PAN-OS 版本受到影响。 |
| `HIGH_OR_MEDIUM` | 观察到了暴露指示符,且提供的 PAN-OS 版本可能受到影响。 |
| `UNKNOWN_VERSION_EXPOSED_SURFACE` | 观察到了暴露指示符,但未提供 PAN-OS 版本。 |
| `LOWER_BY_VERSION_BUT_EXPOSED` | 观察到了暴露指示符,但提供的版本似乎已修复或为更高版本。 |
| `VERSION_AFFECTED_BUT_NOT_REACHABLE_FROM_THIS_SCANNER` | 提供的版本受到影响,但此扫描主机无法访问该服务。 |
| `VERSION_AFFECTED_SERVICE_UNCONFIRMED` | 提供的版本受到影响,但此扫描未确认门户暴露。 |
| `LOWER_FROM_THIS_SCANNER` | 扫描主机未观察到可达性。 |
| `LOWER_BY_VERSION` | 提供的版本似乎已修复或为更高版本。 |
| `UNKNOWN` | 收集的证据不足以进行确信的综合评估。 |
## 示例输出
示例命令:
```
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--pan-os-ver 10.2.4-h2 \
--verbose
```
示例结果:
```
[WARN] 172.16.20.254:6082 -> POSSIBLE_EXPOSED_AUTH_PORTAL / confidence=HIGH / combined_risk=HIGH
exposure_reason: Portal-related paths appear reachable and behave like application handlers, but PAN-OS product/version cannot be confirmed remotely.
patch_status: AFFECTED_BY_VERSION
version_status: AFFECTED_VERSION
pan_os_version: 10.2.4-h2
normalized_version: 10.2.4-h2
version_reason: Version is older than earliest fixed threshold 10.2.7-h34.
combined_reason: Exposure indicators were observed and the supplied PAN-OS version is affected by the version table.
evidence:
- HTTPS HEAD /: HTTP/1.1 403 Forbidden
- HTTPS HEAD /php/login.php: HTTP/1.1 405 Not Allowed
- HTTPS GET /php/uid.php: HTTP/1.1 500 Internal Server Error
- Portal-related PHP path returned 5xx, suggesting application handler exposure.
- Multiple portal-related PHP paths responded with non-404 statuses: /php/login.php, /php/uid.php, /php/uidlogin.php
```
这意味着:
* 目标端口可达。
* HTTPS 可用。
* 与门户相关的路径可从外部访问。
* 至少有一个与门户相关的路径返回了 5xx 响应。
* 根据嵌入的版本表,提供的 PAN-OS 版本受到影响。
* 综合风险为高。
## 退出代码
| 退出代码 | 含义 |
| --------- | -------------------------------------------------------------------------------------------------------- |
| `0` |检测到可能暴露的门户表面。 |
| `1` | 检测到可能或很可能的暴露,或者观察到暴露但版本状态未知/受影响。 |
| `2` | 输入错误,例如缺少目标或端口无效。 |
## 重要限制
本工具无法仅通过网络确定所有信息。
它无法直接确认:
* PAN-OS 配置中是否启用了 User-ID Authentication Portal。
* 特定接口管理配置文件上是否启用了响应页面。
* 该服务是否可从所有不受信任的网络访问。
* 是否启用了 Threat Prevention 签名。
* 目标是否实际可被利用。
* 目标是否已被入侵。
该结果应被视为暴露和分类信号,而不是可利用性的证明。
## 建议的后续检查
如果工具报告 `POSSIBLE_EXPOSED_AUTH_PORTAL`、`LIKELY_EXPOSED_AUTH_PORTAL` 或 `HIGH`,请在 PAN-OS 设备上检查以下内容:
* 确认已安装的 PAN-OS 版本。
* 确认是否启用了 User-ID Authentication Portal / Captive Portal。
* 确认是否在可从不受信任网络访问的接口上启用了响应页面。
* 确认该服务是否可从 Internet 或其他不受信任的区域访问。
* 确认是否已安装并启用相关的 Threat Prevention 内容和签名。
* 查看系统、威胁和流量日志,查找发往与门户相关路径的异常请求。
* 应用供应商推荐的已修复版本或缓解措施。
## 官方信息链接
* Palo Alto Networks 关于 CVE-2026-0300 的安全公告:
[https://security.paloaltonetworks.com/CVE-2026-0300](https://security.paloaltonetworks.com/CVE-2026-0300)
* Palo Alto Networks 安全公告门户:
[https://security.paloaltonetworks.com/](https://security.paloaltonetworks.com/)
* CISA 已知被利用漏洞目录:
[https://www.cisa.gov/known-exploited-vulnerabilities-catalog](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
* NIST 国家漏洞数据库条目:
[https://nvd.nist.gov/vuln/detail/CVE-2026-0300](https://nvd.nist.gov/vuln/detail/CVE-2026-0300)
## 备注
在做出生产决策之前,请务必验证最新的供应商公告。如果 Palo Alto Networks 修订了该公告,则应审查并更新本工具中受影响和已修复的版本表。
本工具仅供授权防御性使用。
标签:Captive Portal, CVE-2026-0300, GlobalProtect, HTTP(S)探测, Maven, Palo Alto Networks, PAN-OS, PA-Series, SEO检索词, User-ID Authentication Portal, VM-Series, 云原生安全, 安全合规, 安全防御验证, 密码管理, 插件系统, 检测规则, 漏洞应急响应, 漏洞验证, 红队评估, 缓冲区溢出, 编程工具, 网络代理, 网络安全, 网络安全审计, 网络资产发现, 资产暴露面审查, 越界写入, 远程代码执行, 逆向工具, 隐私保护, 非破坏性检测