APT组织WindShift的MAC后门:WindTail分析 – 作者:黑鸟

由于昨天这篇MAC-OS恶意软件文章

2018年影响MAC-OS的恶意软件(含APT)汇总报告

中提到了这个WindShift组织的样本,所以今天整理了一下相关信息,方便观看

关于针对中东地区的APT组织WindShift,文章见我之前发的这篇。

针对中东地区的APT组织WindShift,该组织可利用自定义URL Scheme来远程感染macOS目标(需交互)

由于之前只是介绍攻击细节,并没有公开相关的样本,日前公布该组织的一批mac样本(知识星球搜windtail即可找到)

image.png

image.png

这批样本的寻找思路如下:

通过上面那篇文章里面提及的PPT里面的邮件截图,里面提及了一个样本的名字,因此可以通过VT搜索Meeting_Agenda.zip即可获得相关样本

image.png

↑↓

image.png

相关联的样本列表(MD5)

Meeting_Agenda.zip

ff044de5e7a58d5125ba822ca379db2d

NPC_Agenda_230617.zip

6aa546f5a0831cf49ec6509c5002a1c6

Final_Presentation.zip

190fde5eca774936d78e37f73b2ff1fa

Scandal_Report_2017.zip

ff044de5e7a58d5125ba822ca379db2d

在MAC中解压后的样本显示如下图,为了避免怀疑使用了office图标。

image.png

下面推荐一款名为whatsyoursign的MAC app,该程序可以鉴别mac应用是否证书有效,文件类型是什么,随手一查即可简单排查恶意程序。

image.png

而这个后门就被这个工具查出以下信息:usrnode已签名,但证书已被撤销

image.png

下载链接:

https://objective-see.com/products/whatsyoursign.html

回到正题,通过codesign和spctl程序也可以判断出该后门证书已被撤销

image.png

因此说明,苹果的审核机制也不是万能的,还是会有漏网之鱼.

后门主程序名为usrnode

image.png

image.png

        list中key参数LSMinimumSystemVersion是为了兼容OSX 10.7(Lion)

        而key参数NSUIElement是为了告诉操作系统在没有图标或菜单(即隐藏状态)的情况下可以执行应用程序

        其中list中最关键的CFBundleURLSchemes

(CFBundleURLTypes),其包含应用程序实现的一系列自定义URL方案

(此处为:) openurl2622007,

        而这正与WindShift通过使用自定义URL方案来感染macOS相对应。

image.png

PPT中也提到了类似的参数

image.png

用hopper反编译,应用运行后首先会运行此函数

image.png

LSSharedFileListInsertItemURL方法作用:添加了一个登录项,这是获得持久性的机制,并确保每次用户登录时都会自动(重新)启动(恶意)应用程序。这可以通过System Preferences应用程序看到:

image.png

这篇文章提到了Mac app自启动的方法

image.png

https://tmyam.github.io/blog/2014/06/10/sha-he-kai-ji-zi-qi-dong/

在调用NSApplicationMain方法后,便会调用applicationDidFinishLaunching

(WatchKit在启动周期结束后以及应用程序界面处于活动状态之前会调用此方法)

image.png

见注释,操作主要为了生成并加载唯一标识符

下图为date.txt的内容

image.png

上面提到的tuffel方法有如下功能:

1 将恶意应用程序移动到/Users/user/Library/目录中

2 通过open命令执行这个持久化副本程序

3 解密指定文件扩展名相关的文件中的内嵌字符串

扩展名如下

image.png

其中第三步的解密方法采用的是yoop方法,通过AES进行解密

image.png

image.png

与PPT中提及的密钥一致。

image.png

通过在解密函数下断点可以dump出C2连接

image.png

http://flux2key.com/liaROelcOeVvfjN/fsfSQNrIyxeRvXH.php?very=%@&xnvk=%@

执行完yoop方法后,接下来会执行myDel方法,该方法会与C2进行连接,同样等待AES解密完毕可得到C2:

string2me.com/qgHUDRZiYhOqQiN/kESklNvxsNZQcPl.php

恶意域名:

flux2key.com

string2me.com

最后介绍一个工具,可以通过ProcInfo在MAC进行进程监控,已加入我的mac沙箱。

(https://github.com/objective-see/ProcInfo)

image.png

参考链接:

https://mp.weixin.qq.com/s/lTQKtaocdvZjO2a3-QRIrg

image.png

来源:freebuf.com 2018-12-25 22:23:10 by: 黑鸟

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论