macOS Dangerous Entitlements & TCC perms
Σημειώστε ότι τα entitlements που ξεκινούν με com.apple
δεν είναι διαθέσιμα σε τρίτους, μόνο η Apple μπορεί να τα χορηγήσει.
High
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 επιτρέπει να φορτώνονται frameworks, plug-ins ή βιβλιοθήκες χωρίς να είναι είτε υπογεγραμμένα από την 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
η οποία θα παρέχει tokens iCloud.
iMovie και Garageband είχαν αυτό το entitlement.
Για περισσότερες πληροφορίες σχετικά με την εκμετάλλευση για να αποκτήσετε tokens icloud από αυτό το entitlement δείτε την ομιλία: #OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - 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), κάτι που είναι απαγορευμένο από προεπιλογή.
Είναι δυνατόν να ελεγχθεί ποιος έχει αυτή την πρόσβαση στο System Settings > Privacy & Security > App Management.
kTCCServiceAccessibility
kTCCServiceAccessibility
Η διαδικασία θα είναι σε θέση να καταχραστεί τις δυνατότητες προσβασιμότητας του macOS, που σημαίνει ότι για παράδειγμα θα μπορεί να πατάει πλήκτρα. Έτσι θα μπορούσε να ζητήσει πρόσβαση για να ελέγξει μια εφαρμογή όπως το Finder και να εγκρίνει το παράθυρο διαλόγου με αυτή την άδεια.
Medium
com.apple.security.cs.allow-jit
com.apple.security.cs.allow-jit
Αυτή η άδεια επιτρέπει να δημιουργηθεί μνήμη που είναι εγ writable και εκτελέσιμη περνώντας τη σημαία MAP_JIT
στη συνάρτηση συστήματος mmap()
. Δείτε αυτό για περισσότερες πληροφορίες.
com.apple.security.cs.allow-unsigned-executable-memory
com.apple.security.cs.allow-unsigned-executable-memory
Αυτή η άδεια επιτρέπει να υπερκαλύψει ή να διορθώσει C κώδικα, να χρησιμοποιήσει τη μακροχρόνια αποσυρμένη NSCreateObjectFileImageFromMemory
(η οποία είναι θεμελιωδώς ανασφαλής), ή να χρησιμοποιήσει το DVDPlayback framework. Δείτε αυτό για περισσότερες πληροφορίες.
Η συμπερίληψη αυτής της άδειας εκθέτει την εφαρμογή σας σε κοινές ευπάθειες σε γλώσσες κώδικα που δεν είναι ασφαλείς στη μνήμη. Σκεφτείτε προσεκτικά αν η εφαρμογή σας χρειάζεται αυτή την εξαίρεση.
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