
비파괴적 노출 조사 도구로, 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
| 옵션 | 설명 |
|---|---|
-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 | 스캐너 호스트가 대상 포트에 연결할 수 없습니다. |
| 신뢰도 | 의미 |
|---|---|
HIGH | 포털 관련 5xx/2xx/3xx 응답 또는 여러 포털 경로가 404가 아닌 응답을 반환하는 등 강력한 외부 지표가 관찰되었습니다. |
MEDIUM | 일부 포털 또는 응답 페이지 지표가 관찰되었지만, 서비스를 확실하게 식별할 수 없습니다. |
LOW | 서비스에 연결할 수 있지만, 제품 또는 포털 증거가 약합니다. |