
خط أنابيب صيد الأخطاء (bug bounty) مدرك للنطاق لـ CVE-2025-0133 (ثغرة XSS منعكسة في Palo Alto PAN-OS GlobalProtect). Shodan → مطابقة نطاق H1/BC → التحقق الآمن من الكناري → مسودات التقارير.
انعكاس XSS في بوابة GlobalProtect ومدخل Palo Alto PAN-OS في معالج
getconfig.esp. يتم إرجاع معامل الاستعلام user غير مشفر إلى صفحة البوابة المحصورة (Captive Portal)؛ يمكن للمهاجم الذي يخدع مستخدم GlobalProtect مصادقًا إلى رابط مصمم خصيصًا تنفيذ لغة JavaScript في سياق الثقة لبوابة VPN المؤسسية، مما يجعل حملات التصيد أكثر فعالية بكثير.
تم الكشف عنها مايو 2025. تم تصحيحها في PAN-SA-2025-0005. اكتشفتها XBOW، وكيل Anthropic المستقل لصيد الثغرات. هذه المجموعة هي نقلة لخط أنابيب التحقق الذي تم بناؤه أصلاً لـ CVE-2020-3580 — نفس البنية، نقطة نهاية مختلفة، معامل مختلف، خمس سنوات تفصل بين الثغرات.
يحتوي هذا المستودع على:
xss.html — إثبات المفهوم (PoC) القابل للتحقق البشري؛ قم بتعديل TARGET_HOST وافتحه في متصفح لرؤية prompt() يظهر.src/ — خط أنابيب اكتشاف وتحقق مع مراعاة النطاق.docs/ — المنهجية والأخلاقيات.┌──────────┐ ┌──────────────┐ ┌────────────────┐ ┌──────────────┐
│ Shodan │ → │ scope match │ → │ canary check │ → │ MD report │
│ (3 dorks)│ │ (H1, BC, +) │ │ (no JS exec) │ │ drafts │
└──────────┘ └──────────────┘ └────────────────┘ └──────────────┘
كل مرحلة تكتب قطعة JSON قابلة للفحص وتعمل بشكل مستقل.
المتحقق لا ينفذ prompt(). فهو يقوم بـ GET على /ssl-vpn/getconfig.esp مع سلسلة فريدة من نوعها (canary) في معامل 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 مستبعد من git. ملف .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 # canary → 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 — ما تسمح به مطابقة النطاق وما لا تسمح به، وما يتجنبه المتحقق عمداً.docs/METHODOLOGY.md — كيف يعمل تقييم الانعكاس ولماذا توجد كل مرحلة.ليست أداة استغلال جماعي. ليست بديلاً عن قراءة ملخص البرنامج على المنصة قبل التقديم. مطابقة النطاق هي نقطة بداية؛ نص السياسة هو العقد.
MIT. راجع LICENSE.