Launchctl
Launchctl 控制 macOS 的启动进程,该进程处理诸如启动代理和启动守护进程之类的事情,但是可以自己执行其他命令或程序。
Launchctl 支持交互地在命令行上获取子命令,甚至可以从标准输入重定向。
通过加载或重新加载启动代理或启动守护进程,攻击者可以获得持久性或执行他们 所做的更改。
从 launchctl 运行命令就像 launchctl submit -l - /Path/to/thing/to/execute "arg" "arg" "arg" "arg"
一样简单。
可能需要提升特权才可以加载、卸载或重新加载启动代理或启动守护进程。
如果系统允许 launchctl,攻击者可以滥用此功能来执行代码,甚至绕过白名单。
缓解
阻止用户安装自己的启动代理或启动守护进程,要求它们由组策略推出。
检测
Knock Knock 可用于检测持久化程序。例如通过 launchctl 安装的启动代理程序或启动守护程序。
此外,每个启动代理或启动守护进程必须在磁盘上的某个位置户有可以监视的相应 plist 文件。
监控 launchctl/launchd 的进程执行,以查找异常或未知进程。
- 译者: 林妙倩、戴亦仑 . source:cve.scap.org.cn
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论