Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-11708 — سلسلة استغلال كاملة (CVE-2019-11708 & CVE-2019-9810) ضد متصفح Firefox على ويندوز 64 بت. | Kitploit
أدوات/GitHubGitHub/0vercl0k/cve-2019-11708
الاستغلالاستغلال تطبيقات الويبتطوير الحمولاتArchived
GitHub0vercl0k/cve-2019-11708

CVE-2019-11708

سلسلة استغلال كاملة (CVE-2019-11708 & CVE-2019-9810) ضد متصفح Firefox على ويندوز 64 بت.

عرض المستودع
62478منذ 6 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

سلسلة استغلال كاملة لـ CVE-2019-11708 و CVE-2019-9810

هذه سلسلة استغلال كاملة للمتصفح (CVE-2019-11708 و CVE-2019-9810) تستهدف Firefox على Windows 64-bit. تستخدم CVE-2019-9810 للحصول على تنفيذ كود في كل من عملية المحتوى وعملية الأصل، و CVE-2019-11708 لخداع عملية الأصل للتصفح إلى URL عشوائي.

bigint

لقد قمت بتغطية السبب الجذري واستغلال CVE-2019-9810 سابقًا في مقال A journey into IonMonkey: root-causing CVE-2019-9810 وفي مستودع github المرتبط.

تم إصلاح CVE-2019-11708 بواسطة النشرة mfsa2019-19 وتم تعيينها Bug 1559858 في متتبع أخطاء Mozilla. إليك ملخص المشكلة:

root@kitploit:~
عدم كفاية التدقيق للمعلمات المُرسلة مع رسالة IPC Prompt:Open بين العمليات
الفرعية والأصلية يمكن أن يؤدي إلى فتح عملية الأصل غير المحصنة لمحتوى ويب
يختاره عملية فرعية مخترقة. عند دمجها مع ثغرات إضافية، قد يؤدي ذلك إلى
تنفيذ كود عشوائي على جهاز المستخدم.

يمكنك العثور على الالتزام الذي يعالج المشكلة هنا: Clean up prompt open calls in Prompter.jsm.

نظرة عامة على المشكلة

سيتم وصف كتابة كاملة للمشكلة بالإضافة إلى التقنيات المستخدمة في الاستغلال في مقال قادم على doar-e.github.io.

التنظيم

تم اختبار الاستغلال ضد Windows 19H2 64-bit ويستهدف بناءً مخصصًا لـ Firefox، لذا لا تتفاجأ إذا تطلب الأمر بعض العمل لجعله يعمل في مكان آخر :). ومع ذلك، إذا كنت ترغب فقط في تشغيل الاستغلال دون تجميع أي شيء، فقد أعددت متصفحًا محزمًا قمت برفعه في release/firefox-68.0a1.en-US.win64.7z. يتضمن أيضًا صدفة js.exe بالإضافة إلى معلومات الرموز الخاصة لـ js.exe و firefox.exe و xul.dll.

يفترض الاستغلال أن دعم BigInt مفعل في Firefox، ويمكنك فعل ذلك عن طريق تبديل javascript.options.bigint في about:config.

bigint

تستخدم عملية الاستغلال تلف البيانات للحصول على تنفيذ JS مميز يُعرف باسم God Mode (وهو في الأساس تطبيق لتقنية مستخدمة في Pwn2Own2014 بواسطة Jüri Aedla) وهو مختلف جدًا (وأكثر ملاءمة) عن الطريقة التي استغليت بها CVE-2019-9810. هذا يعني أنه لا يوجد اختطاف لتدفق التحكم أثناء سلسلة الاستغلال.

  1. يستخدم الاستغلال CVE-2019-9810 لتنفيذ تلف بيانات God Mode وتحديث الصفحة الحالية.
  2. بمجرد أن يتمكن من تنفيذ JS مميز، يجد مدير رسائل الإطار الحالي ويُشغل CVE-2019-11708.
  3. الآن بعد أن زارت عملية الأصل صفحتنا العشوائية، نستغل CVE-2019-9810 مرة أخرى ونحصل على تنفيذ JS مميز هناك أيضًا.
  4. في هذه المرحلة، يكون المتصفح بأكمله (بما في ذلك الصندوق الرملي) مخترقًا. المرحلة الأولى هي تنزيل وإسقاط حمولة محلية تُسمى slimeshady.exe والتي يمكنك العثور عليها في payload/ والتي ترسم مجموعة من صور Slime shady المتحركة على سطح المكتب باستخدام GDI. يقوم الاستغلال أيضًا بإسقاط وحقن نص إطار (JS مميز) في كل علامة تبويب لاختراق التنقل بالكامل (العلامات الموجودة بالفعل وكذلك الجديدة). اختراق العلامات مشابه لـ CVE-2019-9810/payload في التأثير (حقن JS عشوائي في كل علامة تبويب)، ولكن هذه المرة تم تنفيذه باستخدام ميزة Firefox (Services.mm.loadFrameScript) بدلاً من الخطافات القذرة وغير النظيفة.

في الواقع، هناك الكثير من التفاصيل الدقيقة غير الموصوفة أعلاه، لذا إذا كنت مهتمًا، فأنت مدعو للبحث عن الحقيقة وقراءة المصادر / المقال المستقبلي :).

تحديث 13 يونيو 2020: وفقًا لـ @rtfingc / Issue #1، قامت Mozilla بالتخفيف من تلف البيانات المُقدم في هذا الاستغلال بواسطة التزام من 10 فبراير 2020: Bug 1602485.

بناء الحمولة

لبناء الحمولة، كل ما عليك فعله هو تشغيل nmake من موجه VS 2017 x64.

root@kitploit:~
CVE-2019-11708\payload>nmake

Microsoft (R) Program Maintenance Utility Version 14.16.27034.0
Copyright (C) Microsoft Corporation.  All rights reserved.

        taskkill /f /im payload.exe
ERROR: The process "payload.exe" not found.
        if not exist .\bin mkdir bin
        python src\genheaders.py sprites
        cl /O1 /nologo /ZI /W3 /D_AMD64_ /DWIN_X64 /sdl /Febin\payload.exe src\payload.cc /link /nologo /debug:full user32.lib
payload.cc
        del *.obj *.pdb *.idb
        if exist .\bin del bin\*.exp bin\*.ilk bin\*.lib
        start .\bin\payload.exe

ينشئ هذا ملف payload.exe / payload.pdb داخل دليل payload\bin.

بناء Firefox

كتبت هذا الاستغلال ضد بناء محلي لنظام Windows متزامن مع معرف المراجعة التالي: 2abb636ad481768b7c88619080cf224b2c266b2d (إذا كنت لا ترغب في بنائه بنفسك، فقد قمت برفع بنائي هنا: release/firefox-68.0a1.en-US.win64.7z):

root@kitploit:~
$ hg --debug id -i
2abb636ad481768b7c88619080cf224b2c266b2d

وقد استخدمت ملف mozconfig التالي:

root@kitploit:~
. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"

ac_add_options --disable-crashreporter
ac_add_options --enable-debug-symbols

. "$topsrcdir/build/mozconfig.clang-cl"
. "$topsrcdir/build/mozconfig.lld-link"

# Use the clang version in .mozbuild
CLANG_LIB_DIR="$(cd ~/.mozbuild/clang/lib/clang/*/lib/windows && pwd)"
export LIB=$LIB:$CLANG_LIB_DIR

ac_add_options --enable-js-shell
ac_add_options --enable-jitspew
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-ff64
تنزيل الأداة