关键词:macOS、OSX.EvilQuest、恶意软件

近期,CrowdStrike基于内部和开源数据的分析,得到了如下结论:

  • 勒索软件(占分析的威胁数据的43%)、后门(35%)和木马(17%)是CrowdStrike研究人员发现的2021年最受黑客组织欢迎的macOS恶意软件类别,如图1所示。每一类恶意软件都有不同的动机:勒索软件是为了谋利,后门是为了远程访问,木马是为了窃取数据。

  • 2021年,最流行的macOS勒索软件家族是OSX.EvilQuest,在分析的勒索软件中占比98%;最流行的macOS后门程序是OSX.Flashback,在威胁中占比31%;最流行的macOS木马程序是OSX.Lador,在macOS木马中占比47%。

图 1:2021年macOS威胁蓝图

为了提高针对macOS恶意软件的防御水平,本文详细介绍了CrowdStrike研究人员如何分析和理解macOS恶意软件的行为方式以及在分析过程中所面临的挑战。

1.“苹果”遭遇的威胁

首先从基础研究macOS恶意软件,如按文件类型对macOS恶意软件进行分类,然后深入了解恶意软件的功能、目标和一般行为,最后以研究人员在分析macOS恶意软件时所遇到的挫折作为结束。

恶意软件攻击macOS系统与其他任何操作系统的目标都是相同的,其攻击目标范围从间谍和侦察到挖矿、文件加密、远程访问以及与广告软件相关的劫持和注入。

2. ‍‍macOS威胁的文件类型

恶意软件开发人员经常试图隐藏或掩盖文件类型,欺骗用户执行,文件类型识别还有助于建立分析所需的工具。图2提供了macOS恶意软件文件类型的分类。

图 2:macOS恶意软件的文件类型

尽管大多数恶意软件都是编译过的二进制文件,但在分析macOS恶意软件时通常会遇到许多非二进制文件,对于攻击者而言,每一种都有自己的优点和缺点。例如:

  • 苹果的磁盘镜像(dmg)由于在执行时会自动安装,因此在恶意软件中很常见。OSX.EvilQuest(图3)和OSX.Shlayer恶意软件通常使用这种文件类型。

  • Packages(.Pkg、.mpkg)是另外一种经常被恶意软件滥用的文件类型,因为它们允许恶意软件开发者自定义预安装和后安装脚本并通过安装程序自动运行。例如:OSX.EvilQuest在挂载.dmg文件后使用一个恶意包,它包含一个后安装脚本,可以将二进制文件OSX.EvilQuest复制到/Library/mixednkey/下,并命名为toolroomd。

  • AppleScripts或AppleScript变体(如执行自动化重复任务的Run-only)经常被挖矿软件OSA.OSAMiner滥用。

‍3.传播及感染媒介

社工是传播恶意软件最常见的方法之一,它企图欺骗用户手动执行并感染他们的macOS,虚假更新、虚假应用、木马化应用和感染应用是欺骗用户安装恶意软件的最常用方法。

例如,OSX.EvilQuest勒索软件模仿流行的混音应用程序(如图3所示),而像OSX.Lador这样的木马则通过垃圾邮件传播,其中包含恶意插件、破解的应用程序、免费程序和虚假更新。

图 3:OSX.EvilQuest勒索软件作为假的Mixed In Key DJ应用程序被安装

其他恶意软件变体,如OSX.XCSSET通过恶意文档供应链攻击进行传播,其攻击目标是合法的软件开发工具,如苹果的IDE Xcode。更复杂的攻击会使用不同应用程序或已感染主机的操作系统内核或账户中的漏洞。例如,较早的OSX.FlashBack后门变体使用了Java漏洞来攻陷目标。

通过了解传播和感染向量,研究人员可以采取分层的安全方法,建立保护能力以阻止入侵。

4. 持久性和战术

大多数威胁,包括macOS恶意软件都试图确保在系统重启后持续存在。分析和理解持久性战术使研究人员能够构建基于行为的检测,并训练机器学习模型进行自动化检测。

最常见的一种持久性机制是滥用macOS中的登录项,其它常见的持久性策略包括滥用启动项、添加恶意软件到计划任务中或在将来某个时候使用cronjobs执行任务。

