
Scope-bewusste Bug-Bounty-Pipeline für CVE-2025-0133 (Palo Alto PAN-OS GlobalProtect reflektiertes XSS). Shodan → H1/BC-Scope-Abgleich → sichere Canary-Validierung → Berichtsentwürfe.
Palo Alto PAN-OS: Reflektiertes XSS im getconfig.esp-Handler des GlobalProtect-Gateways und -Portals. Der user-Query-Parameter wird unkodiert in die Captive-Portal-Seite reflektiert; ein Angreifer, der einen authentifizierten GlobalProtect-Benutzer zu einem präparierten Link lockt, kann JavaScript im Vertrauenskontext des Unternehmens-VPN-Portals ausführen, was Phishing-Kampagnen weitaus effektiver macht.
Im Mai 2025 offengelegt. In PAN-SA-2025-0005 gepatcht. Entdeckt von XBOW, dem autonomen Bug-Jagd-Agenten von Anthropic. Dieses Toolkit ist ein Port der Validierungspipeline, die ursprünglich für CVE-2020-3580 gebaut wurde — gleiche Architektur, anderer Endpunkt, anderer Parameter, fünf Jahre zwischen den CVEs.
Dieses Repository enthält:
xss.html — der von Menschen verifizierbare PoC; TARGET_HOST bearbeiten
und im Browser öffnen, um zu sehen, wie der Prompt ausgelöst wird.src/ — eine Pipeline für Discovery und scope-bewusste Validierung.docs/ — Methodik und Ethik.┌──────────┐ ┌──────────────┐ ┌────────────────┐ ┌──────────────┐
│ Shodan │ → │ scope match │ → │ canary check │ → │ MD report │
│ (3 dorks)│ │ (H1, BC, +) │ │ (no JS exec) │ │ drafts │
└──────────┘ └──────────────┘ └────────────────┘ └──────────────┘
Jede Stufe schreibt ein inspizierbares JSON-Artefakt und läuft unabhängig.
Der Validator führt kein prompt() aus. Er ruft per GET /ssl-vpn/getconfig.esp
mit einer eindeutigen Canary-Zeichenkette im Parameter user ab und bewertet den
Response-Body. Bestätigte Treffer erhalten einen Markdown-Entwurf, der auf das
ursprüngliche xss.html verweist, damit der Programmprüfer es im eigenen Browser
verifizieren kann.
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 # add your Shodan key, optionally H1/BC tokens
creds.env ist gitignoriert. Die .gitignore blockiert jede Datei, die auf *.env passt
(außer *.env.example), sowie data/ und reports/, um Ziellisten
und Validierungsauszüge vom öffentlichen Repository fernzuhalten.
End-to-End:
python -m src.pipeline run
Oder stufenweise:
python -m src.pipeline discover # Shodan → data/shodan_hits.json
python -m src.pipeline scope # match → data/in_scope.json
python -m src.pipeline validate # canary → data/validation.json
python -m src.pipeline report # → reports/<host>__CVE-2025-0133.md
Die Stufe scope funktioniert ohne jegliche API-Schlüssel — sie bezieht ihre Daten
aus arkadiyt/bounty-targets-data. Wenn du H1_USERNAME + H1_API_TOKEN zu
creds.env hinzufügst und H1_LIVE=true python -m src.pipeline scope ausführst,
werden die Daten um frische Daten von der HackerOne-Hacker-API ergänzt (langsamer;
nur nützlich, wenn du vermutest, dass sich eine Programmbeschreibung heute geändert hat).
Alles befindet sich in creds.env. Die vollständige Liste findest du in
creds.env.example. Die beiden Stellschrauben, die du kennen solltest:
SCOPE_PLATFORMS — kommagetrennt. Standard ist hackerone,bugcrowd. Füge
intigriti und yeswehack hinzu, wenn du eine breitere Abdeckung möchtest.TARGET_RPM — Anfragen pro Minute pro Host. Standard: 10. Erhöhe ihn nicht
ohne Grund.docs/ETHICS.md — was der Scope-Abgleich autorisiert und was nicht,
und was der Validator bewusst nicht tut.docs/METHODOLOGY.md — wie die Reflexionsbewertung funktioniert
und warum es jede Stufe gibt.Kein Werkzeug zur Massen-Exploitation. Kein Ersatz dafür, die Programmbeschreibung auf der Plattform zu lesen, bevor man einreicht. Der Scope-Abgleich ist ein Ausgangspunkt; der Richtlinientext ist der Vertrag.
MIT. Siehe LICENSE.