macOS Dangerous Entitlements & TCC perms
Beachten Sie, dass Berechtigungen, die mit com.apple
beginnen, nicht für Drittanbieter verfügbar sind, nur Apple kann sie gewähren.
Hoch
com.apple.rootless.install.heritable
com.apple.rootless.install.heritable
Die Berechtigung com.apple.rootless.install.heritable
ermöglicht es, SIP zu umgehen. Überprüfen Sie hier für weitere Informationen.
com.apple.rootless.install
com.apple.rootless.install
Die Berechtigung com.apple.rootless.install
ermöglicht es, SIP zu umgehen. Überprüfen Sie dies für weitere Informationen.
com.apple.system-task-ports
(früher task_for_pid-allow
genannt)
com.apple.system-task-ports
(früher task_for_pid-allow
genannt)Diese Berechtigung ermöglicht es, den Task-Port für jeden Prozess zu erhalten, außer dem Kernel. Überprüfen Sie dies für weitere Informationen.
com.apple.security.get-task-allow
com.apple.security.get-task-allow
Diese Berechtigung ermöglicht es anderen Prozessen mit der Berechtigung com.apple.security.cs.debugger
, den Task-Port des Prozesses, der vom Binär mit dieser Berechtigung ausgeführt wird, zu erhalten und Code einzuspritzen. Überprüfen Sie dies für weitere Informationen.
com.apple.security.cs.debugger
com.apple.security.cs.debugger
Apps mit der Debugging-Tool-Berechtigung können task_for_pid()
aufrufen, um einen gültigen Task-Port für nicht signierte und Drittanbieter-Apps mit der Berechtigung Get Task Allow
auf true
abzurufen. Selbst mit der Debugging-Tool-Berechtigung kann ein Debugger jedoch nicht die Task-Ports von Prozessen erhalten, die nicht die Get Task Allow
-Berechtigung haben und daher durch die System Integrity Protection geschützt sind. Überprüfen Sie dies für weitere Informationen.
com.apple.security.cs.disable-library-validation
com.apple.security.cs.disable-library-validation
Diese Berechtigung ermöglicht es, Frameworks, Plug-ins oder Bibliotheken zu laden, die weder von Apple signiert sind noch mit derselben Team-ID wie die Hauptausführbare Datei signiert sind, sodass ein Angreifer missbräuchlich eine beliebige Bibliothek laden kann, um Code einzuspritzen. Überprüfen Sie dies für weitere Informationen.
com.apple.private.security.clear-library-validation
com.apple.private.security.clear-library-validation
Diese Berechtigung ist sehr ähnlich wie com.apple.security.cs.disable-library-validation
, aber anstatt die Bibliotheksvalidierung direkt zu deaktivieren, ermöglicht sie dem Prozess, einen csops
-Systemaufruf zu tätigen, um sie zu deaktivieren.
Überprüfen Sie dies für weitere Informationen.
com.apple.security.cs.allow-dyld-environment-variables
com.apple.security.cs.allow-dyld-environment-variables
Diese Berechtigung ermöglicht es, DYLD-Umgebungsvariablen zu verwenden, die zum Einspritzen von Bibliotheken und Code verwendet werden könnten. Überprüfen Sie dies für weitere Informationen.
com.apple.private.tcc.manager
oder com.apple.rootless.storage
.TCC
com.apple.private.tcc.manager
oder com.apple.rootless.storage
.TCC
Laut diesem Blog und diesem Blog erlauben diese Berechtigungen, die TCC-Datenbank zu ändern.
system.install.apple-software
und system.install.apple-software.standar-user
system.install.apple-software
und system.install.apple-software.standar-user
Diese Berechtigungen ermöglichen es, Software ohne die Erlaubnis des Benutzers zu installieren, was für eine Privileg-Eskalation hilfreich sein kann.
com.apple.private.security.kext-management
com.apple.private.security.kext-management
Berechtigung erforderlich, um den Kernel zur Ladung einer Kernelerweiterung aufzufordern.
com.apple.private.icloud-account-access
com.apple.private.icloud-account-access
Mit der Berechtigung com.apple.private.icloud-account-access
ist es möglich, mit dem com.apple.iCloudHelper
XPC-Dienst zu kommunizieren, der iCloud-Token bereitstellt.
iMovie und Garageband hatten diese Berechtigung.
Für weitere Informationen über den Exploit zum Erhalt von iCloud-Token aus dieser Berechtigung sehen Sie sich den Vortrag an: #OBTS v5.0: "Was passiert auf Ihrem Mac, bleibt in Apples iCloud?!" - Wojciech Regula
com.apple.private.tcc.manager.check-by-audit-token
com.apple.private.tcc.manager.check-by-audit-token
TODO: Ich weiß nicht, was dies erlaubt
com.apple.private.apfs.revert-to-snapshot
com.apple.private.apfs.revert-to-snapshot
TODO: In diesem Bericht wird erwähnt, dass dies verwendet werden könnte, um die nach einem Neustart geschützten SSV-Inhalte zu aktualisieren. Wenn Sie wissen, wie es funktioniert, senden Sie bitte einen PR!
com.apple.private.apfs.create-sealed-snapshot
com.apple.private.apfs.create-sealed-snapshot
TODO: In diesem Bericht wird erwähnt, dass dies verwendet werden könnte, um die nach einem Neustart geschützten SSV-Inhalte zu aktualisieren. Wenn Sie wissen, wie es funktioniert, senden Sie bitte einen PR!
keychain-access-groups
keychain-access-groups
Diese Berechtigung listet die Schlüsselbund-Gruppen auf, auf die die Anwendung zugreifen kann:
kTCCServiceSystemPolicyAllFiles
kTCCServiceSystemPolicyAllFiles
Gibt Vollzugriff auf die Festplatte Berechtigungen, eine der höchsten Berechtigungen, die Sie haben können.
kTCCServiceAppleEvents
kTCCServiceAppleEvents
Ermöglicht der App, Ereignisse an andere Anwendungen zu senden, die häufig für die Automatisierung von Aufgaben verwendet werden. Durch die Kontrolle anderer Apps kann sie die den anderen Apps gewährten Berechtigungen missbrauchen.
Indem sie sie dazu bringt, den Benutzer nach seinem Passwort zu fragen:
Oder sie dazu bringen, beliebige Aktionen auszuführen.
kTCCServiceEndpointSecurityClient
kTCCServiceEndpointSecurityClient
Erlaubt unter anderem, die TCC-Datenbank der Benutzer zu schreiben.
kTCCServiceSystemPolicySysAdminFiles
kTCCServiceSystemPolicySysAdminFiles
Erlaubt es, das Attribut NFSHomeDirectory
eines Benutzers zu ändern, das seinen Pfad zum Benutzerordner ändert und somit das Umgehen von TCC ermöglicht.
kTCCServiceSystemPolicyAppBundles
kTCCServiceSystemPolicyAppBundles
Erlaubt das Ändern von Dateien innerhalb von App-Bundles (innerhalb von app.app), was standardmäßig nicht erlaubt ist.
Es ist möglich zu überprüfen, wer auf diese Berechtigung zugreifen kann unter Systemeinstellungen > Datenschutz & Sicherheit > App-Verwaltung.
kTCCServiceAccessibility
kTCCServiceAccessibility
Der Prozess wird in der Lage sein, die macOS-Zugriffsfunktionen missbrauchen, was bedeutet, dass er beispielsweise Tastenanschläge ausführen kann. Er könnte also Zugriff anfordern, um eine App wie Finder zu steuern und den Dialog mit dieser Berechtigung zu genehmigen.
Medium
com.apple.security.cs.allow-jit
com.apple.security.cs.allow-jit
Diese Berechtigung ermöglicht es, Speicher zu erstellen, der schreibbar und ausführbar ist, indem die MAP_JIT
-Flagge an die mmap()
-Systemfunktion übergeben wird. Überprüfen Sie dies für weitere Informationen.
com.apple.security.cs.allow-unsigned-executable-memory
com.apple.security.cs.allow-unsigned-executable-memory
Diese Berechtigung ermöglicht es, C-Code zu überschreiben oder zu patchen, die veraltete NSCreateObjectFileImageFromMemory
zu verwenden (die grundsätzlich unsicher ist) oder das DVDPlayback-Framework zu verwenden. Überprüfen Sie dies für weitere Informationen.
Das Hinzufügen dieser Berechtigung macht Ihre App anfällig für häufige Sicherheitslücken in speicherschwachen Programmiersprachen. Überlegen Sie sorgfältig, ob Ihre App diese Ausnahme benötigt.
com.apple.security.cs.disable-executable-page-protection
com.apple.security.cs.disable-executable-page-protection
Diese Berechtigung ermöglicht es, Abschnitte ihrer eigenen ausführbaren Dateien auf der Festplatte zu ändern, um erzwungen zu beenden. Überprüfen Sie dies für weitere Informationen.
Die Berechtigung zur Deaktivierung des Schutzes vor ausführbaren Seiten ist eine extreme Berechtigung, die einen grundlegenden Sicherheitsschutz aus Ihrer App entfernt und es einem Angreifer ermöglicht, den ausführbaren Code Ihrer App ohne Erkennung neu zu schreiben. Verwenden Sie wenn möglich engere Berechtigungen.
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
Diese Berechtigung ermöglicht das Einhängen eines nullfs-Dateisystems (standardmäßig verboten). Tool: mount_nullfs.
kTCCServiceAll
kTCCServiceAll
Laut diesem Blogbeitrag wird diese TCC-Berechtigung normalerweise in der Form gefunden:
Erlauben Sie dem Prozess, alle TCC-Berechtigungen anzufordern.
kTCCServicePostEvent
kTCCServicePostEvent
Last updated