Dylib劫持是曾经最隐蔽的一种持久性机制,尤其是在二进制文件中。例如,一些2012年的OSX.FlashBlack后门变体使用的恶意库是在加载时通过DYLD_INSERT_libraries环境变量注入进程的(在加载时,动态加载程序将检查DYLD_INSERT_libraries变量并加载所有指定的库),其它变体则使用Dylib劫持技术,试图将Dylib植入到从多个位置加载动态库的应用程序中,然而,苹果公司早就提高了安全性,减少了滥用DYLD_INSERT_LIBRARIES的用例数量。

5. 恶意软件分析的挑战

大多数恶意软件,无论目标平台如何,为了使得分析困难,从一开始就会使用反静态分析方法,例如基于字符串的混淆、代码混淆和加密。脚本通常使用混淆工具来随机化函数和变量名并插入垃圾和无用代码,而二进制文件则使用打包或加密程序。

MacOS恶意软件通常还使用调试检测策略,这使得分析更具挑战,此类策略包括使用sysctlAPI检查进程是否处于调试状态;调用ptrace system call防止调试器附加到进程中;或者甚至使用内置的macOS命令提取有关机器的信息。

6. 探究EvilQuest

OSX.EvilQuest在执行时,首先会通过查看从地址0x0000000100007BC0开始的is_virtual_mchn函数来检查它是否在虚拟机或沙箱环境中运行。OSX.EvilQuest通过两次使用sleep函数和time函数执行此检查,这两个time函数的返回值是恶意软件用于睡眠的时间,由于沙箱通常会修改sleep函数以加快分析,因此,这两个时间戳之间的差异将不同,由此恶意软件会知道它正在沙箱环境中运行。

在恶意软件尝试确保其持久性操作(根据传递给二进制文件的–noroot参数,以守护进程或代理程序的方式启动)之前,它会采取另外两种对抗分析的方法:第一个是使用从地址0000000100007AA0开始的is_debugging函数检查恶意软件是否正被调试,第二个是使用从地址0000000100007C20开始的prevent_trace函数)用于防来阻止带有PT_DENY_ATTACH标志的ptrace call调试。

为了阻止ptrace函数起作用,OSX.EvilQuest会以不同的逻辑使得分析人员更难定位该函数调用,或通过对调试器打补丁的方式来绕过该机制。

7.CrowdStrike保护macOS

持续研究macOS恶意软件的趋势和行为,识别威胁文件类型,了解潜在恶意软件的行为、目标和持久性机制以及分析人员在分析时可能遇到的障碍,并将其转化为专家输入和知识,对于构建关于macOS的全面保护和威胁可见性的解决方案至关重要。

8. 攻击指标

文件名

SHA256

OSX.EvilQuest

b34738e181a6119f23e930476ae949fc0c7c4ded6efa003019fa946c4e5b287a;

5a024ffabefa6082031dccdb1e74a7fec9f60f257cd0b1ab0f698ba2a5baca6b
OSX.Shlayer852ff1b97c1155fc28b14f5633a17de02dcace17bdc5aadf42e2f60226479eaf
OSX.Lador

30ca6a13a85ac1ea7858e8163d9c08d8bbd8ed8bc6e97498b5b02d6de042b51e;

33ee40b89ee505bced8caaa4226223a0b9622b944e790fb5a704ffe6fce3eaa6
OSX.XCSSET

a6141dfb0b6a242246d26afecfea00ed04dee24209f7d8d9bfef82042accd0f0;

6614978ab256f922d7b6dbd7cc15c6136819f4bcfb5a0fead480561f0df54ca6;

ceb023a95b8ee954c31bc6aa47a8f1461e246fea939a57fc59bc4b457ccb61ff
OSX.FlashBack8d56d09650ebc019209a788b2d2be7c7c8b865780eee53856bafceffaf71502c

参考链接:https://www.crowdstrike.com/blog/how-crowdstrike-analyzes-macos-malware-to-optimize-automated-detection-capabilities/

编辑|马春燕

审校|何双泽、金矢

本文为CNTIC编译整理,不代表本公众号观点,转载请保留出处与链接。

声明:本文来自国家网络威胁情报共享开放平台,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。