跳转至

Dylib劫持

对手可能通过在受害者应用程序在运行时搜索的路径中放置具有预期名称的恶意动态库(dylib)来执行其负载。动态加载器将根据搜索路径的顺序尝试查找dylib。dylib的路径可能以@rpath为前缀,这允许开发人员使用相对路径在运行时根据可执行文件的位置指定一组搜索路径。此外,如果使用弱链接,例如LC_LOAD_WEAK_DYLIB函数,即使预期的dylib不存在,应用程序仍将执行。弱链接使开发人员能够在添加新API的多个macOS版本上运行应用程序。 对手可能通过在识别的路径中插入具有缺失dylib名称的恶意dylib来获得执行。(引用: Wardle Dylib Hijack Vulnerable Apps)(引用: Wardle Dylib Hijacking OSX 2015)(引用: Github EmpireProject HijackScanner)(引用: Github EmpireProject CreateHijacker Dylib) dylib被加载到应用程序的地址空间中,允许恶意dylib继承应用程序的权限级别和资源。根据应用程序的不同,这可能导致权限提升和不受限制的网络访问。由于执行被掩盖在合法进程下,此方法还可能逃避安全产品的检测。(引用: Writing Bad Malware for OSX)(引用: wardle artofmalware volume1)(引用: MalwareUnicorn macOS Dylib Injection MachO)