Dridex(银行木马)和Locky(勒索软件)是两个臭名昭著的恶意软件家族。2016年,在世界范围内投放了大量的恶意邮件传播恶意代码,在短暂的销声匿迹之后重新回归到大众的视野。
本篇文章中介绍了的PDF下载器负责传播Dridex(银行木马)和Locky(勒索软件)两类恶意软件。但为了突出本篇文章的重点内容,我们将结合实例,着重讨论PDF下载器和Dridex(银行木马)二进制文件。
影响范围
两次攻击活动中想象范围较大的一个(图1),钓鱼文档中涉及“付款收据”主题相关的内容,根据我们的推测,此次攻击活动主要影响了美国的保险行业。
图1:全球影响范围
两次攻击活动中影响范围较小的一个(图2),附件的主要内容多是打印机对扫描文档的警报。此次攻击活动主要针对的目标是中东,美国和日本的政府部门。
图2:全球影响范围
恶意代码的执行流程
如图3所示,恶意代码的执行流程主要包括以下几个步骤:
1.投放恶意邮件:邮件中包含恶意PDF文档
2.附件中的PDF文档:打开PDF文档后释放并执行DOCM文档
3.释放的DOCM文档:文档通过宏命令执行PowerShell脚本
4.PowerShell脚本:执行PowerShell脚本从远程的CC服务器上下载一个加密的二进制文件
5.加密的二进制文件:加密该二进制文件,释放并执行恶意payload
图3:恶意代码完整的执行流程
恶意邮件
经过我们的分析发现两次攻击活动中恶意邮件的附件内容主要为两种主题,一个文件名Payment_XXX,其中XXX指的是任何随机数,而另一个写的是来自MX-2600N的扫描图像。 图4列出了两个恶意邮件的示例。
图4:恶意邮件示例图
附件中的PDF文档
攻击者向被攻击者们批量投放含有PDF恶意文档的邮件,PDF文档中包含了几个对象。最重要的几个对象,一个是嵌入的DOCM文档(启用宏命令的doc文档),一个释放并启动DOCM文档的JavaScript对象。图5展示了嵌入的DOCM文档,图6展示了释放DOCM文档的JavaScript代码片段。
图5:DOCM文档文件头
图6:释放并执行DOCM文件的JavaScript代码段
当被攻击者打开了PDF文档,Adobe Reader显示了一个如图7所示的警告,清楚的说明文档可能是有害的。
图7:Adobe的安全警告
如果用户忽略了警告,并且点击了“OK”按钮,DOCM文档将会被写入%temp%目录下,并启动。
释放的DOCM文档
文档已只读或受保护的模式打开,意味着文档中的宏命令不能被执行。取消这种机制的保护,文档会显示一个提示消息,提醒用户点击“Enable Editing(启用编辑)”,如图8所示。
图8:受保护的文档请求启用编辑权限
当被攻击者点击“Enable Editing(启用编辑)”按钮,嵌入在文档中的宏命令将开始执行。如图9所示,我们可以看到要执行的命令隐藏在form1的标题中。宏命令的功能是执行一个PowerShell指令,向远端的CC服务器发起请求,下载下一个payload。
图9:嵌入在文档中的宏命令
图10展示了隐藏在form中的命令
图10:隐藏在form中的命令
PowerShell脚本
PowerShell代码是经过混淆的,其可以使用图11所示的算法将代码还原。当代码执行后,脚本的主要功能是请求远端的服务器下载payload。该脚本中包含了一个URI数组,循环请求每一个URI,直到CC服务器返回来一个有效的响应包。
图11:还原混淆的Powershell脚本的算法
分析还原后的PowerShell脚本,其主要有两个功能:
1.与CC服务器进行通信:在这一环节中,PowerShell脚本生成一组CC服务器域名,通过HTTP发起请求,检查服务端响应的内容,如果远端的服务器没有正确响应[200],它将请求另一组主机。
|