频道栏目
首页 > 资讯 > 杀毒防毒 > 正文

恶意软件混淆检测算法分析

16-04-29        来源:[db:作者]  
收藏   我要投稿

恶意勒索软件使用宏攻击正在呈现增长之势,我们最近在博客中心也进行了报道,分别是这里和这里。现在McAfee实验室正在研究一种新的恶意宏变种,可以在一定程度上识别虚拟机,沙箱等机制的检测。

在今年3月早期,我们就已经发现了恶意宏使用新的高混淆算法保护自己免于被静态以及传统的反恶意软件技术检测到。这些算法改变频率不会很大;我们注意到算法的更新大概是一个月一次。这么慢的更新速度也暗示了作者在软件上也只增加了很少的变化。目前为止,我们已经发现了三种混淆算法。而在今年4月中旬的事件是我们比较感兴趣的,下面是我们的分析。

这些变种的恶意宏不仅具有高混淆技术,而且有好几层外壳。除了混淆本身,宏本身的功能也是互相分散的。我已经将混淆算法转化成了python语言,躲避检测技术的脚本转化成了VBA脚本这样会更容易理解点。

下面是传入函数的混淆字符串:

图片12.png

图片12.png

 

等价的python脚本来反混淆字符串:

图片13.png

图片13.png

 

恶意软件发送一个假冒的MS 2016屏幕来诱导用户打开宏:

图片14.png

图片14.png 

 

我们的分析显示,这是一个知名的黑客创建的,因为它和早期的版本“Donoff”相似。哪个版本也发送了如下相似的信息。这就意味着这次的事件也来自于相同的组织。

图片15.png

图片15.png

 

下面的流程图显示是如何躲避检测的:

图片16.png

图片16.png

 

Layer1:躲避蜜罐技术

我们在宏中发现下面的代码检测username和hostname。如果usename是USER,hostname是HOST,那么代码将不会执行。因为大多数蜜罐技术使用的用户名就是User和Host吸引零day的恶意软件。作者使用这个方法躲避零day攻击。

图片17.png

图片17.png 

 

Layer2:检测虚拟化和反模拟

为了避免被安全人员分析,作者接下来做的事避免自己的代码在虚拟机上执行。代码如下:

图片18.png

图片18.png

 

Layer3:规避外围设备和动态工具

由于主要依靠垃圾邮件和钓鱼邮件来下载宏,作者需要渗透进像邮件扫描以及入侵检测类的产品。下面的代码检测是否存在类似Snort,Suricata,Wireshark的设备。

图片19.png

图片19.png 

 

发送payload的妥协网址

这些作者妥协一个合法的网站来传递他们的payload,本例中的合法网站的地址:

http://soc[xxxxx]it.com/system/logs/office.exe

在我们的分析中,这个硬编码的链接发送下面的文件,暗示作者依然在准备环境并没有卸载网站上的payload。(Intel Security联系了网站的所有者)

图片20.png

图片20.png 

 

我们发现这个文件有点奇怪:作者设置了一个特定文件路径的程执行条件,即使之前的一系列躲避技术返回值为true。如果恶意文件在 “_” 文件夹执行,即使存在虚拟机和动态检测也依旧会执行。检测“_australia”执行路径的代码如下所示。目前我们发现的是澳大利亚和美国:

图片21.png

图片21.png

 

我们的分析显示作者精通各种反恶意软件产品的技术。

 Sample MD5s:

d80c15fd4ee1b10512d81bde32daaf30

c1787d80ad7beb46646d5c20cdd7eff2

相关TAG标签
上一篇:从果粉到黑吃黑:一个论坛挂马的奇异反转
下一篇:卡塔尔国家银行被黑,1.4G数据泄露(涉及王室、英国军情六处、法国和波兰等各国情报)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站