
تطبيق JavaScript تعليمي مستقل للاستغلال العام لـ CVE-2016-9079 (Firefox Use-After-Free)، مأخوذ من الوحدة الأصلية في Exploit-DB/Metasploit.
تنفيذ تعليمي للاستغلال العام لـ CVE-2016-9079، مأخوذ من الوحدة الأصلية في Exploit-DB/Metasploit لاستخدام مستقل.
إخلاء مسؤولية
هذا المستودع يُقدم لأغراض تعليمية وبحثية فقط. يحتوي على نسخة بلغة JavaScript من استغلال عام متاح لدراسة تقنيات استغلال المتصفحات التاريخية. ليس مخصصًا للاستخدام غير المصرح به ضد أنظمة لا تملكها أو ليس لديك إذن باختبارها.
يحتوي هذا المستودع على تنفيذ مستقل بلغة JavaScript للاستغلال العام لـ CVE-2016-9079، وهي ثغرة من نوع الاستخدام بعد التحرير (UAF) تؤثر على إصدارات قديمة من متصفح Mozilla Firefox.
توجد الثغرة داخل نظام الرسوم المتحركة SMIL (لغة تكامل الوسائط المتزامنة) في Firefox ويمكن أن تسمح بتنفيذ تعليمات برمجية عن بُعد في ظروف محددة.
على عكس الاستغلال العام الأصلي، الذي يُوزع كوحدة Metasploit، يوفر هذا المستودع تنفيذًا قائمًا على المتصفح يمكن تقديمه من خادم HTTP بسيط.
هذا المستودع مخصص كمرجع تعليمي تاريخي وليس كأداة استغلال حديثة.
أثناء التحضير لشهادة OSCP، صادفت جهازًا في CTF يعمل بإصدار قديم وضعيف من Firefox.
بعد الفحص، بدا أن استغلال المتصفح هو مسار تصعيد الامتيازات المقصود.
كان الاستغلال العام المتاح على Exploit-DB مطبقًا كوحدة Metasploit. نظرًا لأن اختبار OSCP يقيّد استخدام Metasploit، أردت نسخة مستقلة يمكن تشغيلها دون الإطار.
بعد البحث في الاستغلال العام، قمت بتكييفه في هذا التنفيذ بلغة JavaScript.
من المهم ملاحظة أن:
CVE: CVE-2016-9079
النوع: استغلال بعد التحرير (UAF)
المكون المتأثر: رسوم SMIL المتحركة في Firefox (nsSMILTimeContainer)
التأثير: تنفيذ تعليمات برمجية عن بُعد
يتم تشغيل الثغرة من خلال كائنات رسوم SVG متحركة مصممة خصيصًا تسبب حالة استغلال بعد التحرير داخل محرك الرسوم المتحركة في Firefox. ثم يقوم الاستغلال بمعالجة الكومة قبل تنفيذ سلسلة ROP لتحقيق تنفيذ التعليمات البرمجية.
يحافظ هذا المستودع على تقنية الاستغلال الموثقة علنًا لأغراض تعليمية.
index.htmlنقطة الدخول الرئيسية.
يحمّل مكونات JavaScript ويُشغّل الثغرة عند فتحه في إصدار متوافق من Firefox.
worker.jsيحتوي على معظم منطق الاستغلال، بما في ذلك:
التنفيذ مقتبس من الاستغلال العام المتاح.
README.mdوثائق تصف الثغرة والغرض من المستودع وطريقة الاستخدام.
لا يُتوقع أي توافق مع الإصدارات الأحدث من Firefox.

python3 -m http.server 8000
انتقل إلى:
http://<server-ip>:8000/index.html
من نسخة Firefox الضعيفة.

ملاحظة - قد تحتاج إلى تجربة الاستغلال عدة مرات.
هذا المستودع بسيط عمدًا ولا ينبغي اعتباره إطار استغلال عام.
مقارنةً بالتنفيذ الأصلي في Metasploit:
نتيجة لذلك، يجب استخدام هذا التنفيذ فقط في بيئات خاضعة للرقابة مع إصدارات متوافقة معروفة.
على الرغم من أنني لم أؤلف الاستغلال الأصلي، إلا أن تكييفه إلى تنفيذ مستقل وفر لي تعرضًا قيمًا لمفاهيم تشمل:
يكمل هذا المستودع عملي في أمن التطبيقات ومكافحة الثغرات بتوثيق جزء من عملية التحضير لـ OSCP.
يتم توزيع هذا المستودع للأغراض التعليمية فقط.
يعود الفضل في تقنية الاستغلال الأصلية إلى الباحثين والمؤلفين الأصليين للاستغلال العام. يقوم هذا المستودع فقط بتكييف التنفيذ المتاح علنًا إلى صيغة مستقلة للاستخدام التعليمي.