
Конвейер bug bounty с учетом области действия для CVE-2025-0133 (отраженный XSS в Palo Alto PAN-OS GlobalProtect). Shodan → сопоставление области H1/BC → безопасная проверка канарейки → черновики отчетов.
Отражённый XSS в PAN-OS Palo Alto в шлюзе и портале GlobalProtect
обработчик getconfig.esp. Параметр запроса user отражается без кодирования
на страницу Captive Portal; злоумышленник, заманивший аутентифицированного
пользователя GlobalProtect на специально созданную ссылку, может выполнить JavaScript
в доверительном контексте корпоративного VPN-портала, что делает фишинговые кампании
гораздо более эффективными.
Раскрыто в мае 2025. Исправлено в PAN-SA-2025-0005. Обнаружено XBOW, автономным агентом поиска уязвимостей от Anthropic. Этот набор инструментов является портом конвейера валидации, первоначально созданного для CVE-2020-3580 — та же архитектура, другая конечная точка, другой параметр, пять лет разницы между CVE.
В этом репозитории:
xss.html — PoC, проверяемый человеком; отредактируйте TARGET_HOST и откройте в
браузере, чтобы увидеть срабатывание prompt.src/ — конвейер обнаружения и валидации с учётом scope.docs/ — методология и этика.┌──────────┐ ┌──────────────┐ ┌────────────────┐ ┌──────────────┐
│ Shodan │ → │ scope match │ → │ canary check │ → │ MD report │
│ (3 dorks)│ │ (H1, BC, +) │ │ (no JS exec) │ │ drafts │
└──────────┘ └──────────────┘ └────────────────┘ └──────────────┘
Каждый этап записывает проверяемый JSON-артефакт и выполняется независимо.
Валидатор не выполняет prompt(). Он делает GET-запрос к /ssl-vpn/getconfig.esp
с уникальной канареечной строкой в параметре user и оценивает тело ответа.
Подтверждённые совпадения получают черновик Markdown с указанием исходного xss.html
для проверки программой-рецензентом в собственном браузере.
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. Добавление H1_USERNAME + H1_API_TOKEN в
creds.env и запуск 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 — что сопоставление scope разрешает, а что нет,
и что валидатор сознательно не делает.docs/METHODOLOGY.md — как работает оценка отражения
и зачем нужен каждый этап.Не инструментом массовой эксплуатации. Не заменой чтения краткого описания программы на платформе перед отправкой. Матчер scope — это отправная точка; текст политики — это контракт.
MIT. См. LICENSE.