【技术分享】针对勒索软件MacRansom的分析

栏目: 编程工具 · 发布时间: 7年前

内容简介:【技术分享】针对勒索软件MacRansom的分析
2017-06-16 14:23:22 阅读:164次 来源: 安全客 作者:myswsun

【技术分享】针对勒索软件MacRansom的分析

作者: myswsun

预估 稿费:300RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

0x00 前言

很多Mac用户可能认为他们的电脑能在类似勒索软件的攻击中幸免,认为他们的系统是相对安全的。Mac用户相对于Windows用户来说确实攻击比较少,但是这个和操作系统漏洞级别无关。事实上主要由于90%的个人用户使用Windows,而只有6%使用Mac。

【技术分享】针对勒索软件MacRansom的分析

0x01 MacRansom 网站

最近,我们的FortiGuard实验室发现了Ransomware-as-a-service (RaaS),其在TOR网络中使用一个web入口成为现今的一个趋势。然而,这种情况下,看到Windows以外的网络攻击是有趣的。这还是第一次在Mac OS上面看到RaaS。

【技术分享】针对勒索软件MacRansom的分析

这个MacRansom变种从网站中得到不易。它必须直接联系作者构建勒索软件。首先,我们认为它是个骗局,因为没有样本。但是通过作者邮件得到了意外的答复。

【技术分享】针对勒索软件MacRansom的分析

在我们首次邮件问询中,我们向作者说明了大概的要求,例如需要支付的比特币数量,触发勒索软件的日期,并且如果有人插入了USB设备它能被执行。

我们在上午11点 (GMT+8)发送了邮件,大约在当天下午9点得到了首次回应。

回应1(9点)

【技术分享】针对勒索软件MacRansom的分析

达成6月1日触发的共识,并提供了我的比特币地址,作者发了样本。

回应2(11点)

【技术分享】针对勒索软件MacRansom的分析

因为作者响应很快,我们试图深入的询问勒索软件相关的内容。

【技术分享】针对勒索软件MacRansom的分析

回应3(12点)

观察回应的时间,可以猜到作者可能在不同的时区,因为一般在深夜回复(对她们来说可能是早上)。同时,在第一次回应中,作者说“在你当地时间的6月1日午夜”。在发邮件时他们可能注意到了时间的不同。

为了验证勒索软件作者的地理位置,我们查看了原始的SMTP头,并且找到了他们的时区是GMT – 4。

【技术分享】针对勒索软件MacRansom的分析

0x02 行为分析

接下来,我们开始执行恶意软件。下面是作者宣称的功能点。我们看了下代码,查看是否有这些功能。

【技术分享】针对勒索软件MacRansom的分析

运行MacRansom,首先得到一个来自未定义的开发者的一个提示。因此,只要用户没有打开来自未知的开发者的文件,他们是安全的。点击打开使得勒索软件可以运行。

0x03 反分析

首先这个勒索软件检查自己是否运行于非Mac环境中,或者是否被调试。如果这些条件没有满足,勒索软件将会终止。

它以PT_DENY_ATTACH为参数调用ptrace或者进程跟踪命令行来检查勒索软件是否被附加调试器。

【技术分享】针对勒索软件MacRansom的分析

然后,使用sysctl hw.model命令行,检查机器型号并与“Mac”字符串比较。

【技术分享】针对勒索软件MacRansom的分析

最后,检查机器是否有两个CPU

【技术分享】针对勒索软件MacRansom的分析

0x04 启动点

一旦通过了初始检查,勒索软件创建了一个启动点~/LaunchAgent/com.apple.finder.plist。文件名模仿了Mac中的合法文件,以减少可疑程度。这个启动点允许MacRansom在每次启动是运行,并确保在触发时间加密。

com.apple.finder的内容:

【技术分享】针对勒索软件MacRansom的分析

然后拷贝原始的可执行文件到~/Library/.FS_Store。再次伪装成合法的文件名。在文件拷贝后,使用touch -ct 201606071012 '%s'命令改变时间戳。改变时间戳通常用来混淆调查取证。

然后勒索软件使用launchctl来加载com.apple.finder.plist。

0x05 加密

如上文提到,加密有触发时间,其由作者设置。在我们的例子中,是2017年6月1日零点。如果日期没到,勒索软件退出。

