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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
dtrace-memaccess_cve-2020-27949 — CVE-2020-27949 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो macOS प्रक्रियाओं में DTrace fasttrap ioctl के माध्यम से बिना ऊंची अनुमतियों के मनमाना मेमोरी रीड/राइट प्रदर्शित करता है। | Kitploit
उपकरण/GitHubGitHub/seemoo-lab/dtrace-memaccess_cve-2020-27949
विशेषाधिकार वृद्धिमेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणरेड टीमिंगबाइनरी शोषण
GitHubseemoo-lab/dtrace-memaccess_cve-2020-27949

dtrace-memaccess_cve-2020-27949

CVE-2020-27949 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो macOS प्रक्रियाओं में DTrace fasttrap ioctl के माध्यम से बिना ऊंची अनुमतियों के मनमाना मेमोरी रीड/राइट प्रदर्शित करता है।

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
33915 साल पहलेKitploit द्वारा समीक्षित

/dev/fasttrap का उपयोग करके अन्य प्रक्रियाओं की मेमोरी पढ़ना और लिखना

/dev/fasttrap उपकरण, जो pid और objc प्रदाताओं के लिए यूज़र-स्पेस प्रक्रियाओं में ट्रैप नोड बनाने के लिए है, की अनुमतियाँ 666 हैं। /dev/dtrace के विपरीत, जो भी 666 है, fasttrap में अनुमति जाँच का अभाव है। यह किसी भी प्रक्रिया को FASTTRAPIOC_MAKEPROBE या FASTTRAPIOC_GETINSTR ioctl जारी करने की अनुमति देता है।
एक हमलावर FASTTRAPIOC_MAKEPROBE का उपयोग करके किसी भी अन्य प्रक्रिया में किसी भी मेमोरी स्थान पर प्रोब बना सकता है। इन प्रोबों के सक्रिय होने पर, निर्दिष्ट मेमोरी स्थान पर मान को ट्रैप निर्देश (x86 पर 0xCC)) से बदल दिया जाता है और मूल मान को एक छाया मेमोरी में रखा जाता है। मूल मान को पुनः प्राप्त करना FASTTRAPIOC_GETINSTR` ioctl से संभव है। यह हमलावर को कई ट्रैप लगाकर किसी अन्य प्रक्रिया की मनमानी मेमोरी पढ़ने की अनुमति देता है।

इस कमजोरी को CVE-2020-27949 के रूप में ट्रैक किया गया है, macOS Big Sur 11.1, Security Update 2020-001 Catalina, Security Update 2020-007 Mojave में ठीक किया गया।

प्रकटीकरण समयरेखा

  • 2020-07-07 -> Apple Product Security को प्रारंभिक प्रकटीकरण।
  • 2020-07-08 <- जांच की पुष्टि।
  • 2020-10-28 -> स्थिति अद्यतन का अनुरोध।
  • 2020-12-07 <- आगामी अद्यतन के बारे में सूचना जो समस्या का समाधान करती है।
  • 2020-12-14 <- अद्यतन जारी किया गया।

आवश्यकताएँ

  • हमलावर सामान्य उपयोगकर्ता अनुमतियों (गैर-उन्नत) के साथ कोड निष्पादित कर सकता है
  • पीड़ित प्रक्रिया में प्रोब सक्षम होने चाहिए (अर्थात पीड़ित को DTrace के अंतर्गत चलाया जाना चाहिए)

परीक्षण किए गए सिस्टम कॉन्फ़िगरेशन

  • SIP चालू है (कोई अपवाद नहीं)
  • iMac Late 2012 पर 10.15.5
  • MacBook Pro 2020 पर 10.15.5

प्रभाव

  • हमलावर बिना उन्नत अनुमतियों के DTrace के अंतर्गत निष्पादित अन्य प्रक्रियाओं की मेमोरी पढ़ सकता है। रूट के रूप में चल रही प्रक्रियाओं से भी मेमोरी पढ़ना संभव है।
  • हमलावर बिना उन्नत अनुमतियों के DTrace के अंतर्गत निष्पादित अन्य प्रक्रियाओं के किसी भी मेमोरी स्थान पर ट्रैप निर्देश मान (x86 पर 0xCC`)) लिख सकता है। रूट के रूप में चल रही प्रक्रियाओं को भी मेमोरी लिखना संभव है। अन्य निर्देशों या जंप पतों के भाग के रूप में, पीड़ित के नियंत्रण प्रवाह को बदला जा सकता है, जिससे विशेषाधिकारों का उन्नयन संभव हो सकता है।

