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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/pjlantz/optee-qemu
एम्बेडेड सिस्टम सुरक्षाभेद्यता विश्लेषणशोषणफज़िंगलर्निंग और शिक्षाबाइनरी शोषणलैब और अभ्यास
GitHubpjlantz/optee-qemu

optee-qemu

TEE ड्राइवर (CVE-2021-44733) के शोषण के लिए कमजोर कर्नेल वाला वातावरण

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

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

सभी देखें →

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

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

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

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

CVE-2021-44733: Linux कर्नेल TEE सबसिस्टम में use-after-free की फ़ज़िंग और शोषण

हाल ही में Linux कर्नेल TEE सबसिस्टम में, संस्करण 5.15.11 तक, एक use-after-free भेद्यता खोजी गई थी, और इसे CVE-2021-44733 [1] निर्दिष्ट किया गया था।

पहली नज़र में यह कई कारणों से शोषण योग्य नहीं लग रहा था, हालाँकि भेद्य कोड पथ के आगे के विश्लेषण और एक मोटा proof-of-concept शोषण लागू करने के बाद कर्नेल में एक फ़ंक्शन पॉइंटर को अधिलेखित करना संभव था। इस पोस्ट में कोई विशेषाधिकार वृद्धि पेलोड प्रस्तुत नहीं किया गया है, हालाँकि OPTEE और शोषण को चलाने के लिए पूरा वातावरण आगे के परीक्षण के लिए उपलब्ध है, 'वातावरण सेट करना' देखें।

पृष्ठभूमि

TEE (Trusted Execution Environment) कुछ सुरक्षित वातावरण में चलने वाला एक विश्वसनीय OS है, उदाहरण के लिए, ARM CPU पर TrustZone। एक TEE ड्राइवर TEE के साथ संचार के लिए आवश्यक विवरणों को संभालता है। ड्राइवर के कुछ महत्वपूर्ण कर्तव्य Globalplatform TEE Client API विनिर्देश [3] के आधार पर TEE की ओर एक सामान्य API प्रदान करना है, लेकिन Linux और TEE के बीच साझा मेमोरी का प्रबंधन करना भी है। इस सबसिस्टम को ARM आर्किटेक्चर के लिए कर्नेल कॉन्फ़िगरेशन में CONFIG_OPTEE कॉन्फ़िगर करके सक्षम किया जा सकता है।

सुरक्षित दुनिया में OP-TEE OS [4] नामक विश्वसनीय OS होता है। इस OS के ऊपर तथाकथित Trusted Applications (TAs) चलाना संभव है, जो पृथक वातावरण में कुछ संचालन कर सकते हैं, चित्र 1 देखें।

TEE अवलोकन
चित्र 1: TEE का अवलोकन - Linaro की प्रस्तुति से [5]

सामान्य दुनिया (Linux userspace/kernel) इन अनुप्रयोगों के साथ क्लाइंट अनुप्रयोगों (CAs) और TEE सबसिस्टम द्वारा प्रदान किए गए API का उपयोग करके बातचीत कर सकती है। एक CA किसी विशिष्ट TA की ओर एक सत्र खोल सकता है और उन फ़ंक्शनों को लागू कर सकता है जिन्हें TA लागू करता है। TA और CA के बीच किसी भी तर्क को आगे-पीछे पास करना साझा मेमोरी का उपयोग करके किया जाता है। सभी प्रासंगिक syscalls का उपयोग करके CA और TA के बीच की अंतःक्रिया आगे वर्णित है।

  1. एक CA ड्राइवर के साथ संचार करने के लिए /dev/tee[0-9] खोलता है। ध्यान दें, कि इन APIs का उपयोग करने के पारंपरिक तरीके के लिए, यह libteec का उपयोग करके अंतर्निहित रूप से किया जाता है।

  2. साझा मेमोरी को CA द्वारा IOCTL TEE_IOC_SHM_ALLOC का उपयोग करके पंजीकृत किया जा सकता है। यह साझा मेमोरी आवंटित करता है और एक फ़ाइल डिस्क्रिप्टर लौटाता है जिसे उपयोगकर्ता स्थान mmap के भाग के रूप में उपयोग कर सकता है।

  3. अगला चरण IOCTL TEE_IOC_OPEN_SESSION का उपयोग करके एक सत्र स्थापित करना और किसी विशिष्ट TA के लिए uuid निर्दिष्ट करना है। यह uuid TA के संकलन के दौरान हार्डकोड किया जाता है।

  4. TA में किसी विशिष्ट फ़ंक्शन को लागू करने के लिए, CA इनपुट तर्कों के साथ एक फ़ंक्शन का पहचानकर्ता निर्दिष्ट करके इसे लागू करता है, यह TEE_IOC_INVOKE का उपयोग करके किया जाता है।

  5. जब CA सभी अनुरोधों के साथ समाप्त हो जाता है, तो सत्र को TEE_IOC_CLOSE_SESSION का उपयोग करके बंद किया जा सकता है।

CA और TA के बीच सत्र
चित्र 2: CA और TA के बीच सत्र - Linaro की प्रस्तुति से [5]

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

TEE ड्राइवर की फ़ज़िंग

टूल डाउनलोड करें