macOS Security Protections
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
गेटकीपर आमतौर पर Quarantine + Gatekeeper + XProtect के संयोजन को संदर्भित करने के लिए उपयोग किया जाता है, जो 3 macOS सुरक्षा मॉड्यूल हैं जो उपयोगकर्ताओं को संभावित रूप से दुर्भावनापूर्ण सॉफ़्टवेयर को निष्पादित करने से रोकने का प्रयास करेंगे।
अधिक जानकारी के लिए:
macOS Gatekeeper / Quarantine / XProtectMacOS सैंडबॉक्स सैंडबॉक्स के अंदर चलने वाले अनुप्रयोगों को सैंडबॉक्स प्रोफ़ाइल में निर्दिष्ट अनुमत क्रियाओं तक सीमित करता है जिसके साथ ऐप चल रहा है। यह सुनिश्चित करने में मदद करता है कि अनुप्रयोग केवल अपेक्षित संसाधनों तक पहुँच रहा है।
macOS SandboxTCC (पारदर्शिता, सहमति, और नियंत्रण) एक सुरक्षा ढांचा है। यह अनुप्रयोगों की अनुमतियों का प्रबंधन करने के लिए डिज़ाइन किया गया है, विशेष रूप से संवेदनशील सुविधाओं तक उनकी पहुँच को विनियमित करके। इसमें स्थान सेवाएँ, संपर्क, फ़ोटो, माइक्रोफ़ोन, कैमरा, पहुँच, और पूर्ण डिस्क पहुँच जैसी तत्व शामिल हैं। TCC सुनिश्चित करता है कि ऐप्स केवल स्पष्ट उपयोगकर्ता सहमति प्राप्त करने के बाद इन सुविधाओं तक पहुँच सकते हैं, इस प्रकार व्यक्तिगत डेटा पर गोपनीयता और नियंत्रण को बढ़ाता है।
macOS TCCmacOS में लॉन्च प्रतिबंध एक सुरक्षा विशेषता है जो प्रक्रिया प्रारंभ को विनियमित करती है, यह परिभाषित करके कि कौन प्रक्रिया लॉन्च कर सकता है, कैसे, और कहाँ से। macOS वेंचुरा में पेश किए गए, ये सिस्टम बाइनरीज़ को ट्रस्ट कैश के भीतर प्रतिबंध श्रेणियों में वर्गीकृत करते हैं। प्रत्येक निष्पादन योग्य बाइनरी के लिए इसके लॉन्च के लिए सेट नियम होते हैं, जिसमें स्वयं, माता-पिता, और जिम्मेदार प्रतिबंध शामिल हैं। macOS सोनोमा में तीसरे पक्ष के ऐप्स के लिए पर्यावरण प्रतिबंधों के रूप में विस्तारित, ये सुविधाएँ प्रक्रिया लॉन्चिंग की शर्तों को नियंत्रित करके संभावित सिस्टम शोषण को कम करने में मदद करती हैं।
macOS Launch/Environment Constraints & Trust Cacheमैलवेयर हटाने का उपकरण (MRT) macOS की सुरक्षा अवसंरचना का एक और हिस्सा है। जैसा कि नाम से पता चलता है, MRT का मुख्य कार्य संक्रमित सिस्टम से ज्ञात मैलवेयर को हटाना है।
एक बार जब मैलवेयर Mac पर पता लगाया जाता है (या तो XProtect द्वारा या किसी अन्य तरीके से), MRT का उपयोग स्वचालित रूप से मैलवेयर को हटाने के लिए किया जा सकता है। MRT चुपचाप पृष्ठभूमि में काम करता है और आमतौर पर तब चलता है जब सिस्टम अपडेट होता है या जब एक नया मैलवेयर परिभाषा डाउनलोड किया जाता है (यह ऐसा लगता है कि मैलवेयर का पता लगाने के लिए MRT के पास नियम बाइनरी के अंदर हैं)।
हालांकि XProtect और MRT दोनों macOS के सुरक्षा उपायों का हिस्सा हैं, वे विभिन्न कार्य करते हैं:
XProtect एक निवारक उपकरण है। यह फाइलों की जांच करता है जैसे ही वे डाउनलोड होती हैं (कुछ अनुप्रयोगों के माध्यम से), और यदि यह ज्ञात प्रकार के किसी भी मैलवेयर का पता लगाता है, तो यह फाइल को खोलने से रोकता है, इस प्रकार पहले स्थान पर मैलवेयर को आपके सिस्टम को संक्रमित करने से रोकता है।
MRT, दूसरी ओर, एक प्रतिक्रियाशील उपकरण है। यह उस सिस्टम पर मैलवेयर का पता लगाने के बाद काम करता है, जिसका लक्ष्य offending सॉफ़्टवेयर को हटाना है ताकि सिस्टम को साफ किया जा सके।
MRT एप्लिकेशन /Library/Apple/System/Library/CoreServices/MRT.app
में स्थित है।
macOS अब हर बार एक उपकरण का उपयोग करने पर अलर्ट करता है जो कोड निष्पादन को बनाए रखने के लिए एक ज्ञात तकनीक का उपयोग करता है (जैसे लॉगिन आइटम, डेमन...), ताकि उपयोगकर्ता बेहतर तरीके से जान सके कौन सा सॉफ़्टवेयर बना हुआ है।
यह /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/backgroundtaskmanagementd
में स्थित एक डेमन के साथ चलता है और एजेंट /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app
में है।
backgroundtaskmanagementd
को यह जानने का तरीका है कि कुछ स्थायी फ़ोल्डर में स्थापित है FSEvents प्राप्त करके और उनके लिए कुछ हैंडलर्स बनाकर।
इसके अलावा, एक plist फ़ाइल है जिसमें ज्ञात अनुप्रयोगों की जानकारी है जो अक्सर बनाए रखी जाती है, जो एप्पल द्वारा /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/Resources/attributions.plist
में स्थित है।
यह संभव है कि सभी कॉन्फ़िगर किए गए बैकग्राउंड आइटमों को एप्पल CLI टूल का उपयोग करके सूचीबद्ध किया जाए:
इसके अलावा, इस जानकारी को DumpBTM के साथ सूचीबद्ध करना भी संभव है।
यह जानकारी /private/var/db/com.apple.backgroundtaskmanagement/BackgroundItems-v4.btm
में संग्रहीत की जा रही है और टर्मिनल को FDA की आवश्यकता है।
जब एक नई स्थिरता पाई जाती है, तो एक प्रकार की घटना ES_EVENT_TYPE_NOTIFY_BTM_LAUNCH_ITEM_ADD
होती है। इसलिए, किसी भी तरीके से इस घटना को भेजने से रोकना या एजेंट को उपयोगकर्ता को चेतावनी देने से रोकना एक हमलावर को बायपास BTM करने में मदद करेगा।
डेटाबेस को रीसेट करना: निम्नलिखित कमांड चलाने से डेटाबेस रीसेट हो जाएगा (इसे जमीन से फिर से बनाना चाहिए), हालाँकि, किसी कारणवश, इसे चलाने के बाद, कोई नई स्थिरता तब तक चेतावनी नहीं दी जाएगी जब तक कि सिस्टम को पुनरारंभ नहीं किया जाता।
root की आवश्यकता है।
एजेंट को रोकें: एजेंट को एक स्टॉप सिग्नल भेजना संभव है ताकि यह उपयोगकर्ता को सूचित न करे जब नई पहचान की जाती हैं।
बग: यदि स्थायीता बनाने वाली प्रक्रिया तुरंत उसके बाद मौजूद है, तो डेमन इसकी जानकारी प्राप्त करने की कोशिश करेगा, असफल होगा, और नए चीज़ के स्थायी होने का संकेत देने वाला इवेंट भेजने में असमर्थ होगा।
संदर्भ और BTM के बारे में अधिक जानकारी:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)