近两年来,Shlayer木马已经成为macOS平台的最常见威胁。2019年,大约有1/10的Mac安全解决方案应对过至少1次Shlayer木马,该木马占macOS检测量的30%。研究人员最早是2018年2月检测到该恶意软件的,截至目前,研究人员从收集到32000个不同的恶意木马样本,并识别了143个C2服务器域名。
macOS TOP 10威胁(2018年2月-2019年10月)
自Shlayer木马首次发现至今,该恶意软件攻击活动方法变换很少,而且活动也没有减少的趋势。
Shlayer恶意软件检测量(2018年2月-2019年10月)
技术细节
从技术角度来看,Shlayer只是一款普通的恶意软件。在这些修改版本中,只有最新的Trojan-Downloader.OSX.Shlayer.e有所不同。与基于bash的恶意软件变种不同的是,该变种是用python编写的,而且算法有所不同。文中使用md5值为4d86ae25913374cfcb80a8d798b9016e的DMG文件进行证明。
一阶段感染
在挂载DMG镜像后,用户会被要求运行installation(安装)文件。但该标准installer实际上是一个python脚本,也是一个典型的macOS安装软件。
Shlayer用户指南
可执行文件所在的目录含有2个python脚本:gjpWvvuUD847DzQPyBI (主)和goQWAJdbnuv6 (辅)。后者使用字节移动实现了数据加密函数。
函数encryptText/decryptText对分别负责加密和解密字符串;
encryptList负责加密参数中传递的列表内容;
decryptList执行逆操作;
getKey()函数会根据操作系统的时间来生成加密密钥。
木马主要脚本
木马辅助脚本
然后,主脚本会生成唯一的用户和系统id,也会收集macOS系统版本相关的信息。根据这些数据,会生成GET请求参数来下载ZIP文件:
下载到/tmp/%(sessionID)目录的ZIP文件会使用解压函数解压到/tmp/tmp目录:
研究人员发现ZIP文件中有一个含有可执行文件84cd5bba3870的应用包:
解压后,主python脚本使用chmod工具来分配给文件84cd5bba3870系统中运行的权限:
样本还会使用moveIcon和findVolumePath函数复制原始挂载的DMG镜像图标到新下载应用包所在目录中:
之后,木马会使用内置的开放工具来运行下载的和解压的应用包,然后删除下载的压缩文件和解压的内容:
感染第二阶段
Shlayer自身只会执行攻击的初始阶段——main payload,入侵系统,加载main payload并运行。通过调查AdWare.OSX.Cimpli家族就可以看到对用户的一些负面效果。
乍一看,Cimpli installer看起来是无害的,只是会安装合作app:
但是实际上,Cimpli会执行许多用户看不到的动作。首先,会在Safari浏览器中安装一个恶意扩展,在一个恶意软件伪造窗口后隐藏操作系统安全通知。通过点击通知中的按钮,就会认为用户同意安装扩展。
用户看到的(左侧)实际进行的情况(右侧)
其中一个扩展名为ManagementMark,但该扩展并没有被检测为病毒:HEUR:AdWare.Script.SearchExt.gen。它会监控用户搜索并通过注入脚本script.js到浏览器页面中来重定向用户到hxxp://lkysearchex41343-a.akamaihd[.]net/as?q=c:
该样本会加载用PyInstaller打包的mitmdump工具。为了实现mitmdump来查看HTTPS流量,需要添加一个特殊的可信证书到系统中。之后,所有的用户流量都会被重定向到mitmdump加载的SOCKS5 proxy。
运行打包的mitmdump运行参数的参数
从截图中可以看出,所有流经mitmdump (SearchSkilledData)的所有流量都会由脚本SearchSkilledData.py (-s option)来处理:
该脚本会重定向所有的用户搜索查询到hxxp://lkysearchds3822-a.akamaihd[.]net。Kaspersky安全产品检测到的脚本AdWare.Python.CimpliAds.a并不是病毒。
Cimpli广告恶意软件成为系统中的锚,在该事件中流量并不会流经代理服务器,页面中注入的扩展的JS代码负责处理请求重定向。攻击者获取了用户搜索查询的访问权限后,就可以修改搜索引擎的结果来展示广告。用户就会收到无尽的广告。
而 Cimpli并非Shlayer可以下载的唯一一个广告恶意软件app。下载列表中包括AdWare.OSX.Bnodlero, AdWare.OSX.Geonei, AdWare.OSX.Pirrit,这些组成了macOS 2019 TOP 10威胁。
恶意软件家族之间的关系
Python版的Shlayer和之前bash版本的Shlayer很好区分:收集ID和系统版本细腻些、下载一个压缩文件到临时目录、执行下载的文件、删除下载痕迹等。所有修改过的地方都用curl -foL:
老版本木马(上)木马最新版本(下)
分发
恶意软件分发是恶意软件生命周期的重要一步,Shlayer的创建者也考虑到了这个问题。
Shlayer加载页示例
合作程序网站提供的描述
在大多数案例中,广告加载页面将用户带入分发链的下一个阶段,比如通过伪造的页面弹窗来安装隐藏在Flash Player更新背后的恶意软件。这也是Trojan-Downloader.OSX.Shlayer.a修改版分发的主要方式。
虚假Flash Player下载页面
Trojan-Downloader.OSX.Shlayer.e的传播方式有所不同。与之前的传播方法类似,用户会看到一个提供Flash Player更新的页面。但研究人员还在YouTube视频描述中发现了指向恶意软件下载的链接:
下面是与Shlayer分发页面有关的Wiki文章:
这些链接并不是恶意软件开发人员自己添加的,因为研究人员发现这些恶意域名都过期了,根据WHOIS数据判断,这些域名都属于同一个人。在这些网站上,新属主会发布一个重定向用户到Shlayer加载页的恶意脚本。总共有超过700个这样的域名。
统计数据表明,Shlayer攻击的用户分布在美国(31%)、德国(14%)、法国(10%)、和英国(10%)。这与分发该恶意软件的合作应用程序的条款和条件是一致的,几乎所有伪造的Flash Player下载页面都是英文内容的。
结论
研究人员对Shlayer恶意软件家族进行了大量的分析,可以得出结论macOS平台是网络犯罪分子收入的来源之一。攻击者利用了社会工程技术将木马链接隐藏于合法源之中,而且很难推测下一种欺骗技术的复杂性。
本文翻译自:https://securelist.com/shlayer-for-macos/95724/如若转载,请注明原文地址