【技术分享】针对勒索软件MacRansom的分析

如果触发时间到了,勒索软件开始使用下面的命令行来枚举文件。对于勒索软件这不是常见的枚举文件的方式,但是一直很有效,因为大部分勒索软件遍历目录,和包含的文件扩展来确定加密文件。

%s是勒索软件的文件路径:

【技术分享】针对勒索软件MacRansom的分析

勒索软件最多只加密128个文件,通过上述命令返回。

和其他加密勒索软件比,这个加密算法是核心部分,在这上面我们花了大量的时间。我们的目的是找到RSA加密路径,然而这个勒索软件不像之前披露其他的OSX加密勒索软件那么复杂。它使用硬编码密钥的对称加密算法来劫持受害者的文件。这个勒索软件使用了两种对称密钥:

ReadmeKey: 0x3127DE5F0F9BA796

TargetFileKey: 0x39A622DDB50B49E9

ReadmeKey用来解密_README_文件,其包含了勒索提示和指令,TargetFileKey用来加密和解密受害者的文件。

值得注意的一件事是我们发现当逆向加密/解密算法时,TargetFileKey由随机生成的数字生成。换句话说,加密的文件一旦在勒索软件退出后将无法解密,TargetFileKey的内存将被释放,因此创建一个解密器或者恢复 工具 来恢复加密的文件有点挑战。而且,它没有任何与C&C服务器通信的功能,意味着没有TargetFileKey的密钥副本。但是,技术上恢复TargetFileKey是可行的。已知的技术是暴力破解。现代CPU暴力破解8字节长的密钥不需要花太久。

然而,我们依然怀疑作者号称能解密被劫持的文件,甚至假设受害者发送给作者一个未知的随机文件,见下图的勒索提示,不是完全正确的。

加密过程的伪代码如下:

【技术分享】针对勒索软件MacRansom的分析

在成功加密文件之后,它也会加密com.apple.finder.plist和原始的可执行文件。改变时间戳,并删除他们。作者这么做是为了即使使用恢复工具得到勒索软件,也是无意义的。

勒索软件需要0.25比特币(大约700美元),需要受害者联系getwindows@protonmail.com来解密。

【技术分享】针对勒索软件MacRansom的分析

0x06 总结

并不是每天都能看到新的专门针对Mac平台的勒索软件。尽管它的危害远低于目前针对Windows的勒索软件,但是它会加密受害者的文件或者阻止访问重要文件,从而造成严重危害。

这个MacRansom变种可能是模仿者制作的,因为我们看到很多来自之前的OSX勒索软件中的类似代码和想法。尽管它不同于之前的OSX勒索软件使用了反分析技巧,但是这些都是广为传播的技术。不管运行的操作系统平台,MacRansom是勒索软件盛行的另一个例子。针对勒索软件没有完美的缓解措施。然而,经常备份重要文件能将损失降到最低,同时要注意未知源或开发者的文件。

0x07 附录

Samples:

a729d54da58ca605411d39bf5598a60d2de0657c81df971daab5def90444bcc3 – Zip

Detected as OSX/MacRansom.A!tr

617f7301fd67e8b5d8ad42d4e94e02cb313fe5ad51770ef93323c6115e52fe98 – Mach-O file

Dropped files:

~/LaunchAgent/com.apple.finder.plist

~/Library/.FS_Store

MacRansom网站的FAQ:

【技术分享】针对勒索软件MacRansom的分析

【技术分享】针对勒索软件MacRansom的分析 【技术分享】针对勒索软件MacRansom的分析

本文由 安全客 翻译,转载请注明“转自安全客”,并附上链接。

原文链接:


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编程之道

编程之道

杰弗雷﹒詹姆斯 / 清华大学出版社 / 1999-05 / 18.00元

本书出自美国一位善于进行哲学思考、有十多年工作经验的程序设计师——杰弗雷·詹姆斯之手,他以一种敏锐的眼光审视着发生在程序设计室里的各种各样的小故事,并利用古老的道家思想对其进行分析。简单的故事蕴含深奥的道理,是本书的最大特色。本书语言优美,比喻生动,可读性极强。一起来看看 《编程之道》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试