
비파괴적 노출 조사 도구로, CVE-2026-0300과 관련된 PAN-OS User-ID 인증 포털 표면을 평가하며, 안전한 HTTP(S) 점검과 버전 기반 위험 평가를 수행합니다.
이 도구는 대상 PAN-OS 서비스가 CVE-2026-0300과 관련된 네트워크 접근 가능 표면을 노출할 수 있는지 평가하기 위한 비파괴적 노출 조사 유틸리티입니다.
이 도구는 승인된 방어적 보안 검증, 자산 노출 검토, 취약점 분류를 위해 설계되었습니다. 취약점을 악용하지 않으며, 메모리 손상 페이로드를 전송하지 않으며, 대상 장치를 충돌시키거나 손상시키려 시도하지 않습니다.
이 도구는 다음 관련 노출 평가를 위해 설계되었습니다:
Palo Alto Networks에 따르면, CVE-2026-0300은 User-ID 인증 포털이 활성화되고 신뢰할 수 없는 네트워크에서 접근 가능한 PAN-OS 배포에 영향을 미칩니다. PA 시리즈 및 VM 시리즈 방화벽이 영향을 받을 수 있습니다. Prisma Access, Cloud NGFW 및 Panorama는 공식 권고에서 영향을 받지 않는 것으로 명시되어 있습니다.
이 도구는 대상이 PAN-OS 포털 관련 서비스를 노출하는지 식별하기 위해 안전한 네트워크 및 HTTP(S) 수준 검사를 수행합니다.
다음을 확인합니다:
--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가 아닌 응답은 포털 관련 핸들러가 스캐너 호스트에서 연결 가능함을 나타낼 수 있습니다.
이 도구는 응답 헤더, 제목, 리디렉션, 쿠키 및 응답 본문 샘플에서 가벼운 텍스트 지표를 찾습니다.
지표 예시:
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 장치에서 다음을 검토하십시오:
CVE-2026-0300에 대한 Palo Alto Networks 보안 권고: 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 | 수집된 증거가 확실한 결합 평가를 하기에 충분하지 않습니다. |