
Pipeline de chasse aux bogues conscient de la portée pour CVE-2025-0133 (XSS réfléchi dans Palo Alto PAN-OS GlobalProtect). Shodan → correspondance de portée H1/BC → validation de canari sûr → brouillons de rapport.
Palo Alto PAN-OS XSS réfléchi dans la gateway et le portail GlobalProtect,
gestionnaire getconfig.esp. Le paramètre user est reflété non encodé
dans la page du portail captif ; un attaquant qui amène un utilisateur
GlobalProtect authentifié vers un lien conçu peut exécuter du JavaScript
dans le contexte de confiance du portail VPN d'entreprise, ce qui rend
les campagnes de phishing bien plus efficaces.
Divulgué en mai 2025. Corrigé dans PAN-SA-2025-0005. Découvert par XBOW, l'agent autonome de chasse aux bugs d'Anthropic. Cette boîte à outils est un portage du pipeline de validation initialement construit pour CVE-2020-3580 — même architecture, point d'accès différent, paramètre différent, cinq ans de CVE d'écart.
Ce dépôt contient :
xss.html — la preuve de concept vérifiable par un humain ; éditez
TARGET_HOST et ouvrez dans un navigateur pour voir l'invite s'afficher.src/ — un pipeline de découverte et de validation limité au scope.docs/ — méthodologie et éthique.┌──────────┐ ┌──────────────┐ ┌────────────────┐ ┌──────────────┐
│ Shodan │ → │ scope match │ → │ canary check │ → │ MD report │
│ (3 dorks)│ │ (H1, BC, +) │ │ (no JS exec) │ │ drafts │
└──────────┘ └──────────────┘ └────────────────┘ └──────────────┘
Chaque étape écrit un artefact JSON inspectable et s'exécute de manière indépendante.
Le validateur ne déclenche pas prompt(). Il GET
/ssl-vpn/getconfig.esp avec une chaîne canari unique dans le paramètre
user et évalue le corps de la réponse. Les confirmations positives
génèrent un brouillon Markdown avec le xss.html original référencé pour
que l'examinateur du programme puisse le vérifier dans son propre navigateur.
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 # ajoutez votre clé Shodan, éventuellement les tokens H1/BC
creds.env est dans le gitignore. Le fichier .gitignore bloque tout
fichier correspondant à *.env (sauf *.env.example), ainsi que data/
et reports/ pour que les listes de cibles et les extraits de validation
restent hors du dépôt public.
De bout en bout :
python -m src.pipeline run
Ou étape par étape :
python -m src.pipeline discover # Shodan → data/shodan_hits.json
python -m src.pipeline scope # correspondance → data/in_scope.json
python -m src.pipeline validate # canari → data/validation.json
python -m src.pipeline report # → reports/<host>__CVE-2025-0133.md
L'étape scope fonctionne sans aucune clé API — elle récupère depuis
arkadiyt/bounty-targets-data. L'ajout de H1_USERNAME + H1_API_TOKEN
dans creds.env et l'exécution de H1_LIVE=true python -m src.pipeline scope
enrichit cela avec des données fraîches issues de l'API HackerOne Hacker
(plus lent ; utile uniquement si vous soupçonnez qu'un résumé de programme
a changé aujourd'hui).
Tout se trouve dans creds.env. Voir creds.env.example pour la liste
complète. Les deux paramètres à connaître :
SCOPE_PLATFORMS — séparé par des virgules. Par défaut hackerone,bugcrowd.
Ajoutez intigriti et yeswehack pour une couverture plus large.TARGET_RPM — requêtes par minute par hôte. Par défaut 10. N'augmentez
pas sans raison.docs/ETHICS.md — ce que la correspondance de scope
autorise et n'autorise pas, et ce que le validateur ne fait délibérément pas.docs/METHODOLOGY.md — comment fonctionne
l'évaluation de la réflexion et pourquoi chaque étape existe.Pas un outil d'exploitation de masse. Pas un substitut à la lecture du résumé du programme sur la plateforme avant de soumettre. Le matcher de scope est un point de départ ; le texte de la politique est le contrat.
MIT. Voir LICENSE.