अपेक्षाएँ

एक उपयोगकर्ता के रूप में, मैं उम्मीद करता हूँ कि DTrace को सक्षम करने से केवल रूट अनुमतियों वाली प्रक्रियाओं को अन्य प्रक्रियाओं को ट्रेस, इंस्ट्रूमेंट या संशोधित करने की अनुमति मिलेगी। DTrace प्रशासनिक कार्यों के लिए एक मूल्यवान उपकरण है जो dtruss, iotop आदि जैसे उपकरण प्रदान करता है।

शोषण विवरण

हमारा पीड़ित (target) एक निष्पादन योग्य है जो रूट के रूप में चल रहा है। हमलावर (memaccess) एक निष्पादन योग्य है जो सामान्य उपयोगकर्ता अनुमतियों के साथ चल रहा है। ट्रेसिंग स्क्रिप्ट libc_monitor.d libsystem_c.dylib शेयर्ड ऑब्जेक्ट में फ़ंक्शनों के कॉल की संख्या रिकॉर्ड करती है (यह मशीन मालिक द्वारा चलाए जाने वाले एक प्रशासनिक स्क्रिप्ट का एक सरल उदाहरण है)।

  1. पीड़ित को निष्पादित किया जाता है
  2. हमलावर पीड़ित के PID और उनकी रुचि के मेमोरी स्थान के साथ एक प्रोब बनाता है।
  3. हमलावर DTrace द्वारा पीड़ित प्रक्रिया को ट्रेस करने की प्रतीक्षा करता है। यह एक प्रशासनिक संचालन के भाग के रूप में हो सकता है जहाँ मशीन मालिक पीड़ित प्रक्रिया में फ़ंक्शनों को ट्रेस करना चाहता है (उदा. libc_monitor.d)।
  4. जब DTrace पीड़ित को ट्रेस करना शुरू करता है, तो पहले बनाए गए प्रोब सक्षम हो जाएंगे, जिससे मूल मेमोरी मान बदल जाएंगे।
  5. हमलावर बनाए गए प्रोबों के मेमोरी मान पढ़ने के लिए FASTTRAPIOC_GETINSTR का उपयोग करता है।

चरण 4 पीड़ित प्रक्रिया में मेमोरी को ट्रैप निर्देश मान से बदल देता है। एप्लिकेशन के आधार पर, एक हमलावर इसका उपयोग एक महत्वपूर्ण मेमोरी स्थान पर पहले से ज्ञात मान लिखने के लिए कर सकता है। उदाहरण के लिए, हमलावर RNG के बीज को नियंत्रित कर सकता है या किसी प्रक्रिया में क्रिप्टोग्राफ़िक कुंजियों को बदल सकता है।

नोट: हमलावर को कभी भी उन्नत या रूट अनुमतियों की आवश्यकता नहीं होती है।
नोट 2: स्व-लिखित DTrace स्क्रिप्ट की आवश्यकता नहीं है। उदाहरण के लिए, dapptrace भी किसी भी फ़ंक्शन को ट्रेस करने के लिए pid प्रदाता का उपयोग करता है।

प्रस्तावित सुधार

/dev/fasttrap में /dev/dtrace की तरह विशेषाधिकार जाँच लागू करें या विश्व-लेखन योग्य अनुमति हटा दें।

नोट: हमने जारी किए गए सुधार की जाँच नहीं की।

निर्देश

  1. सुनिश्चित करें कि DTrace उपलब्ध है और सही ढंग से काम कर रहा है
  2. target चलाएँ और स्क्रीन पर दिए गए निर्देशों का पालन करें
टूल डाउनलोड करें