T1037.004: RC 脚本
摘要
攻击者可能通过修改 RC 脚本来建立持久化,这些脚本在类 Unix 系统启动期间执行。这些文件允许系统管理员为不同的运行级别在启动时映射并启动自定义服务。修改 RC 脚本需要 root 权限。 攻击者可能通过向 <code>rc.local</code>、<code>rc.common</code> 以及特定于该类 Unix 发行版的其他 RC 脚本添加恶意二进制路径或 shell 命令来建立持久化。(Citation: IranThreats Kittens Dec 2017)(Citation: Intezer HiddenWasp Map 2019) 在重新启动时,系统以 root 身份执行脚本内容,从而实现持久化。 对 RC 脚本的滥用对于默认使用 root 用户的轻量级类 Unix 发行版尤其有效,例如 ESXi 虚拟机监控程序、IoT 或嵌入式系统。(Citation: intezer-kaiji-malware) 由于 ESXi 服务器将大多数系统文件存储在内存中,因此在关机时会丢弃更改,所以利用 `/etc/rc.local.d/local.sh` 是跨重新启动实现持久化的少数机制之一。(Citation: Juniper Networks ESXi Backdoor 2022) 一些类 Unix 系统已转向 Systemd 并弃用了 RC 脚本的使用。在 macOS 中,这现在是一种已被弃用的机制,取而代之的是 Launchd。(Citation: Apple Developer Doco Archive Launchd)(Citation: Startup Items) 此技术可用于仍执行 RC 脚本的 Mac OS X Panther v10.3 及更早版本。(Citation: Methods of Mac Malware Persistence) 为了保持向后兼容性,一些系统(例如 Ubuntu)会在 RC 脚本存在且具有正确文件权限时执行它们。(Citation: Ubuntu Manpage systemd rc)
来源归属
来源:MITRE ATT&CK · 置信度:high
平台
- macOS
- Linux
- Network Devices
- ESXi
战术
持久化
参考来源
- https://attack.mitre.org/techniques/T1037/004
- https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html
- https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/StartupItems.html
- https://blogs.juniper.net/en-us/threat-research/a-custom-python-backdoor-for-vmware-esxi-servers
- http://manpages.ubuntu.com/manpages/bionic/man8/systemd-rc-local-generator.8.html
- https://iranthreats.github.io/resources/attribution-flying-rocket-kitten/
- https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf
- https://www.intezer.com/blog/research/kaiji-new-chinese-linux-malware-turning-to-golang/
- https://www.intezer.com/blog-hiddenwasp-malware-targeting-linux-systems/