
Pipeline de bug bounty ciente de escopo para CVE-2025-0133 (XSS refletido no Palo Alto PAN-OS GlobalProtect). Shodan → correspondência de escopo H1/BC → validação segura com canário → rascunhos de relatório.
XSS refletido no Palo Alto PAN-OS no gateway e portal do GlobalProtect
no manipulador getconfig.esp. O parâmetro de consulta user é refletido sem codificação na página do Captive Portal; um atacante que atrai um usuário autenticado do GlobalProtect para um link manipulado pode executar JavaScript no contexto de confiança do portal VPN corporativo, o que torna as campanhas de phishing muito mais eficazes.
Divulgado em maio de 2025. Corrigido no PAN-SA-2025-0005. Descoberto por XBOW, agente autônomo de caça a bugs da Anthropic. Este kit de ferramentas é uma adaptação do pipeline de validação originalmente construído para o CVE-2020-3580 — mesma arquitetura, endpoint diferente, parâmetro diferente, cinco anos de CVEs de diferença.
Este repositório contém:
xss.html — o PoC verificável por humanos; edite TARGET_HOST e abra em um navegador para ver o prompt disparar.src/ — um pipeline de descoberta + validação ciente de escopo.docs/ — metodologia e ética.┌──────────┐ ┌──────────────┐ ┌────────────────┐ ┌──────────────┐
│ Shodan │ → │ scope match │ → │ canary check │ → │ MD report │
│ (3 dorks)│ │ (H1, BC, +) │ │ (no JS exec) │ │ drafts │
└──────────┘ └──────────────┘ └────────────────┘ └──────────────┘
Cada estágio gera um artefato JSON inspecionável e é executado independentemente.
O validador não dispara prompt(). Ele faz GET de /ssl-vpn/getconfig.esp com uma string canary única no parâmetro user e avalia o corpo da resposta. Acertos confirmados recebem um rascunho em Markdown com o xss.html original referenciado para que o revisor do programa verifique em seu próprio navegador.
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 está no gitignore. O .gitignore bloqueia qualquer arquivo que corresponda a *.env (exceto *.env.example), além de data/ e reports/ para manter listas de alvos e trechos de validação fora do repositório público.
De ponta a ponta:
python -m src.pipeline run
Ou estágio por estágio:
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
O estágio scope funciona sem nenhuma chave de API — ele obtém dados de arkadiyt/bounty-targets-data. Adicionar H1_USERNAME + H1_API_TOKEN ao creds.env e executar H1_LIVE=true python -m src.pipeline scope complementa isso com dados frescos da HackerOne Hacker API (mais lento; só útil se você suspeitar que um resumo de programa mudou hoje).
Tudo fica em creds.env. Veja creds.env.example para a lista completa. Os dois parâmetros que valem a pena conhecer:
SCOPE_PLATFORMS — separado por vírgulas. Padrão: hackerone,bugcrowd. Adicione intigriti e yeswehack se quiser uma cobertura mais ampla.TARGET_RPM — requisições por minuto por host. Padrão: 10. Não aumente isso sem um motivo.docs/ETHICS.md — o que a correspondência de escopo autoriza e não autoriza, e o que o validador deliberadamente não faz.docs/METHODOLOGY.md — como funciona a avaliação de reflexão e por que cada estágio existe.Não é uma ferramenta de exploração em massa. Não substitui a leitura do resumo do programa na plataforma antes de enviar. O correspondente de escopo é um ponto de partida; o texto da política é o contrato.
MIT. Veja LICENSE.