
CVE-2025-0133(Palo Alto PAN-OS GlobalProtect 반사형 XSS)용 범위 인식 버그 바운티 파이프라인. Shodan → H1/BC 범위 매칭 → 안전한 카나리아 검증 → 보고서 초안.
Palo Alto PAN-OS GlobalProtect 게이트웨이 및 포털의 getconfig.esp 핸들러에서 발견된 반사형 XSS 취약점입니다. user 쿼리 매개변수가 Captive Portal 페이지에 인코딩되지 않고 반영됩니다. 인증된 GlobalProtect 사용자를 조작된 링크로 유인한 공격자는 기업 VPN 포털의 신뢰 컨텍스트에서 JavaScript를 실행할 수 있으므로 피싱 캠페인이 훨씬 더 효과적이게 됩니다.
2025년 5월에 공개되었습니다. PAN-SA-2025-0005에서 패치되었습니다. XBOW, Anthropic의 자율 버그 사냥 에이전트가 발견했습니다. 이 툴킷은 원래 CVE-2020-3580을 위해 구축된 검증 파이프라인을 이식한 것입니다. 동일한 아키텍처, 다른 엔드포인트, 다른 매개변수, 5년의 CVE 차이가 있습니다.
이 저장소에는 다음이 포함됩니다:
xss.html — 사람이 확인 가능한 PoC; TARGET_HOST를 편집하고 브라우저에서 열면 프롬프트가 실행되는 것을 볼 수 있습니다.src/ — 발견 및 범위 인식 검증 파이프라인.docs/ — 방법론 및 윤리.┌──────────┐ ┌──────────────┐ ┌────────────────┐ ┌──────────────┐
│ Shodan │ → │ 범위 매칭 │ → │ 카나리 확인 │ → │ MD 보고서 │
│ (3 dorks)│ │ (H1, BC, +) │ │ (JS 실행 없음) │ │ 초안 작성 │
└──────────┘ └──────────────┘ └────────────────┘ └──────────────┘
각 단계는 검사 가능한 JSON 아티팩트를 작성하며 독립적으로 실행됩니다.
검증기는 prompt()를 실행하지 않습니다. user 매개변수에 고유한 카나리 문자열을 사용하여 /ssl-vpn/getconfig.esp에 GET 요청을 보내고 응답 본문을 평가합니다. 확인된 히트는 프로그램 리뷰어가 자신의 브라우저에서 확인할 수 있도록 원본 xss.html을 참조한 Markdown 초안을 생성합니다.
git clone https://github.com/cruxN3T/CVE-2025-0133
cd CVE-2025-0133
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp creds.env.example creds.env
$EDITOR creds.env # Shodan 키, 선택적으로 H1/BC 토큰 추가
creds.env는 gitignore 처리됩니다. .gitignore는 *.env(단, *.env.example 제외)와 일치하는 모든 파일과 data/ 및 reports/를 차단하여 대상 목록 및 검증 발췌문을 공개 저장소에서 보호합니다.
전체 과정:
python -m src.pipeline run
또는 단계별:
python -m src.pipeline discover # Shodan → data/shodan_hits.json
python -m src.pipeline scope # 매칭 → data/in_scope.json
python -m src.pipeline validate # 카나리 → data/validation.json
python -m src.pipeline report # → reports/<host>__CVE-2025-0133.md
scope 단계는 API 키 없이도 작동합니다. arkadiyt/bounty-targets-data에서 데이터를 가져옵니다. creds.env에 H1_USERNAME + H1_API_TOKEN을 추가하고 H1_LIVE=true python -m src.pipeline scope를 실행하면 HackerOne Hacker API에서 새로운 데이터를 추가로 가져옵니다(속도가 느리며, 오늘 프로그램 브리프가 변경되었다고 의심되는 경우에만 유용합니다).
모든 설정은 creds.env에 있습니다. 전체 목록은 creds.env.example을 참조하세요. 알아두면 좋은 두 가지 설정:
SCOPE_PLATFORMS — 쉼표로 구분. 기본값은 hackerone,bugcrowd입니다. 더 넓은 범위를 원하면 intigriti 및 yeswehack을 추가하세요.TARGET_RPM — 호스트당 분당 요청 수. 기본값은 10입니다. 이유 없이 높이지 마세요.docs/ETHICS.md — 범위 매칭이 허용하는 것과 허용하지 않는 것, 그리고 검증기가 의도적으로 수행하지 않는 작업에 대해 설명합니다.docs/METHODOLOGY.md — 반영 평가가 작동하는 방식과 각 단계가 존재하는 이유에 대해 설명합니다.대규모 악용 도구가 아닙니다. 제출 전에 플랫폼에서 프로그램 브리프를 읽는 것을 대체하지 않습니다. 범위 매처는 시작점일 뿐이며, 정책 텍스트가 계약입니다.
MIT. LICENSE를 참조하세요.