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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-28664-PoC — CVE-2021-28664 के लिए PoC skeleton, जो एक Mali kbase GPU driver use-after-free है, ARM64 Android पर kernel arbitrary physical memory read/write primitive को प्रदर्शित करता है। | Kitploit
उपकरण/GitHubGitHub/woaphone/cve-2021-28664-poc
एंड्रॉइड सुरक्षामेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणमोबाइल सुरक्षाहार्डवेयर और IoT सुरक्षापेपर और शोधलर्निंग और शिक्षाबाइनरी शोषण
GitHubwoaphone/cve-2021-28664-poc

CVE-2021-28664-PoC

CVE-2021-28664 के लिए PoC skeleton, जो एक Mali kbase GPU driver use-after-free है, ARM64 Android पर kernel arbitrary physical memory read/write primitive को प्रदर्शित करता है।

11घं 5मि पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

CVE-2021-28664-PoC

Mali kbase GPU ड्राइवर UAF (CVE-2021-28664) → कर्नेल मनमाना भौतिक मेमोरी पढ़ने/लिखने के प्रिमिटिव का PoC ढांचा। सामान्य ARM64 Android प्लेटफ़ॉर्म के लिए, किसी विशिष्ट विक्रेता या मॉडल से स्वतंत्र।

शोध का दायरा केवल "कर्नेल मनमाना भौतिक मेमोरी पढ़ने/लिखने के प्रिमिटिव" तक ही है: कैसे एक GPU ड्राइवर के use-after-free को स्थिर, नियंत्रित, और सुरक्षित रूप से विफल होने वाली कर्नेल मेमोरी पढ़ने/लिखने की क्षमता में बदला जाए।

यह रिपॉज़िटरी कोई हमला प्रदान नहीं करती। इसमें तैयार exploit, सीधे चलने योग्य कोड, या किसी भी डिवाइस के ऑफ़सेट/सीरियल नंबर/फ़र्मवेयर शामिल नहीं हैं; किसी भी सामग्री का उपयोग हमलावर गतिविधियों के लिए करना प्रतिबंधित है (नीचे देखें)।


अस्वीकरण / Disclaimer (अवश्य पढ़ें)

  1. यह रिपॉज़िटरी कोई हमला प्रदान नहीं करती। यह रिपॉज़िटरी भेद्यता के सिद्धांत और मेमोरी भ्रष्टाचार प्रिमिटिव का तकनीकी पुनरावलोकन है, इसमें केवल कार्यप्रणाली दस्तावेज़ और सभी डिवाइस मानों को खाली छोड़े गए शैक्षिक टेम्पलेट शामिल हैं। इसका उपयोग सीधे किसी भी डिवाइस पर हमला करने के लिए नहीं किया जा सकता।
  2. हमला प्रतिबंधित। इस रिपॉज़िटरी की सामग्री का उपयोग किसी भी अनधिकृत डिवाइस, दूसरों के डिवाइस, या किसी भी अवैध उद्देश्य के लिए करना सख्त वर्जित है; इससे उत्पन्न होने वाले सभी परिणामों की ज़िम्मेदारी उपयोगकर्ता की होगी, लेखक की नहीं।
  3. शोध प्रयोग केवल लेखक के स्वयं के स्वामित्व वाले डिवाइस पर किए गए, जिनका उद्देश्य भेद्यता पुनरुत्पादन और सुरक्षा शोध था।
  4. CVE-2021-28664 को 2021 में अपस्ट्रीम (Arm/Mali) द्वारा ठीक कर दिया गया था; प्रभावित वे पुराने ड्राइवर/पुराने फ़र्मवेयर हैं जो लंबे समय से अपडेट नहीं हुए। इस शोध का महत्व ऐतिहासिक भेद्यताओं के शोषण सिद्धांतों और रक्षात्मक दृष्टिकोण से पहचान के तरीकों को समझने में है।
  5. इस रिपॉज़िटरी की सामग्री "AS IS" आधार पर प्रदान की गई है, बिना किसी स्पष्ट या निहित वारंटी के।
  6. यदि आप किसी विक्रेता/सुरक्षा टीम का प्रतिनिधित्व करते हैं और अधिक विवरण चाहते हैं, तो कृपया GitHub के माध्यम से लेखक से संपर्क करें।

लागू होने का दायरा

तकनीकी रूप से लागू (शोषण श्रृंखला के प्रत्येक चरण के सत्य होने की पूर्व शर्तें)

