ID | Name |
---|---|
T1548.001 | Setuid and Setgid |
T1548.002 | Bypass User Account Control |
T1548.003 | Sudo and Sudo Caching |
T1548.004 | Elevated Execution with Prompt |
Adversaries may leverage the AuthorizationExecuteWithPrivileges
API to escalate privileges by prompting the user for credentials.[1] The purpose of this API is to give application developers an easy way to perform operations with root privileges, such as for application installation or updating. This API does not validate that the program requesting root privileges comes from a reputable source or has been maliciously modified.
Although this API is deprecated, it still fully functions in the latest releases of macOS. When calling this API, the user will be prompted to enter their credentials but no checks on the origin or integrity of the program are made. The program calling the API may also load world writable files which can be modified to perform malicious behavior with elevated privileges.
Adversaries may abuse AuthorizationExecuteWithPrivileges
to obtain root privileges in order to install malicious software on victims and install persistence mechanisms.[2][3][4] This technique may be combined with Masquerading to trick the user into granting escalated privileges to malicious code.[2][3] This technique has also been shown to work by modifying legitimate programs present on the machine that make use of this API.[2]
Angreifer können die AuthorizationExecuteWithPrivileges
API ausnutzen, um Privilegien zu erweitern, indem sie den Benutzer zur Eingabe von Anmeldeinformationen auffordern.(Zitat: AppleDocs AuthorizationExecuteWithPrivileges) Der Zweck dieser API ist es, Anwendungsentwicklern eine einfache Möglichkeit zu geben, Operationen mit Root-Rechten durchzuführen, wie z.B. die Installation oder Aktualisierung von Anwendungen. Diese API überprüft nicht, ob das Programm, das Root-Rechte anfordert, aus einer seriösen Quelle stammt oder ob es böswillig verändert wurde.
Obwohl diese API veraltet ist, funktioniert sie in den neuesten Versionen von macOS noch vollständig. Beim Aufruf dieser API wird der Benutzer aufgefordert, seine Anmeldedaten einzugeben, aber es werden keine Überprüfungen der Herkunft oder Integrität des Programms vorgenommen. Das Programm, das die API aufruft, kann auch weltweit beschreibbare Dateien laden, die modifiziert werden können, um bösartiges Verhalten mit erhöhten Rechten auszuführen.
Angreifer können AuthorizationExecuteWithPrivileges
missbrauchen, um Root-Rechte zu erlangen, um bösartige Software auf Opfern zu installieren und Persistenzmechanismen zu installieren.(Zitat: Death by 1000 installers; it's all broken!)(Zitat: Carbon Black Shlayer Feb 2019)(Zitat: OSX Coldroot RAT) Diese Technik kann mit [Masquerading] kombiniert werden (/techniques/T1036) kombiniert werden, um den Benutzer dazu zu bringen, bösartigem Code erweiterte Rechte einzuräumen.(Zitat: Death by 1000 installers; it's all broken!)(Zitat: Carbon Black Shlayer Feb 2019) Es hat sich gezeigt, dass diese Technik auch funktioniert, indem legitime Programme auf dem Rechner verändert werden, die diese API nutzen.(Zitat: Death by 1000 installers; it's all broken!)
Les adversaires peuvent tirer parti de l'API AuthorizationExecuteWithPrivileges
pour escalader les privilèges en demandant à l'utilisateur des informations d'identification.(Citation : AppleDocs AuthorizationExecuteWithPrivileges) L'objectif de cette API est de donner aux développeurs d'applications un moyen facile d'effectuer des opérations avec des privilèges root, comme pour l'installation ou la mise à jour d'applications. Cette API ne permet pas de valider que le programme demandant des privilèges root provient d'une source fiable ou a été modifié de manière malveillante.
Bien que cette API soit dépréciée, elle fonctionne toujours pleinement dans les dernières versions de macOS. Lors de l'appel de cette API, l'utilisateur sera invité à saisir ses informations d'identification, mais aucune vérification de l'origine ou de l'intégrité du programme n'est effectuée. Le programme appelant l'API peut également charger des fichiers inscriptibles dans le monde entier qui peuvent être modifiés pour exécuter un comportement malveillant avec des privilèges élevés.
Les adversaires peuvent abuser du AuthorizationExecuteWithPrivileges
pour obtenir les privilèges root afin d'installer des logiciels malveillants sur les victimes et d'installer des mécanismes de persistance.(Citation : Death by 1000 installers ; it's all broken !)(Citation : Carbon Black Shlayer Feb 2019)(Citation : OSX Coldroot RAT) Cette technique peut être combinée avec Masquerading pour inciter l'utilisateur à accorder des privilèges élevés au code malveillant.(Citation : Death by 1000 installers ; it's all broken !)(Citation : Carbon Black Shlayer Feb 2019) Il a également été démontré que cette technique fonctionne en modifiant les programmes légitimes présents sur la machine qui utilisent cette API.(Citation : Death by 1000 installers ; it's all broken !)(Citation : Carbon Black Shlayer Feb 2019)
Gli avversari possono sfruttare l'API AuthorizationExecuteWithPrivileges
per aumentare i privilegi chiedendo all'utente le credenziali.(Citazione: AppleDocs AuthorizationExecuteWithPrivileges) Lo scopo di questa API è dare agli sviluppatori di applicazioni un modo semplice per eseguire operazioni con privilegi di root, come per l'installazione o l'aggiornamento di applicazioni. Questa API non convalida che il programma che richiede i privilegi di root provenga da una fonte rispettabile o sia stato modificato maliziosamente.
Sebbene questa API sia deprecata, funziona ancora pienamente nelle ultime versioni di macOS. Quando si chiama questa API, all'utente viene richiesto di inserire le proprie credenziali ma non viene effettuato alcun controllo sull'origine o sull'integrità del programma. Il programma che chiama l'API può anche caricare file scrivibili a livello mondiale che possono essere modificati per eseguire comportamenti malevoli con privilegi elevati.
Gli avversari possono abusare di AuthorizationExecuteWithPrivileges
per ottenere privilegi di root al fine di installare software maligno sulle vittime e installare meccanismi di persistenza.(Citazione: Death by 1000 installers; it's all broken!)(Citazione: Carbon Black Shlayer Feb 2019)(Citazione: OSX Coldroot RAT) Questa tecnica può essere combinata con Masquerading per ingannare l'utente a concedere privilegi escalati a codice maligno.(Citazione: Morte da 1000 installatori; è tutto rotto!)(Citazione: Carbon Black Shlayer Feb 2019) È stato dimostrato che questa tecnica funziona anche modificando programmi legittimi presenti sulla macchina che fanno uso di questa API.(Citazione: Morte da 1000 installatori; è tutto rotto!)
ID | Name | Description |
---|---|---|
S0402 | OSX/Shlayer |
OSX/Shlayer can escalate privileges to root by asking the user for credentials.[3] |
ID | Mitigation | Description |
---|---|---|
M1038 | Execution Prevention |
System settings can prevent applications from running that haven't been downloaded through the Apple Store which may help mitigate some of these issues. Not allowing unsigned applications from being run may also mitigate some risk. |
ID | Data Source | Data Component |
---|---|---|
DS0009 | Process | OS API Execution |
Process Creation |
Consider monitoring for /usr/libexec/security_authtrampoline
executions which may indicate that AuthorizationExecuteWithPrivileges
is being executed. MacOS system logs may also indicate when AuthorizationExecuteWithPrivileges
is being called. Monitoring OS API callbacks for the execution can also be a way to detect this behavior but requires specialized security tooling.
Überwachen Sie die Ausführung von /usr/libexec/security_authtrampoline
, die darauf hinweisen kann, dass AuthorizationExecuteWithPrivileges
ausgeführt wird. MacOS-Systemprotokolle können auch anzeigen, wann AuthorizationExecuteWithPrivileges
aufgerufen wird. Die Überwachung von OS-API-Callbacks für die Ausführung kann ebenfalls eine Möglichkeit sein, dieses Verhalten zu erkennen, erfordert aber spezielle Sicherheitstools.
Pensez à surveiller les exécutions de /usr/libexec/security_authtrampoline
qui peuvent indiquer que AuthorizationExecuteWithPrivileges
est en cours d'exécution. Les journaux système de MacOS peuvent également indiquer quand AuthorizationExecuteWithPrivileges
est appelé. La surveillance des callbacks de l'API du système d'exploitation pour l'exécution peut également être un moyen de détecter ce comportement mais nécessite un outillage de sécurité spécialisé.
Consideri il monitoraggio delle esecuzioni di /usr/libexec/security_authtrampoline
che possono indicare che AuthorizationExecuteWithPrivileges
viene eseguito. Anche i log di sistema di MacOS possono indicare quando AuthorizationExecuteWithPrivileges
viene chiamato. Anche il monitoraggio dei callback API del sistema operativo per l'esecuzione può essere un modo per rilevare questo comportamento ma richiede strumenti di sicurezza specializzati.