macOS Dangerous Entitlements & TCC perms
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)
ध्यान दें कि com.apple
से शुरू होने वाले अधिकार तीसरे पक्ष के लिए उपलब्ध नहीं हैं, केवल Apple उन्हें प्रदान कर सकता है।
com.apple.rootless.install.heritable
अधिकार com.apple.rootless.install.heritable
SIP को बायपास करने की अनुमति देता है। अधिक जानकारी के लिए यहाँ देखें.
com.apple.rootless.install
अधिकार com.apple.rootless.install
SIP को बायपास करने की अनुमति देता है। अधिक जानकारी के लिए यहाँ देखें.
com.apple.system-task-ports
(पहले task_for_pid-allow
कहा जाता था)यह अधिकार किसी भी प्रक्रिया के लिए कार्य पोर्ट प्राप्त करने की अनुमति देता है, सिवाय कर्नेल के। अधिक जानकारी के लिए यहाँ देखें.
com.apple.security.get-task-allow
यह अधिकार अन्य प्रक्रियाओं को com.apple.security.cs.debugger
अधिकार के साथ उस प्रक्रिया के कार्य पोर्ट को प्राप्त करने और इस पर कोड इंजेक्ट करने की अनुमति देता है जो इस अधिकार के साथ बाइनरी द्वारा चलायी जाती है। अधिक जानकारी के लिए यहाँ देखें.
com.apple.security.cs.debugger
डिबगिंग टूल अधिकार वाले ऐप्स task_for_pid()
को कॉल करके बिना हस्ताक्षरित और तीसरे पक्ष के ऐप्स के लिए मान्य कार्य पोर्ट प्राप्त कर सकते हैं जिनका Get Task Allow
अधिकार true
पर सेट है। हालाँकि, डिबगिंग टूल अधिकार के साथ भी, एक डिबगर उन प्रक्रियाओं के कार्य पोर्ट प्राप्त नहीं कर सकता जिनके पास Get Task Allow
अधिकार नहीं है, और जो इसलिए सिस्टम इंटीग्रिटी प्रोटेक्शन द्वारा सुरक्षित हैं। अधिक जानकारी के लिए यहाँ देखें.
com.apple.security.cs.disable-library-validation
यह अधिकार फ्रेमवर्क, प्लग-इन, या पुस्तकालयों को लोड करने की अनुमति देता है बिना Apple द्वारा हस्ताक्षरित होने या मुख्य निष्पादन योग्य के समान टीम आईडी के साथ हस्ताक्षरित होने के, इसलिए एक हमलावर कुछ मनमाने पुस्तकालय लोड का दुरुपयोग करके कोड इंजेक्ट कर सकता है। अधिक जानकारी के लिए यहाँ देखें.
com.apple.private.security.clear-library-validation
यह अधिकार com.apple.security.cs.disable-library-validation
के बहुत समान है लेकिन सीधे पुस्तकालय मान्यता को निष्क्रिय करने के बजाय, यह प्रक्रिया को csops
सिस्टम कॉल करने की अनुमति देता है ताकि इसे निष्क्रिय किया जा सके।
अधिक जानकारी के लिए यहाँ देखें.
com.apple.security.cs.allow-dyld-environment-variables
यह अधिकार DYLD पर्यावरण चर का उपयोग करने की अनुमति देता है जो पुस्तकालयों और कोड को इंजेक्ट करने के लिए उपयोग किया जा सकता है। अधिक जानकारी के लिए यहाँ देखें.
com.apple.private.tcc.manager
या com.apple.rootless.storage
.TCC
इस ब्लॉग के अनुसार और इस ब्लॉग के अनुसार, ये अधिकार TCC डेटाबेस को संशोधित करने की अनुमति देते हैं।
system.install.apple-software
और system.install.apple-software.standar-user
ये अधिकार उपयोगकर्ता से अनुमति पूछे बिना सॉफ़्टवेयर स्थापित करने की अनुमति देते हैं, जो अधिकार वृद्धि के लिए सहायक हो सकता है।
com.apple.private.security.kext-management
कर्नेल को कर्नेल एक्सटेंशन लोड करने के लिए पूछने के लिए आवश्यक अधिकार।
com.apple.private.icloud-account-access
अधिकार com.apple.private.icloud-account-access
के माध्यम से com.apple.iCloudHelper
XPC सेवा के साथ संवाद करना संभव है जो iCloud टोकन प्रदान करेगा।
iMovie और Garageband के पास यह अधिकार था।
इस अधिकार से icloud टोकन प्राप्त करने के लिए शोषण के बारे में अधिक जानकारी के लिए बात देखें: #OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula
com.apple.private.tcc.manager.check-by-audit-token
TODO: मुझे नहीं पता कि यह क्या करने की अनुमति देता है
com.apple.private.apfs.revert-to-snapshot
TODO: इस रिपोर्ट में उल्लेख किया गया है कि इसका उपयोग रिबूट के बाद SSV-सुरक्षित सामग्री को अपडेट करने के लिए किया जा सकता है। यदि आप जानते हैं कि यह कैसे किया जाता है तो कृपया PR भेजें!
com.apple.private.apfs.create-sealed-snapshot
TODO: इस रिपोर्ट में उल्लेख किया गया है कि इसका उपयोग रिबूट के बाद SSV-सुरक्षित सामग्री को अपडेट करने के लिए किया जा सकता है। यदि आप जानते हैं कि यह कैसे किया जाता है तो कृपया PR भेजें!
keychain-access-groups
यह अधिकार keychain समूहों की सूची है जिन तक एप्लिकेशन की पहुँच है:
kTCCServiceSystemPolicyAllFiles
पूर्ण डिस्क एक्सेस अनुमतियाँ देता है, जो TCC की सबसे उच्च अनुमतियों में से एक है जो आपके पास हो सकती है।
kTCCServiceAppleEvents
ऐप को अन्य अनुप्रयोगों को कार्य स्वचालित करने के लिए घटनाएँ भेजने की अनुमति देता है। अन्य ऐप्स को नियंत्रित करते हुए, यह इन अन्य ऐप्स को दी गई अनुमतियों का दुरुपयोग कर सकता है।
जैसे कि उन्हें उपयोगकर्ता से उसका पासवर्ड पूछने के लिए बनाना:
या उन्हें मनमाने कार्य करने के लिए मजबूर करना।
kTCCServiceEndpointSecurityClient
अन्य अनुमतियों के बीच, उपयोगकर्ताओं के TCC डेटाबेस को लिखने की अनुमति देता है।
kTCCServiceSystemPolicySysAdminFiles
एक उपयोगकर्ता के NFSHomeDirectory
विशेषता को बदलने की अनुमति देता है, जो उसके होम फ़ोल्डर पथ को बदलता है और इसलिए TCC को बायपास करने की अनुमति देता है।
kTCCServiceSystemPolicyAppBundles
ऐप्स बंडल (app.app के अंदर) के अंदर फ़ाइलों को संशोधित करने की अनुमति देता है, जो डिफ़ॉल्ट रूप से अस्वीकृत है।
यह जांचना संभव है कि किसके पास यह पहुंच है System Settings > Privacy & Security > App Management.
kTCCServiceAccessibility
प्रक्रिया macOS पहुंच विशेषताओं का दुरुपयोग करने में सक्षम होगी, जिसका अर्थ है कि उदाहरण के लिए वह कीस्ट्रोक दबा सकेगा। इसलिए वह Finder जैसे ऐप को नियंत्रित करने के लिए पहुंच का अनुरोध कर सकता है और इस अनुमति के साथ संवाद को मंजूरी दे सकता है।
com.apple.security.cs.allow-jit
यह अधिकार लिखने योग्य और निष्पादन योग्य मेमोरी बनाने की अनुमति देता है mmap()
सिस्टम फ़ंक्शन को MAP_JIT
ध्वज पास करके। अधिक जानकारी के लिए यह देखें।
com.apple.security.cs.allow-unsigned-executable-memory
यह अधिकार C कोड को ओवरराइड या पैच करने की अनुमति देता है, लंबे समय से अप्रचलित NSCreateObjectFileImageFromMemory
(जो मौलिक रूप से असुरक्षित है) का उपयोग करने की अनुमति देता है, या DVDPlayback ढांचे का उपयोग करने की अनुमति देता है। अधिक जानकारी के लिए यह देखें।
इस अधिकार को शामिल करने से आपका ऐप मेमोरी-खतरनाक कोड भाषाओं में सामान्य कमजोरियों के लिए उजागर होता है। सावधानी से विचार करें कि क्या आपके ऐप को इस अपवाद की आवश्यकता है।
com.apple.security.cs.disable-executable-page-protection
यह अधिकार अपने स्वयं के निष्पादन योग्य फ़ाइलों के खंडों को संशोधित करने की अनुमति देता है ताकि बलात्कारी रूप से बाहर निकल सके। अधिक जानकारी के लिए यह देखें。
Disable Executable Memory Protection Entitlement एक चरम अधिकार है जो आपके ऐप से एक मौलिक सुरक्षा सुरक्षा को हटा देता है, जिससे एक हमलावर को आपके ऐप के निष्पादन योग्य कोड को बिना पहचान के फिर से लिखने की अनुमति मिलती है। यदि संभव हो तो संकीर्ण अधिकारों को प्राथमिकता दें।
com.apple.security.cs.allow-relative-library-loads
TODO
com.apple.private.nullfs_allow
यह अधिकार एक nullfs फ़ाइल प्रणाली को माउंट करने की अनुमति देता है (डिफ़ॉल्ट रूप से निषिद्ध)। उपकरण: mount_nullfs。
kTCCServiceAll
इस ब्लॉगपोस्ट के अनुसार, यह TCC अनुमति आमतौर पर इस रूप में पाई जाती है:
Allow the process to ask for all the TCC permissions.
kTCCServicePostEvent
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)