与OceanLotus 相关的macOS 后门
2020-11-30 11:40:00 Author: www.4hou.com(查看原文) 阅读量:203 收藏

Trendmicro研究人员最近发现了一个与OceanLotus 组织相关的新后门。该新变种的部分更新包括一些新的行为和域名。截止目前,仍然有许多杀毒软件仍然无法成功检测。

由于该后门的动态行为和代码与之前的OceanLotus样本非常相似,因此研究人员确认这是OceanLotus的样本。

Old OceanLotus

Fig-2-latest-OceanLotus

图 1-2. OceanLotus样本(上)和最新OceanLotus样本(下)的比较

OceanLotus主要针对传媒、科研等行业的组织发起定向攻击。最近,研究人员发现有攻击者利用这些恶意网站来传播恶意软件。

因为攻击中使用的文档是越南语的,而且之前的样本也是攻击越南,因此研究人员分析后怀疑样本背后的攻击者主要攻击越南用户。

样本

样本是以zip文件中的app来传播的。使用了word文件的图标作为伪装,尝试伪装成为合法的word 文件。

Fig-3-sample-file

图 3. 样本文件名、图标和app bundle结构

恶意软件使用的另一个绕过检测的技术是在app bundle名中加入特殊字符。当用户通过macOS Finder app或终端命令行寻找伪造的doc 文件夹时,文件夹的名字是"ALL tim nha Chi Ngoc Canada.doc" (“tìm nhà Chị Ngọc”,翻译过来就是“找到Mrs. Ngoc的房子”)。但是研究人员检查原始的zip文件在"." 和 "doc"之间发现了3个字节。

Fig-4-Special-Character

图 4. "." 和 "doc"之间的特殊字符

3个字节的"efb880"是UTF-8编码的。根据UTF-8映射,相关的Unicode 编码是"U+FE00"。

image.png

表1. UTF-8映射

操作系统会将app bundle 看作不支持的目录类型,默认动作open 命令是执行恶意app。否则,如果后缀是没有特殊字符的.doc,就会调用Word 来打开app bundle,但是因为是无效的文件,app就无法正常打开。

app bundle样本的代码签名信息如下:

Fig-5-code-signing

图 5. 样本的代码签名信息

App bundle中包含有2个文件:

· ALL tim nha Chi Ngoc Canada: 含有主恶意路径的shell脚本;

· configureDefault.def: 执行过程中展示的word文件。

Fig-6-File-contents

图 6. “ALL tim nha Chi Ngoc Canada” 文件内容

Fig-7-OceanLotus-Document

图 7. 执行文件后展示的文件

Shell脚本运行后,会执行以下动作:

1)删除"*ALL tim nha Chi Ngoc Canada.?doc*”中文件的文件隔离属性;

2)尝试移除系统中文件的文件隔离属性;

3)复制"ALL tim nha Chi Ngoc Canada.?doc/Contents/Resources/configureDefault.def(doc)"到"/tmp/ALL tim nha Chi Ngoc Canada.doc(doc)" 中;

4)打开"/tmp/ALL tim nha Chi Ngoc Canada.doc(doc)";

5)提取base64编码的二进制文件到"ALL tim nha Chi Ngoc Canada.?doc/Contents/Resources/configureDefault.def(fat - binary)"中,这是第二阶段payload;

6) 将第二阶段payload的访问权限修改为执行第二阶段payload的启动;

7) 删除恶意软件app bundle "ALL tim nha Chi Ngoc Canada.?doc";

8) 复制 "/tmp/ALL tim nha Chi Ngoc Canada.doc(doc)"到"{execution directory}/ALL tim nha Chi Ngoc Canada.doc";

9) 删除"/tmp/ALL tim nha Chi Ngoc Canada.doc"。

第二阶段payload

执行后,第二阶段payload(ALL tim nha Chi Ngoc Canada.?doc/Contents/Resources/configureDefault.def)会执行以下动作:

1) 释放第三阶段payload到~/Library/User Photos/mount_devfs;

2) 通过创建~/Library/LaunchAgents/com.apple.marcoagent.voiceinstallerd.plist 为样本创建驻留;

Fig-8-plist-file

图 8. Plist文件 ~/Library/LaunchAgents/com.apple.marcoagent.voiceinstallerd.plist

3) 使用touch命令修改样本的时间戳;

Fig-9-Timestamp

图 9. 释放的文件的时间戳

4) 删除自己。

第三阶段payload

在第三阶段payload (~/Library/User Photos/mount_devfs)中,字符串使用base64编码和字节修改来加密。

Fig-10-Encrypted-strings

图 10. 加密的字符串

Fig-11-Decryption

Fig-12-Decryption-routine

图 11-12. 解密方法

与老版本的OceanLotus 后门类似,新版本的后门中包含2个主函数:

· 一个用来收集操作系统信息、提交信息给恶意C2 服务器、接受其他的C2通信信息;

· 另一个是后门功能。

收集的信息会被加密,并发送给恶意C2服务器。

Fig-13-TCP-stream

图 13. 发送给C2服务器的TCP流

并从相同的服务器接收命令。

Fig-14-TCP-stream-commands

图 14. 从C2服务器接收命令的TCP流

恶意软件使用的C2服务器如下所示:

· mihannevis[.]com

· mykessef[.]com

· idtpl[.]org

新变种的后门功能与老版本的类似,如下所示:

Fig-15-ComparisonFig-16-New-OceanLotus

图 15-16. 老版本OceanLotus变种(上)和新版本(下)的代码比较

C2域名

根据Google和Whois 历史记录,mihannevis[.]com域名是在使用C2 服务器之前用来保存其他网站信息。

Fig-17-Domain-History

Fig-18-Domain-History-in-Google

图 17-18. mihannevis[.]com域名历史,Whois (上)和谷歌(下)

在VirusTotal中,相关的URL查询出现在8月底。

Fig-19-URLs

图 19. VirusTotal中与mihannevis[.]com相关的URL

之前,域名"mykessef[.]com" 被用作C2服务器。

Fig-20-Domain-history-lookup

图 20. mykessef[.]com域名历史

"idtpl[.]org"域名的注册时间是3年前,之后没有更新历史。根据Whois 的查询结果,其注册商已于2020年3月底过期。

Fig-21-registration-information

图 21. idtpl[.]org 注册信息

但是,在2020年7月中旬,其IP 地址被修改为185[.]117[.]88[.]91。

Fig-22-Domain-History

图 22. idtpl[.]org  域名历史信息

本文翻译自:https://www.trendmicro.com/en_us/research/20/k/new-macos-backdoor-connected-to-oceanlotus-surfaces.html如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/Y022
如有侵权请联系:admin#unsafe.sh