
كود استغلال (Proof of Concept) لثغرة CVE-2020-7388، وهي ثغرة تنفيذ أوامر عن بُعد (RCE) بدون مصادقة بصلاحيات SYSTEM على خدمة AdxDSrv الخاصة بـ Sage X3.
كود استغلال لإثبات المفهوم (PoC) لـ CVE-2020-7388، وهو تنفيذ أوامر عن بُعد (RCE) غير مصادق عليه بصلاحيات SYSTEM على خدمة AdxDSrv في Sage X3
تعرض Sage X3 خدمة إدارية على المنفذ TCP/1818 (الافتراضي، لكنه قابل للتغيير) ضمن العملية "AdxDSrv.exe"، وهي جزء من مكوّن AdxAdmin. تُستخدم هذه الخدمة للإدارة عن بُعد لنظام Sage ERP من خلال Sage X3 Console. تسمح ثغرة داخل الخدمة لمهاجم خبيث بصياغة طلب إلى الخدمة المكشوفة لتنفيذ أوامر على الخادم كمستخدم "NT AUTHORITY/SYSTEM".
يمكن العثور على شرح مفصّل للاستغلال في منشورنا الأصلي على مدونة Rapid7: https://www.rapid7.com/blog/post/2021/07/07/cve-2020-7387-7390-multiple-sage-x3-vulnerabilities/
تعمل AdxDSrv على منفذ TCP/1818 افتراضيًا، وتُدرج كخدمة غير معروفة في Namp. يحتوي هذا المستودع على سكربتي NSE لتحديد الخدمات المعرّضة للخطر وخدمة AdxdSrv نفسها.
python3 adxsrv_bypass.py --cmd <command to run as SYSTEM> --ip <remote target> --port <port of AdxDSrv service>
ملاحظة: هذا إثبات مفهوم تقريبي يرسل تدفقات بايت بترتيب محدد، وقد يحتاج إلى بعض التعديلات. لقد منعنا وقتنا المحدود مع الوصول إلى البرنامج من إجراء الضبط الدقيق للاستغلالات. إذا واجهت مثيلًا معرّضًا للخطر وأصلحت إثبات المفهوم، فيرجى إرسال طلب سحب (PR)! أو إذا كنت تحاول إصلاحه وترغب في التعاون، فلا تتردد في التواصل معنا.
خلال اختبار اختراق للشبكة في عام 2020، حدد Cale Black ثغرات جديدة في لوحة الإدارة على الويب لنظام Sage X3 ERP. مما دفع إلى إجراء مزيد من التحقيق في التطبيق بمشاركة كل من Jonathan peterson (@deadjakk) وAaron Herndon (@ac3lives) وCale Black وRyan Villarreal (@XjCrazy09) وWilliam Vu. تعمقنا في الأمر وحددنا خدمة AdxDSrv المخصصة من Sage X3، والتي كانت تُستخدم للإدارة عن بُعد. بعد بعض الهندسة العكسية (reversing) والاختبار العشوائي (fuzzing)، توصلنا إلى أربعة CVEs، كان أحدها تنفيذ أوامر عن بُعد غير مصادق عليه بتقييم CVSS10. تحية كبيرة لمن حمل العبء الأكبر هنا، @Deadjakk، على الكثير من الهندسة العكسية والنماذج الأولية لإثبات المفهوم.