launchd 持久化
launchd 持久化 是什么?
launchd 持久化macOS 持久化技术,通过安装 LaunchDaemon 或 LaunchAgent 的 plist 文件,让 launchd 在开机、登录或触发时执行攻击者代码。
launchd 持久化(MITRE ATT&CK T1543.004)滥用 macOS 的 launchd 初始化系统。攻击者将 plist 文件投放到 /Library/LaunchDaemons(开机时以 root 运行)、/Library/LaunchAgents(每个用户登录时运行)或 ~/Library/LaunchAgents(当前用户)。plist 定义 Label、ProgramArguments 和触发条件,如 RunAtLoad、KeepAlive、StartInterval、WatchPaths、StartCalendarInterval。launchd 会保持进程存活并在退出时重启。OSX/Shlayer、XCSSET 等 macOS 恶意家族常用此手法。防御措施:用 EDR 或 fs_usage 监控相关目录、为 plist 建立基线、对未签名可执行文件告警,并利用 TCC、SIP 与 MDM 配置文件限制系统路径的写入权限。
● 示例
- 01
在 /Library/LaunchDaemons 中放入 com.apple.softwareupdated.plist,在开机时启动 /tmp/updater。
- 02
按用户的 LaunchAgent,通过 RunAtLoad 在每次登录时重新运行 Python 植入物。
● 常见问题
launchd 持久化 是什么?
macOS 持久化技术,通过安装 LaunchDaemon 或 LaunchAgent 的 plist 文件,让 launchd 在开机、登录或触发时执行攻击者代码。 它属于网络安全的 攻击与威胁 分类。
launchd 持久化 是什么意思?
macOS 持久化技术,通过安装 LaunchDaemon 或 LaunchAgent 的 plist 文件,让 launchd 在开机、登录或触发时执行攻击者代码。
launchd 持久化 是如何工作的?
launchd 持久化(MITRE ATT&CK T1543.004)滥用 macOS 的 launchd 初始化系统。攻击者将 plist 文件投放到 /Library/LaunchDaemons(开机时以 root 运行)、/Library/LaunchAgents(每个用户登录时运行)或 ~/Library/LaunchAgents(当前用户)。plist 定义 Label、ProgramArguments 和触发条件,如 RunAtLoad、KeepAlive、StartInterval、WatchPaths、StartCalendarInterval。launchd 会保持进程存活并在退出时重启。OSX/Shlayer、XCSSET 等 macOS 恶意家族常用此手法。防御措施:用 EDR 或 fs_usage 监控相关目录、为 plist 建立基线、对未签名可执行文件告警,并利用 TCC、SIP 与 MDM 配置文件限制系统路径的写入权限。
如何防御 launchd 持久化?
针对 launchd 持久化 的防御通常结合技术控制与运营实践,详见上方完整定义。
launchd 持久化 还有哪些其他名称?
常见的别称包括: LaunchDaemon 持久化, LaunchAgent 持久化。
● 相关术语
- attacks№ 238
cron 持久化
Linux 与 Unix 中的持久化技术,利用 cron、anacron 或 systemd 定时器按时间或事件重新执行攻击者代码。
- attacks№ 610
LD_PRELOAD 劫持
一种 Linux 持久化与库劫持技术,利用 LD_PRELOAD 环境变量或 /etc/ld.so.preload 文件向动态链接进程注入攻击者代码。
- attacks№ 975
计划任务持久化
一种持久化与执行手法,攻击者创建或修改 Windows 计划任务,使载荷在登录、开机或定时等触发条件下运行。
- attacks№ 1246
WMI 事件订阅持久化
一种持久化手法,注册永久 WMI 事件过滤器和消费者,使攻击者代码在指定系统事件发生时被触发。
- attacks№ 914
注册表 Run 键持久化
经典 Windows 持久化技术,在 Run 或 RunOnce 注册表项中添加条目,使二进制或脚本在每次用户登录时执行。
- malware№ 949
Rootkit
一种隐蔽性极强的恶意软件,可在操作系统或设备上获得并隐藏特权访问权限,使常规工具难以检测。