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, 云原生安全, 安全合规, 安全防御验证, 密码管理, 插件系统, 检测规则, 漏洞应急响应, 漏洞验证, 红队评估, 缓冲区溢出, 编程工具, 网络代理, 网络安全, 网络安全审计, 网络资产发现, 资产暴露面审查, 越界写入, 远程代码执行, 逆向工具, 隐私保护, 非破坏性检测