
تحديد الإصدار الجاري على جدار حماية شبكة Palo Alto لبوابة GlobalProtect
تحديد الإصدار قيد التشغيل على جدار الحماية من Palo Alto Network لبوابة Global Protect
مؤخرًا، تم الإعلان عن العديد من الثغرات الأمنية الحرجة من قبل Palo Alto Networks هنا: https://security.paloaltonetworks.com/?severity=CRITICAL&product=PAN-OS&sort=-date
هذا دليل إثبات (PoC) لتحديد الإصدار المستخدم من قبل جدار الحماية، وذلك بفحص etag من مسح curl على أيقونة المفضلة (favicon) و login.esp.
المراجع:
تأثير CWE-78: https://cwe.mitre.org/data/definitions/78
عبر The Register: https://www.theregister.com/2020/07/09/palo_alto_fix/
عبر Vulmon: https://vulmon.com/searchpage?q=paloaltonetworks

التعليمات:
تأكد من وجود أحدث إصدار من Python3
العرض التوضيحي:
curl -skI https://example.com/global-protect/login.esp
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Connection: keep-alive ETag: "5e4c6-2f3g-5b650798"
لتحديد ذلك، يجب علينا إجراء بعض الفحص لـ etag لبعض عناوين URL. من خلال ذلك، سنقوم بجمع آخر 8 أحرف من Etag، وستكون بصيغة سداسية عشرية (hexadecimal)، لذا بتحويلها إلى نظام عشري (decimal)، ثم من وقت الحقبة (epoch time) إلى وقت قابل للقراءة البشرية، سنتمكن من فك تشفير الإصدار المستخدم، والتحقق مما إذا كان عرضة للثغرة أم لا لهذه الثغرة (حقن أوامر نظام التشغيل) التي أصدرتها Palo Alto Networks مؤخرًا.
لذا من مثال العرض التوضيحي، نحن مهتمون بآخر 8 أحرف:
5b650798
قم بتحويل هذا من سداسي عشري إلى عشري، ثم من وقت الحقبة العشري إلى وقت قابل للقراءة البشرية.
ستحصل على هذا: Sat Aug 4 04:55:36 EEST 2018
ثم تحقق مما إذا كان عرضة للثغرة بناءً على الإصدارات المعلن عنها.
سيحاول هذا القيام بذلك بمجرد تشغيله.
إخلاء مسؤولية قانوني استخدام هذه الأداة لاختبار أهداف دون موافقة متبادلة مسبقة غير قانوني. إنها مسؤولية المستخدم النهائي الامتثال لجميع القوانين المحلية والولائية والفيدرالية المعمول بها. يخلي المطورون مسؤوليتهم ولا يتحملون أي مسؤولية عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج.