跳转至

启动守护程序

对手可能会创建或修改启动守护程序以执行恶意有效负载作为持久性的一部分。启动守护程序是用于与Launchd交互的plist文件,Launchd是macOS使用的服务管理框架。安装启动守护程序需要提升的权限,它们在系统登录前为每个用户执行,并在后台运行而无需用户交互。在macOS初始化启动期间,launchd进程从/System/Library/LaunchDaemons//Library/LaunchDaemons/中的plist文件加载按需启动的系统级守护程序的参数。启动守护程序的必需参数包括用于标识任务的Label,提供可执行文件路径的Program,以及指定任务何时运行的RunAtLoad。启动守护程序通常用于提供对共享资源的访问、软件更新或执行自动化任务。(引用: AppleDocs Launch Agent Daemons)(引用: Methods of Mac Malware Persistence)(引用: launchd Keywords for plists) 对手可能会通过使用RunAtLoad参数设置为trueProgram参数设置为恶意可执行文件路径来安装配置为在启动时执行的启动守护程序。守护程序名称可能会通过使用相关操作系统或良性软件的名称进行伪装(即伪装)。当启动守护程序执行时,程序继承管理员权限。(引用: WireLurker)(引用: OSX Malware Detection) 此外,系统配置更改(例如安装第三方包管理软件)可能会导致文件夹如usr/local/bin变得全局可写。因此,配置不当可能允许对手修改当前启动守护程序的plist文件引用的可执行文件。(引用: LaunchDaemon Hijacking)(引用: sentinelone macos persist Jun 2019)