तकनीकी रूप से लागू नहीं

  • CVE-2021-28664 को ठीक कर चुका Mali ड्राइवर (r संस्करण फ़िक्स के बाद);
  • गैर-Mali GPU प्लेटफ़ॉर्म (यह श्रृंखला kbase के alias/MMU-dump व्यवहार पर गहराई से निर्भर है);
  • pipe_buffer संरचना/copy_page_to_iter सत्यापन में बड़े अंतर वाले नए कर्नेल (5.x से संबंधित स्रोत कोड के अनुसार पुनः सत्यापन आवश्यक, श्रृंखला संरचना संदर्भ के लिए उपयोगी है परंतु विवरण सार्वभौमिक नहीं);
  • /dev/mali पहुँच अनुमति रहित वातावरण (seLinux/विक्रेता नीति प्रतिबंध)।

सीमा घोषणा

  • यह रिपॉज़िटरी केवल पढ़ने/लिखने के प्रिमिटिव को कवर करती है; प्रिमिटिव प्राप्त करने के बाद विशिष्ट कर्नेल लक्ष्य की पहचान, आगे का शोषण या प्रिविलेज एस्केलेशन, ये सभी इस रिपॉज़िटरी के दायरे से बाहर हैं।
  • सभी डिवाइस-संबंधित स्थिरांक टेम्पलेट में TODO(DEVICE) के रूप में खाली छोड़े गए हैं, अनुकूलन उपयोगकर्ता का स्वयं का रिवर्स इंजीनियरिंग कार्य है, रिपॉज़िटरी इसमें सहायता नहीं करती।

भेद्यता पृष्ठभूमि

CVE-2021-28664: Mali kbase ड्राइवर के MEM_ALIAS पथ में GPU_WR अनुमति की जाँच का अभाव है, हमलावर पहले से मुक्त किए गए GPU मेमोरी पेज को अपने GPU पता स्थान में alias कर सकता है, जिससे "GPU पक्ष से मुक्त भौतिक पेजों की निरंतर दृश्यता/लेखन क्षमता" बनती है——एक GPU/कर्नेल सीमा पार करने वाला use-after-free।

शोषण का मूल्य GPU मेमोरी में स्वयं नहीं, बल्कि इसमें है:

  1. मुक्त किए गए भौतिक पेज कर्नेल slab/buddy द्वारा कर्नेल ऑब्जेक्ट को पुनः आवंटित किए जाएंगे (इस शोध में pipe_buffer);
  2. GPU alias दृश्य अभी भी इन पेजों को देख सकता है → कर्नेल द्वारा उपयोग किए जा रहे ऑब्जेक्ट फ़ील्ड को पढ़/लिख सकता है;
  3. GPU WRITE_VALUE job की सहायता से alias में दृश्य पेजों पर लक्षित संशोधन किया जा सकता है।

इस शोध में कहाँ तक पहुँचे

root@kitploit:~
victim GPU बफ़र + MMU पेज टेबल dump → भौतिक पता मानचित्र स्थापित करें
  → trigger बफ़र मुक्ति से दबाव बनाएं → pipe स्प्रे (F_SETPIPE_SZ छोटा करें)
  → pipe_buffer सरणी मुक्त क्षेत्र में गिरे (क्रॉस-कैश UAF पुनःउपयोग)
  → alias दृश्य से ops पॉइंटर स्कैन करें → anon_pipe_buf_ops लीक करें → KASLR slide
  → GPU से pipe_buffer का page / offset / len संशोधित करें
  → वैध pipe read/write पथ की सहायता से
  ⇒ मनमाना भौतिक पेज पढ़ना (नकली page पॉइंटर)
  ⇒ मनमाना भौतिक पेज लिखना (pipe merge लेखन पथ)
  ⇒ ज्ञात सामग्री पेज से स्व-सत्यापन oracle बनाएं, सुनिश्चित करें कि पढ़ना/लिखना रिक्त/अमैप्ड क्षेत्र में न गिरे

यहीं तक।

प्रमुख तकनीकी बिंदु (प्रत्येक बिंदु का docs/ में स्वतंत्र अनुभाग है)

  • बहुस्तरीय सुरक्षा द्वार: किसी भी भौतिक पठन से पहले overlap / आत्म-संगति / contiguity / सामग्री स्व-सत्यापन आदि कई द्वारों से गुज़रना अनिवार्य है, किसी भी एक के विफल होने पर तुरंत स्थिति बहाल करके बाहर निकलें——यह पूरे शोध का सबसे महत्वपूर्ण इंजीनियरिंग अनुशासन है।
  • भौतिक पता मॉडल के जाल: GPU PTE सॉफ़्टवेयर फ़्लैग बिट संदूषण, भौतिक पता 32-बिट ट्रंकेशन, KASLR द्वारा कर्नेल इमेज के भौतिक आधार पते का भी यादृच्छिकीकरण, विक्रेता के page_to_virt कार्यान्वयन में अंतर, no-map आरक्षित क्षेत्र रैखिक मैपिंग में मौजूद ही नहीं होते (पढ़ने पर panic)।
  • m अस्पष्टता प्रबंधन: भौतिक पते के उच्च बिट की अस्पष्टता पर कभी अनुमान न लगाएं, "ज्ञात सामग्री पेज oracle" से सामग्री स्व-सत्यापन करें।
  • प्रिमिटिव की आयु और सुरक्षित विफलता: पठन प्रोब की एक निश्चित सीमा होती है, सीमा पार होने पर इस दौर को छोड़ना अनिवार्य; प्रत्येक प्रयोग के प्रत्येक निकास पथ पर छेड़छाड़ किए गए ऑब्जेक्ट फ़ील्ड को बहाल करना आवश्यक।

