该工具是一个非破坏性暴露调查工具,用于评估目标 PAN-OS 服务是否可能暴露与 CVE-2026-0300 相关的网络可访问面。
该工具旨在用于授权的防御性安全验证、资产暴露审查和漏洞分类。它不会利用该漏洞,不会发送内存破坏载荷,也不会尝试使目标设备崩溃或入侵。
该工具设计用于与以下内容相关的暴露评估:
根据 Palo Alto Networks 的说明,CVE-2026-0300 影响已启用 User-ID 认证门户且可从不受信任网络访问的 PAN-OS 部署。PA 系列和 VM 系列防火墙可能受影响。官方公告中列明 Prisma Access、Cloud NGFW 和 Panorama 不受影响。
该工具执行安全的网络和 HTTP(S) 级别检查,以识别目标是否暴露了与 PAN-OS 门户相关的服务。
它检查:
--scheme both 或 --scheme http 时的 HTTP 可达性。HEADGETOPTIONS//php/login.php/php/uid.php/php/uidlogin.php/sslmgr/global-protect/login.esp--pan-os-ver 进行可选的自我报告 PAN-OS 版本评估。HTTPS 证书验证默认禁用,因为 PAN-OS 管理和门户服务通常使用自签名或私有签发的证书。
该工具不会:
该工具仅提供外部网络可观察的暴露评估,如果提供了 --pan-os-ver,则提供基于自我报告版本的风险评估。
该工具有助于回答以下问题:
该工具检查扫描主机是否能够与指定目标和端口建立 TCP 连接。
示例发现:
tcp=True
https=True
这意味着目标端口可从扫描主机访问,并接受 HTTPS 连接。
该工具发送安全的 HTTP(S) 请求并记录响应状态码。
示例发现:
HTTPS HEAD /: HTTP/1.1 403 Forbidden
HTTPS GET /php/uid.php: HTTP/1.1 500 Internal Server Error
这意味着该服务可达并正在处理 HTTP(S) 请求。
该工具检查通常与 PAN-OS 门户或响应页面功能相关的路径。
示例:
/php/login.php
/php/uid.php
/php/uidlogin.php
这些路径返回非 404 响应可能表明门户相关的处理程序可从扫描主机访问。
该工具在响应头、标题、重定向、Cookie 和响应正文样本中查找轻量级文本指示器。
指示器示例:
palo alto
pan-os
globalprotect
captive portal
user-id
authentication portal
response page
这些指示器增加了暴露服务与 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
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
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--scheme both
默认情况下,该工具会探测所有安全的已知路径。
使用 --minimal 仅检查:
//php/login.phppython3 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
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
该工具产生三种主要类型的评估:
| 置信度 | 含义 |
|---|---|
HIGH | 观察到强外部指示器,例如门户相关的 5xx/2xx/3xx 响应或多个门户路径返回非 404 响应。 |
MEDIUM | 观察到一些门户或响应页面指示器,但无法高置信度地识别该服务。 |
LOW | 服务可达,但产品或门户证据较弱。 |
示例命令:
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
这意味着:
| 退出代码 | 含义 |
|---|---|
0 | 未检测到可能暴露的门户表面。 |
1 | 检测到可能或可能的暴露,或观察到暴露且版本状态未知/受影响。 |
2 | 输入错误,例如缺少目标或端口无效。 |
该工具无法仅通过网络确定所有内容。
它无法直接确认:
结果应被视为暴露和分类信号,而非可利用性的证明。
如果该工具报告 POSSIBLE_EXPOSED_AUTH_PORTAL、LIKELY_EXPOSED_AUTH_PORTAL 或 HIGH,请在 PAN-OS 设备上审查以下内容:
Palo Alto Networks CVE-2026-0300 安全公告: https://security.paloaltonetworks.com/CVE-2026-0300
Palo Alto Networks 安全公告门户: https://security.paloaltonetworks.com/
CISA 已知被利用漏洞目录: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
NIST 国家漏洞数据库条目: https://nvd.nist.gov/vuln/detail/CVE-2026-0300
在做出生产决策之前,始终验证最新的厂商公告。如果 Palo Alto Networks 修订公告,应审查并更新此工具中的受影响和已修复版本表。
该工具仅用于授权的防御性用途。
| 选项 | 描述 |
|---|
-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 文件。 |
| 暴露级别 | 含义 |
|---|
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 | 扫描主机无法到达目标端口。 |
| 状态 | 解读 |
|---|
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 | 收集的证据不足以进行高置信度的综合评估。 |