
ماسح ضعف الصندوق الأسود ومحلل مؤشرات الاختراق لـ CVE-2020-6287 (RECON) في تطبيقات SAP NetWeaver Java، مما يتيح تقييمًا سريعًا للتعرض وتحقيقًا جنائيًا قائمًا على السجلات.
RECON (Remotely Exploitable Code On NetWeaver) هي ثغرة حرجة (CVSSv3 10) تؤثر على عدد من تطبيقات SAP التجارية والتقنية التي تعمل فوق مكدس SAP NetWeaver Java. تم اكتشاف هذه الثغرة بواسطة مختبرات أبحاث Onapsis، والتي تعاونت بشكل وثيق مع SAP لتطوير وإصدار تصحيح في 14 يوليو 2020. نظرًا لخطورة هذه المشكلة، أصدرت وكالات حكومية مثل CISA التابعة لوزارة الأمن الداخلي الأمريكية و BSI CERT-Bund والعديد من الوكالات الأخرى تحذيرات لحث عملاء SAP على حماية التطبيقات الضعيفة، مع إعطاء الأولوية للتطبيقات المواجهة للإنترنت.
بعد ملاحظة نشاط خبيث كبير يستهدف RECON في البيئة الحقيقية، وبالنظر إلى عدد تطبيقات SAP الضعيفة المواجهة للإنترنت وحساسية البيانات والعمليات التي تدعمها هذه الأنظمة عادةً، قررت Onapsis تطوير وإصدار هذه الأداة مفتوحة المصدر في أسرع وقت ممكن. الهدف هو مساعدة فرق أمن المعلومات والإدارة لدى جميع عملاء SAP على حماية تطبيقاتهم الحيوية من خلال تمكينهم من تقييم تعرضهم وتقييم ما إذا كانت أنظمة SAP الخاصة بهم قد تعرضت للاختراق. نخطط لتطوير هذه الأداة بشكل أكبر مع ظهور معلومات استخباراتية جديدة عن التهديدات وبيانات الطب الشرعي يتم التقاطها من قبل منتجاتنا وفريق البحث والمجتمع الأوسع.
يمكن لهذه الأداة:
لا يمكن لهذه الأداة:
ومع ذلك، هناك العديد من القيود المعروفة لهذه الأداة ولا ينبغي اعتبار استخدامها ضمانًا بأن تطبيقات SAP ليست معرضة لثغرة RECON (وغيرها من الثغرات) أو أن التطبيقات لم يتم اختراقها. يمكن أن تؤثر عدة ظروف على حالة التطبيقات التي تم تقييمها و/أو ملفات السجل، مما يؤدي إلى نتائج إيجابية خاطئة و/أو سلبية خاطئة.
إذا تم تحديد مؤشرات اختراق (IoCs)، فمن المستحسن بشدة إجراء فحص طب شرعي معمق للأنظمة التي تم تقييمها (والأنظمة المترابطة)، لتحديد نطاق ومدى الاختراق المحتمل.
هذه الأداة متوفرة "كما هي" وبدون ضمان.
نسخة عبر الإنترنت بديلة
لمساعدة عملاء SAP في إجراء تقييم سريع ضد RECON للأنظمة المواجهة للإنترنت، قمنا أيضًا بتطوير نسخة مجانية عبر الإنترنت تدعم كلا حالتي الاستخدام. إذا كنت تفضل ذلك، يمكنك استخدام هذه الخدمة على https://recon.onapsis.com.
تم تطوير البرامج النصية في Python 3 وتتطلب منك تثبيت التبعيات التالية:
# python3 -m venv .venv
# . .venv/bin/activate
# pip install -r requirements.txt
بمجرد تثبيت التبعيات، يمكنك استخدام Python لتشغيل كلا البرنامجين والحصول على المساعدة من سطر الأوامر.
للكشف عن الثغرات، قم بتنفيذ البرنامج النصي التالي:
# python3 RECON_CVE-2020-6287_vuln_scanner.py -h
يجب تنفيذ البرنامج النصي على نظام لديه اتصال شبكة مع تطبيق SAP المستهدف الذي يتم تحليله. يجب أن يكون منفذ HTTP(s) لخادم تطبيقات SAP NetWeaver JAVA قابلاً للوصول (أي، بالنسبة للمثيل 00، سيكون 50000 لـ HTTP، ولكن يمكن أن يكون مكشوفًا عبر وكيل/موازن تحميل و/أو يمكن الوصول إليه عبر منافذ TCP أخرى مثل 80 أو 443).
يجب عليك استخدام المعامل -u لتضمين عنوان URL صالح كمعامل لاختبار ثغرة RECON:
# python3 RECON_CVE-2020-6287_vuln_scanner.py -u http://myinternalportal.mycompany.com:50000/
يمكنك أيضًا استخدام المعامل -f لتقييم عناوين URL متعددة من خلال توفير ملف يحتوي على جميع عناوين URL المراد تحليلها:
# python3 RECON_CVE-2020-6287_vuln_scanner.py -f file_with_urls
يتم إرسال مخرجات التقييم إلى stdout. من الممكن تفريغها في ملف بالطريقة التالية:
# python3 RECON_CVE-2020-6287_vuln_scanner.py -f file_with_urls >> results
للكشف عن مؤشرات الاختراق، قم بتنفيذ البرنامج النصي التالي:
python3 RECON_CVE-2020-6287_ioc_scanner.py -h
يستقبل البرنامج النصي اسم ملف ويقوم بتحليله للبحث عن مؤشرات اختراق (IoCs) بناءً على استخدام تطبيق LM CTC. يتم قبول أنواع الملفات التالية:
applications_xx.y.log
الملفات المطلوبة موجودة في المجلد التالي:
Linux: /usr/sap/<SID>/<INSTANCE>/j2ee/cluster/server<X>/log/
Windows: \usr\sap\<SID>\<INSTANCE>\j2ee\cluster\server<X>\log\
responses_xx.y.trc
باستخدام تكوين التنسيق الافتراضي. إذا تم إجراء تغييرات على تكوين تنسيق السجل القياسي، فقد يفشل التحليل. في هذه الحالة، يجب تعديل التعبير النمطي الداخلي يدويًا ليعكس التنسيق الجديد. الملفات المطلوبة موجودة في المجلد التالي:
Linux: /usr/sap/<SID>/<INSTANCE>/j2ee/cluster/server<X>/log/system/httpaccess/
Windows: \usr\sap\<SID>\<INSTANCE>\j2ee\cluster\server<X>\log\system\httpaccess\
يمكنك تنفيذ البرنامج النصي لتحليل ملفات محددة باستخدام المعامل -f:
python3 RECON_CVE-2020-6287_ioc_scanner.py -f path_to_logfile
يمكنك استخدام برنامج bash لتشغيل البرنامج النصي ضد ملفات متعددة في نفس الوقت. على سبيل المثال، إذا كان الدليل الذي يحتوي على سجلات متعددة موجودًا في /tmp/sap_RECON_logs/، فسيبدو التنفيذ كالتالي:
path_to_log_folder="/tmp/sap_RECON_logs/";for log_file in `ls $path_to_log_folder`; do python RECON_CVE-2020-6287_ioc_scanner.py -f $path_to_log_folder/$log_file -o csv; done
فريق خبراء الأمن السيبراني في Onapsis متاح للإجابة على أي أسئلة متابعة أو لمساعدتك بشكل أكبر في الحصول على رؤية حول المؤشرات المحددة. يمكنك الاتصال بـ Onapsis على [email protected].