रिपॉज़िटरी संरचना

root@kitploit:~
docs/
  01-exploit-chain.md            UAF से पढ़ने/लिखने के प्रिमिटिव तक: प्रत्येक चरण का सिद्धांत और कार्यान्वयन बिंदु
  02-physical-address-model.md   भौतिक पता मॉडल, सुरक्षा द्वार, m अस्पष्टता, ज्ञात जाल
exploit/
  cve-2021-28664-poc.c           PoC टेम्पलेट: पढ़ने/लिखने के प्रिमिटिव की पूर्ण प्रक्रिया रूपरेखा (डिवाइस मान रहित)
scripts/
  README.md                      प्रयोग स्वचालन उपकरण के डिज़ाइन विवरण (लूप/सत्यापन/पुनर्स्थापन)

स्रोत कोड विवरण

exploit/cve-2021-28664-poc.c पढ़ने/लिखने के प्रिमिटिव का PoC ढांचा टेम्पलेट है:

  • पूर्ण प्रक्रिया संरचना बनाए रखता है (संसाधन तैयारी → स्प्रे → स्कैन → अंशांकन → पढ़ना/लिखना प्रिमिटिव → पुनर्स्थापन और निकास);
  • सभी डिवाइस-संबंधित स्थिरांक TODO(DEVICE) से चिह्नित हैं, कोई भी सीधे उपयोग योग्य संख्यात्मक मान नहीं है;
  • प्रत्येक खतरनाक ऑपरेशन से पहले स्पष्ट सत्यापन द्वार और पुनर्स्थापन पथ हैं, जो "सुरक्षित विफलता" की डिज़ाइन विधि दर्शाते हैं।

यह पूरी श्रृंखला के संगठन को समझने के लिए है, इसे सीधे किसी भी डिवाइस के लिए प्रभावी उपकरण के रूप में संकलित नहीं किया जा सकता।

संदर्भ

  • ARM Mali kbase ड्राइवर (सार्वजनिक कर्नेल स्रोत ट्री)
  • CVE-2021-28664 अपस्ट्रीम फ़िक्स रिकॉर्ड और सार्वजनिक विश्लेषण
  • Linux fs/pipe.c / include/linux/pipe_fs_i.h (सार्वजनिक स्रोत कोड)
  • arm64 मेमोरी मॉडल: Documentation/arch/arm64/memory.rst (सार्वजनिक दस्तावेज़)

License

  • कोड (exploit/): GPL-3.0, देखें LICENSE
  • दस्तावेज़ (README, docs/, scripts/): CC BY-NC-SA 4.0, देखें LICENSE-DOCS (व्यावसायिक उपयोग प्रतिबंधित; व्युत्पन्न सामग्री समान शर्तों के अंतर्गत साझा करें और यह घोषणा बनाए रखें)
टूल डाउनलोड करें
चरणपूर्व शर्तें
भेद्यता स्वयंMali kbase ड्राइवर संस्करण CVE-2021-28664 प्रभावित सीमा में हो (अपस्ट्रीम फ़िक्स से पहले की r श्रृंखला); कर्नेल संस्करण से स्वतंत्र, केवल ड्राइवर देखें
GPU संसाधन/dev/mali संबंधित एप्लिकेशन के लिए सुलभ हो; MEM_ALLOC SAME_VA बड़े बफ़र का समर्थन करे; MEM_ALIAS व्यवहार भेद्यता विवरण के अनुरूप हो
पाइप पुनःउपयोगLinux ≥ 4.5 (pipe_buf_operations की शुरुआत), 4.9 ~ 4.14 में परीक्षण से सत्यापित; F_SETPIPE_SZ से पाइप को एक पेज तक छोटा किया जा सके
KASLR लीककर्नेल में CONFIG_RANDOMIZE_BASE सक्षम हो (arm64 ≥ 4.6); anon_pipe_buf_ops सार्वजनिक सिंबल टेबल में मौजूद हो
भौतिक पता मॉडलarm64 + vmemmap लेआउट; sizeof(struct page), पेज टेबल प्रारूप अनिवार्य रूप से प्रयोगात्मक रूप से मापें, अनुमान न लगाएं