Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2019-11708 — Windows 64-bit पर Firefox के विरुद्ध पूर्ण शोषण श्रृंखला (CVE-2019-11708 और CVE-2019-9810) | Kitploit
उपकरण/GitHubGitHub/0vercl0k/cve-2019-11708
शोषणवेब एप्लिकेशन शोषणपेलोड डेवलपमेंटArchived
GitHub0vercl0k/cve-2019-11708

CVE-2019-11708

Windows 64-bit पर Firefox के विरुद्ध पूर्ण शोषण श्रृंखला (CVE-2019-11708 और CVE-2019-9810)

रिपॉजिटरी देखें
624786 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2019-11708 और CVE-2019-9810 के लिए पूर्ण श्रृंखला शोषण

यह एक पूर्ण ब्राउज़र शोषण श्रृंखला (CVE-2019-11708 और CVE-2019-9810) है जो Windows 64-बिट पर Firefox को लक्षित करती है। यह सामग्री प्रक्रिया और मूल प्रक्रिया दोनों में कोड निष्पादन प्राप्त करने के लिए CVE-2019-9810 का उपयोग करती है और मूल प्रक्रिया को एक मनमाना URL पर ब्राउज़ करने के लिए धोखा देने के लिए CVE-2019-11708 का उपयोग करती है।

bigint

मैंने पहले A journey into IonMonkey: root-causing CVE-2019-9810 लेख और संबंधित github रिपॉजिटरी में CVE-2019-9810 के मूल-कारण और शोषण को कवर किया है।

CVE-2019-11708 को बुलेटिन mfsa2019-19 द्वारा ठीक किया गया है और इसे Mozilla बग ट्रैकर में Bug 1559858 निर्दिष्ट किया गया था। यहाँ समस्या का सारांश है:

root@kitploit:~
बाल और मूल प्रक्रियाओं के बीच Prompt:Open IPC संदेश के साथ पारित मापदंडों की अपर्याप्त जाँच के परिणामस्वरूप गैर-सैंडबॉक्स्ड मूल प्रक्रिया एक समझौता किए गए बाल प्रक्रिया द्वारा चुनी गई वेब सामग्री खोल सकती है। जब अतिरिक्त कमजोरियों के साथ जोड़ा जाता है तो यह उपयोगकर्ता के कंप्यूटर पर मनमाना कोड निष्पादित करने का परिणाम हो सकता है।

आप इस मुद्दे को संबोधित करने वाली प्रतिबद्धता यहाँ पा सकते हैं: Prompter.jsm में प्रॉम्प्ट ओपन कॉल्स को साफ करें।

समस्या का अवलोकन

समस्या का पूर्ण लेखन और शोषण में उपयोग की जाने वाली तकनीकों का वर्णन doar-e.github.io पर एक आगामी लेख में किया जाएगा।

संगठन

शोषण का Windows 19H2 64-बिट के विरुद्ध परीक्षण किया गया है और यह Firefox के एक कस्टम बिल्ड को लक्षित करता है, इसलिए आश्चर्यचकित न हों यदि इसे कहीं और काम करने के लिए थोड़ा काम करना पड़े :)। हालाँकि, यदि आप बिना कुछ संकलित किए शोषण चलाना चाहते हैं, तो मैंने एक पैकेज्ड ब्राउज़र तैयार किया है जिसे मैंने release/firefox-68.0a1.en-US.win64.7z में अपलोड किया है। इसमें js.exe शेल के साथ-साथ js.exe, firefox.exe और xul.dll के लिए निजी प्रतीक जानकारी भी शामिल है।

शोषण मानता है कि Firefox में BigInt के लिए समर्थन चालू है, जिसे आप about:config में javascript.options.bigint को टॉगल करके कर सकते हैं।

bigint

शोषण प्रक्रिया विशेषाधिकार प्राप्त JS निष्पादन उर्फ गॉड मोड प्राप्त करने के लिए डेटा भ्रष्टाचार का उपयोग करती है (जो मूल रूप से Pwn2Own2014 में उपयोग की गई एक तकनीक Jüri Aedla द्वारा कार्यान्वयन है) जो उस तरीके से बहुत अलग (और अधिक सुविधाजनक) है जिसमें मैंने CVE-2019-9810 का शोषण किया था। इसका मतलब है कि शोषण श्रृंखला के दौरान कोई नियंत्रण-प्रवाह अपहरण नहीं होता है।

  1. शोषण गॉड मोड डेटा भ्रष्टाचार करने के लिए CVE-2019-9810 का उपयोग करता है और वर्तमान पृष्ठ को ताज़ा करता है।
  2. एक बार जब यह विशेषाधिकार प्राप्त JS निष्पादित कर सकता है, तो यह वर्तमान फ्रेम संदेश प्रबंधक ढूंढता है और CVE-2019-11708 को ट्रिगर करता है।
  3. अब जब मूल प्रक्रिया ने हमारे मनमाने पृष्ठ पर विज़िट किया है, तो हम फिर से CVE-2019-9810 का शोषण करते हैं और वहाँ भी विशेषाधिकार प्राप्त JS निष्पादन प्राप्त करते हैं।
  4. इस बिंदु पर पूरा ब्राउज़र (सैंडबॉक्स सहित) समझौता हो जाता है। पहला चरण एक स्थानीय पेलोड डाउनलोड और छोड़ना है जिसे slimeshady.exe कहा जाता है जिसे आप payload/ में पा सकते हैं, जो GDI के साथ डेस्कटॉप पर एनिमेटेड Slime shady स्प्राइट का एक गुच्छा बनाता है। शोषण प्रत्येक टैब में एक फ्रेम स्क्रिप्ट (विशेषाधिकार प्राप्त JS) ड्रॉप और इंजेक्ट भी करता है ताकि पूरे नेविगेशन को बैकडोर किया जा सके (पहले से बनाए गए टैब भी और नए बनाए गए टैब भी)। टैब बैकडोरिंग प्रभाव में CVE-2019-9810/payload के समान है (प्रत्येक टैब में मनमाना JS इंजेक्ट किया जाता है), लेकिन इस बार इसे हैकी और गंदे हुक के बजाय Firefox सुविधा (Services.mm.loadFrameScript) का उपयोग करके कार्यान्वित किया गया है।

वास्तव में, बहुत सी सूक्ष्म विवरण हैं जो ऊपर वर्णित नहीं हैं और इसलिए यदि आप रुचि रखते हैं तो आपको सत्य खोजने और स्रोतों/भविष्य के लेख को पढ़ने के लिए आमंत्रित किया जाता है :)।

अद्यतन 13 जून 2020: @rtfingc / Issue #1 के अनुसार, Mozilla ने 10 फरवरी 2020 की एक प्रतिबद्धता के साथ इस शोषण में प्रस्तुत डेटा भ्रष्टाचार को कम किया है: Bug 1602485।

पेलोड बनाना

पेलोड बनाने के लिए, आपको बस VS 2017 x64 प्रॉम्प्ट से nmake चलाना होगा।

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\bin निर्देशिका के अंदर एक payload.exe / payload.pdb फ़ाइल बनाता है।

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
टूल डाउनलोड करें