出现在上个月底的零日攻击报道影响了许多Office 365用户(Avanan研究人员提示),罪魁祸首是今年早些时候发现的Cerber恶意欺诈勒索软件的一个新的变体。并且与其他零日威胁一样像蘑菇一样快速的传播开来,感染的主要方法是通过使用宏。
这篇博客提供了一个对Cerber变体的分析,使用了传统的逆向工程和ThreatTrack最新版本的恶意软件分析沙箱ThreatAnalyzer 6.1。
分析Cerber
逆向工程在一般情况下往往需要对目标做什么有一个清晰的理解。不管你是分析恶意软件样本还是想从一个混淆代码中弄清楚一个函数功能,最好在缩小到细节之前对你的目标有一个大致的“感觉”。
ThreatAnalyzer是一个可以执行一个程序,文件或可控URL的沙箱,它会监控环境并提供给研究者或分析师一个关于样品在运行时会做什么的详细报告。同样值得注意的是,沙箱是一个很好的生成威胁情报并迅速获得IOCs(感染的特征) 的工具。最新版本的这个沙箱ThreatAnalyzer 6.1中有一个内置的行为检测机制,使用户能够看到一个样本的特殊行为,并且基于这些特定的行为来预测这个程序在本质上是恶意的或善意的。
看上图,在分析页面,ThreatAnalyzer 6.1针对这个特定的样本提供了以下重要信息:
1.确定该样品为恶意的需要在三个不同的方面进行检测:
ThreatIQ(我们的综合威胁情报服务器)观察该样本并试图与列入黑名单的url进行比对
样品被至少一个或多个防病毒引擎检测
基于它的行为表现,有很高的概率表明该样本是恶意的
2.显示给研究人员或用户注册表的变化,IO(文件), 它进行的网络连接尝试和它引起的过程
3.将所有它收集的详细信息聚集成一个可下载的PDF或XML报告。对于一个用户来说,他可以选择下载存档包括详细的报告,任何生成的重要文件, windows截图或者PCAP的副本文件(如果存在任何网络活动记录)
ThreatAnalyzer还提供了一个关于你分析样本的XML、JSON或PDF格式的详细报告。这些报告包含了生成的过程,文件被修改,创建或访问,注册表操作,对象创建和任何网络连接。
如果我们进一步查看该样本分析的特定XML文件,我们可以收集以下活动内容:
1.催生了WINWORD.EXE(这是正常的,因为我们存储了一个DOTM文件),但是这个进程树显示产生了很多.exe文件
2.在% appdata %中创建了一个后缀名为于VBS的随机文件:%appdata%15339.vbs
3.打开了一个cmd.exe调用了该VBS文件:exe /V /C set “GSI=%APPDATA%%RANDOM%.vbs” (for %i in (“DIm RWRL” “FuNCtioN GNbiPp(Pt5SZ1)” “EYnt=45” “GNbiPp=AsC(Pt5SZ1)” “Xn1=52” “eNd fuNCtiON” “SUb OjrYyD9()”
4.试图连接到httx://solidaritedeproximite.org/mhtr.jpg
5.在% appdata %中生成并执行了一个后缀命为.TMP的随机文件:Hash: ee0828a4e4c195d97313bfc7d4b531f1
这些高度可疑的活动是我们试图分析Office文档文件时得到的。上面的行为不能被分类为正常。所以下次当你犹豫是否要打开附件时,即使它来自一个你知道的人或组织, 在您的机器上运行它之前可以将它丢进一个像ThreatAnalyzer的沙箱中运行看一看。
逆向工程
看看这个勒索软件是如何编码的,它不仅会感染Office 365用户,而且还会感染Office 2007以上的用户。一旦该恶意Office附件文档被打开,打开函数内的宏就会自动运行。但是这依赖于宏设置是否启用或者在早期的Office版本中安全设置较低。而且很可能为了减缓分析过程和绕过传统的AV签名,这个Cerber宏的每次迭代都是不同的,从而来混淆视听。
宏将继续在% appdata %里建立一个脚本。这个VBS也是用来混淆试听的,但幸运的是它没有加密。值得注意的是一个特定的动作,它可能是也可能不是一个预期特性来绕过行为检测。它使用定时器函数来生成一个随机整数,并且和一个自产生的变量进行比较,同时,这一动作将会是代码下载cryptor组件需要的条件。
使用VBS内置的网络特性,它将尝试连接到一个远程服务器并尝试下载一个特定的文件:httx://solidaritedeproximite.org/mhtr.jpg
这可能看起来无害的,因为它只是一个简单的JPG文件,对吗? VBS代码也表明不管这个文件的内容是什么它将会重新编写该文件的内容,保存为% appdata %下的一个.TMP文件并且执行它。尽管这种技术已经被其他恶意软件使用过,并且可以追溯到几年之前,但这似乎是有趣的。
下载这个文件,保存它,然后运行。Md5 Hash是: ee0828a4e4c195d97313bfc7d4b531f1
这个下载的文件是Cerber 勒索软件的加密部分。这个程序负责扫描和加密受害者系统上的目标文件。关于这个组件的完整分析将在一个单独的博客上讨论。有趣的是,这个下载的cerber可执行文件在即使没有互联网连接的情况下也可以加密文件。这个EXE内部的代码表明它不需要连接到一个远程服务器(不同于之前的crytowall,locky,Teslacrypt等等)来对受害者的文件进行加密。
一旦系统被成功地感染将会显示下面的桌面:
并且在你的浏览器上产生一个包含以下信息的页面:
同时用一个机器人声音播放“你的文档、照片、数据库和其他重要文件已经加密”的消息。
感染总结
以下是Cerber攻击的场景流程:
1. 一个网络钓鱼电子邮件,其中包含一个恶意的Office文档附件;
2. 如果用户打开邮件,执行了该附件,附件内的Office宏将被设置为启用,宏将会产生并运行一个VBS脚本;
3. 该脚本将联系远程服务器,下载并执行Cerber勒索软件的加密器部分;
4. 扫描和加密用户的文件;
5. 显示一个通知,您的系统已被Cerber 勒索软件感染。