macOS Dangerous Entitlements & TCC perms
Σημειώστε ότι τα entitlements που ξεκινούν με com.apple
δεν είναι διαθέσιμα σε τρίτους, μόνο η Apple μπορεί να τα χορηγήσει.
Υψηλό
com.apple.rootless.install.heritable
com.apple.rootless.install.heritable
Το entitlement com.apple.rootless.install.heritable
επιτρέπει την παράκαμψη του SIP. Ελέγξτε αυτό για περισσότερες πληροφορίες.
com.apple.rootless.install
com.apple.rootless.install
Το entitlement com.apple.rootless.install
επιτρέπει την παράκαμψη του SIP. Ελέγξτε αυτό για περισσότερες πληροφορίες.
com.apple.system-task-ports
(προηγουμένως ονομαζόμενο task_for_pid-allow
)
com.apple.system-task-ports
(προηγουμένως ονομαζόμενο task_for_pid-allow
)Αυτό το entitlement επιτρέπει την ανάκτηση της task port για οποιηδήποτε διεργασία, εκτός από τον πυρήνα. Ελέγξτε αυτό για περισσότερες πληροφορίες.
com.apple.security.get-task-allow
com.apple.security.get-task-allow
Αυτό το entitlement επιτρέπει σε άλλες διεργασίες με το entitlement com.apple.security.cs.debugger
να ανακτήσουν την task port της διεργασίας που εκτελείται από το δυαδικό με αυτό το entitlement και να ενσωματώσουν κώδικα σε αυτήν. Ελέγξτε αυτό για περισσότερες πληροφορίες.
com.apple.security.cs.debugger
com.apple.security.cs.debugger
Οι εφαρμογές με το Entitlement Εργαλείου Αποσφαλμάτωσης μπορούν να καλέσουν το task_for_pid()
για να ανακτήσουν μια έγκυρη task port για μη υπογεγραμμένες και τρίτες εφαρμογές με το entitlement Get Task Allow
που έχει οριστεί σε true
. Ωστόσο, ακόμη και με το entitlement εργαλείου αποσφαλμάτωσης, ένας αποσφαλματωτής δεν μπορεί να ανακτήσει τις task ports διεργασιών που δεν έχουν το entitlement Get Task Allow
, και που είναι επομένως προστατευμένες από την Προστασία Ακεραιότητας Συστήματος. Ελέγξτε αυτό για περισσότερες πληροφορίες.
com.apple.security.cs.disable-library-validation
com.apple.security.cs.disable-library-validation
Αυτό το entitlement επιτρέπει τη φόρτωση πλαισίων, προσθέτων ή βιβλιοθηκών χωρίς να είναι υπογεγραμμένα από την Apple ή υπογεγραμμένα με τον ίδιο αναγνωριστικό ομάδας (Team ID) με το κύριο εκτελέσιμο, έτσι ένας επιτιθέμενος θα μπορούσε να καταχραστεί μια αυθαίρετη φόρτωση βιβλιοθήκης για να ενσωματώσει κώδικα. Ελέγξτε αυτό για περισσότερες πληροφορίες.
com.apple.private.security.clear-library-validation
com.apple.private.security.clear-library-validation
Αυτό το entitlement είναι πολύ παρόμοιο με το com.apple.security.cs.disable-library-validation
αλλά αντί να απενεργοποιεί απευθείας την επικύρωση βιβλιοθήκης, επιτρέπει στη διεργασία να καλέσει ένα σύστημα κλήσης csops
για να την απενεργοποιήσει.
Ελέγξτε αυτό για περισσότερες πληροφορίες.
com.apple.security.cs.allow-dyld-environment-variables
com.apple.security.cs.allow-dyld-environment-variables
Αυτό το entitlement επιτρέπει τη χρήση μεταβλητών περιβάλλοντος DYLD που θα μπορούσαν να χρησιμοποιηθούν για την ενσωμάτωση βιβλιοθηκών και κώδικα. Ελέγξτε αυτό για περισσότερες πληροφορίες.
com.apple.private.tcc.manager
ή com.apple.rootless.storage
.TCC
com.apple.private.tcc.manager
ή com.apple.rootless.storage
.TCC
Σύμφωνα με αυτό το blog και αυτό το blog, αυτά τα entitlements επιτρέπουν τη τροποποίηση της βάσης δεδομένων TCC.
system.install.apple-software
και system.install.apple-software.standar-user
system.install.apple-software
και system.install.apple-software.standar-user
Αυτά τα entitlements επιτρέπουν τη εγκατάσταση λογισμικού χωρίς να ζητηθούν άδειες από τον χρήστη, πράγμα που μπορεί να είναι χρήσιμο για μια ανόδο προνομίων.
com.apple.private.security.kext-management
com.apple.private.security.kext-management
Entitlement που απαιτείται για να ζητήσει τον πυρήνα να φορτώσει μια επέκταση πυρήνα.
com.apple.private.icloud-account-access
com.apple.private.icloud-account-access
Το entitlement com.apple.private.icloud-account-access
είναι δυνατό να επικοινωνήσει με την υπηρεσία XPC com.apple.iCloudHelper
η οποία θα παρέχει τα iCloud tokens.
Το iMovie και το Garageband είχαν αυτό το entitlement.
Για περισσότερες πληροφορίες σχετικά με την εκμετάλλευση για την ανάκτηση των icloud tokens από αυτό το entitlement, ελέγξτε την ομιλία: #OBTS v5.0: "Τι συμβαίνει στο Mac σας, Μένει στο iCloud της Apple;!" - Wojciech Regula
com.apple.private.tcc.manager.check-by-audit-token
com.apple.private.tcc.manager.check-by-audit-token
TODO: Δεν ξέρω τι επιτρέπει αυτό
com.apple.private.apfs.revert-to-snapshot
com.apple.private.apfs.revert-to-snapshot
TODO: Στην αυτή την αναφορά αναφέρεται ότι μπορεί να χρησιμοποιηθεί για ενημέρωση των περιεχομένων που προστατεύονται από το SSV μετά από επανεκκίνηση. Αν γνωρίζετε πώς να το κάνετε, στείλτε ένα PR παρακαλώ!
com.apple.private.apfs.create-sealed-snapshot
com.apple.private.apfs.create-sealed-snapshot
TODO: Στην αυτή την αναφορά αναφέρεται ότι μπορεί να χρησιμοποιηθεί για ενημέρωση των περιεχομένων που προστατεύονται από το SSV μετά από επανεκκίνηση. Αν γνωρίζετε πώς να το κάνετε, στείλτε ένα PR παρακαλώ!
keychain-access-groups
keychain-access-groups
Αυτό το entitlement καταλογίζει τα ομάδες keychain στις οποίες έχει πρόσβαση η εφαρμογή:
kTCCServiceSystemPolicyAllFiles
kTCCServiceSystemPolicyAllFiles
Παρέχει δικαιώματα Πλήρης Πρόσβαση Δίσκου, ένα από τα υψηλότερα δικαιώματα TCC που μπορεί να έχει κάποιος.
kTCCServiceAppleEvents
kTCCServiceAppleEvents
Επιτρέπει στην εφαρμογή να στέλνει συμβάντα σε άλλες εφαρμογές που χρησιμοποιούνται συχνά για αυτοματοποίηση εργασιών. Ελέγχοντας άλλες εφαρμογές, μπορεί να καταχραστεί τα δικαιώματα που έχουν χορηγηθεί σε αυτές τις εφαρμογές.
Όπως να τις κάνει να ζητήσουν από τον χρήστη τον κωδικό πρόσβασής του:
Ή να τους κάνει να εκτελέσουν αυθαίρετες ενέργειες.
kTCCServiceEndpointSecurityClient
kTCCServiceEndpointSecurityClient
Επιτρέπει, μεταξύ άλλων δικαιωμάτων, τη εγγραφή στη βάση δεδομένων TCC των χρηστών.
kTCCServiceSystemPolicySysAdminFiles
kTCCServiceSystemPolicySysAdminFiles
Επιτρέπει τη τροποποίηση του χαρακτηριστικού NFSHomeDirectory
ενός χρήστη που αλλάζει τη διαδρομή του φακέλου του αρχικού φακέλου και επομένως επιτρέπει τη παράκαμψη του TCC.
kTCCServiceSystemPolicyAppBundles
kTCCServiceSystemPolicyAppBundles
Επιτρέπει την τροποποίηση αρχείων μέσα στα δέματα εφαρμογών (μέσα στο app.app), το οποίο είναι απαγορευμένο από προεπιλογή.
Είναι δυνατόν να ελέγξετε ποιος έχει πρόσβαση αυτή στις Ρυθμίσεις Συστήματος > Απορρήτου & Ασφάλειας > Διαχείριση Εφαρμογών.
kTCCServiceAccessibility
kTCCServiceAccessibility
Η διαδικασία θα μπορεί να καταχραστεί τα χαρακτηριστικά προσβασιμότητας του macOS, Το οποίο σημαίνει ότι για παράδειγμα θα μπορεί να πατήσει πλήκτρα. Έτσι θα μπορούσε να ζητήσει πρόσβαση για να ελέγχει μια εφαρμογή όπως ο Finder και να εγκρίνει το παράθυρο διαλόγου με αυτή την άδεια.
Μέσο
com.apple.security.cs.allow-jit
com.apple.security.cs.allow-jit
Αυτή η άδεια επιτρέπει τη δημιουργία μνήμης που είναι εγγράψιμη και εκτελέσιμη περνώντας τη σημαία MAP_JIT
στη συνάρτηση συστήματος mmap()
. Ελέγξτε αυτό για περισσότερες πληροφορίες.
com.apple.security.cs.allow-unsigned-executable-memory
com.apple.security.cs.allow-unsigned-executable-memory
Αυτή η άδεια επιτρέπει τη παράκαμψη ή την επιδιόρθωση κώδικα C, χρησιμοποιώντας την παλαιά και απαρχαιωμένη συνάρτηση NSCreateObjectFileImageFromMemory
(η οποία είναι θεμελιωδώς ανασφαλής), ή χρησιμοποιώντας το πλαίσιο DVDPlayback. Ελέγξτε αυτό για περισσότερες πληροφορίες.
Η συμπερίληψη αυτής της άδειας εκθέτει την εφαρμογή σας σε κοινές ευπάθειες σε γλώσσες κώδικα με ανεπαρκή μνήμη. Εξετάστε προσεκτικά εάν η εφαρμογή σας χρειάζεται αυτήν την εξαίρεση.
com.apple.security.cs.disable-executable-page-protection
com.apple.security.cs.disable-executable-page-protection
Αυτή η άδεια επιτρέπει τη τροποποίηση τμημάτων των ίδιων εκτελέσιμων αρχείων στο δίσκο για εξαναγκαστική έξοδο. Ελέγξτε αυτό για περισσότερες πληροφορίες.
Η Άδεια Απενεργοποίησης Προστασίας Εκτελέσιμης Μνήμης είναι μια ακραία άδεια που αφαιρεί μια θεμελιώδη προστασία ασφαλείας από την εφαρμογή σας, καθιστώντας δυνατή την επανεγγραφή του εκτελέσιμου κώδικα της εφαρμογής σας χωρίς ανίχνευση. Προτιμήστε πιο περιορισμένες άδειες αν είναι δυνατόν.
com.apple.security.cs.allow-relative-library-loads
com.apple.security.cs.allow-relative-library-loads
TODO
com.apple.private.nullfs_allow
com.apple.private.nullfs_allow
Αυτή η άδεια επιτρέπει την προσάρτηση ενός αρχείου συστήματος nullfs (απαγορευμένο από προεπιλογή). Εργαλείο: mount_nullfs.
kTCCServiceAll
kTCCServiceAll
Σύμφωνα με αυτήν την ανάρτηση στο blog, αυτή η άδεια TCC συνήθως βρίσκεται στη μορφή:
Να επιτρέπεται στη διαδικασία να ζητήσει όλες τις άδειες TCC.
kTCCServicePostEvent
kTCCServicePostEvent
Last updated