T1574.004: Dylib 劫持
摘要
攻击者可能通过将一个具有预期名称的恶意动态库(dylib)放置在受害者应用程序在运行时搜索的路径中,来执行自己的载荷。动态加载器将根据搜索路径的顺序尝试查找 dylib。dylib 的路径可以以 <code>@rpath</code> 为前缀,这允许开发者使用相对路径来指定一组在运行时基于可执行文件位置使用的搜索路径。此外,如果使用了弱链接(例如 <code>LC_LOAD_WEAK_DYLIB</code> 函数),即使预期存在的 dylib 不存在,应用程序仍会执行。弱链接使开发者能够随着新 API 的添加,在多个 macOS 版本上运行应用程序。 攻击者可能通过在所识别路径中插入与缺失 dylib 同名的恶意 dylib 来获得执行。(Citation: Wardle Dylib Hijack Vulnerable Apps)(Citation: Wardle Dylib Hijacking OSX 2015)(Citation: Github EmpireProject HijackScanner)(Citation: Github EmpireProject CreateHijacker Dylib) dylib 被加载到应用程序的地址空间中,使恶意 dylib 能够继承应用程序的权限级别和资源。根据应用程序的不同,这可能导致权限提升和无限制的网络访问。此方法还可能逃避安全产品的检测,因为执行被掩盖在合法进程之下。(Citation: Writing Bad Malware for OSX)(Citation: wardle artofmalware volume1)(Citation: MalwareUnicorn macOS Dylib Injection MachO)
来源归属
来源:MITRE ATT&CK · 置信度:high
平台
- macOS
战术
Stealth
参考来源
- https://attack.mitre.org/techniques/T1574/004
- https://malwareunicorn.org/workshops/macos_dylib_injection.html#5
- https://www.virusbulletin.com/uploads/pdf/magazine/2015/vb201503-dylib-hijacking.pdf
- https://www.blackhat.com/docs/us-15/materials/us-15-Wardle-Writing-Bad-A-Malware-For-OS-X.pdf
- https://objective-see.com/blog/blog_0x46.html
- https://taomm.org/vol1/read.html
- https://github.com/EmpireProject/Empire/blob/master/lib/modules/python/situational_awareness/host/osx/HijackScanner.py
- https://github.com/EmpireProject/Empire/blob/08cbd274bef78243d7a8ed6443b8364acd1fc48b/lib/modules/python/persistence/osx/CreateHijacker.py