Zloader恶意软件可禁用office宏警告
2021-07-12 11:30:00 Author: www.4hou.com(查看原文) 阅读量:110 收藏

过去几年,使用社会工程的微软office宏恶意软件成为恶意软件感染的一种新方式。恶意软件作者还不断发展其家属以绕过检测。这些技术使用宏混淆、DDE、以及使用支持老版本的xls格式。

McAfee实验室研究人员近日发现一种可以在垃圾邮件附件宏中没有任何恶意代码的情况下下载和执行恶意DLL文件——Zloader。

image.png感染图

威胁总结

初始的攻击向量是一个含有微软word附件的钓鱼邮件。

打开该word附件后,就会从远程服务器下载一个密码保护的Excel文件。

Word文件的VBA会读取下载的XLS文件的单元格内容,并以宏的形式写入XLS VBA。

宏写入下载的XLS文件后,word文件就会在注册表中设置策略来禁用Excel宏警告,并从Excel文件中动态调用宏函数。

结果就是下载最终的zloader payload。然后,zloader payload通过rundll32.exe动态执行。

详细技术分析

感染链

恶意软件会通过含有word附件的钓鱼邮件传输。Word文件打开且宏启用时,word文件就会下载和打开另一个有密码保护的Excel文件。 

在下载XLS文件后,word VBA会从XLS中读取单元格内容,为该xls文件创建一个新的宏,并将单元格内容写入xls VBA宏。

宏写入后,word文档就会在注册表中设置策略来禁用Excel宏警告,并从Excel文件中调用恶意宏函数。然后,Excel文件就会下载zloader payload。然后,Zloader payload就会用rundll32.eze执行。

image.png图-1: 感染流图

Word文件分析

图2是打开word文件时的样子。一般来说,微软office默认是禁用宏的。恶意软件作者意识到了这一点,所以在这里展示了一个诱饵图像来诱使受害者按照指示去启用宏。

image.png

图-2: word文件的图像

Word文件中的userform combo-box组件保存了连接到远程Excel文件的所需要的所有内容,包括Excel对象、URL、打开Excel文件所需的密码。URL以分开的字符串的形式保存在combobox中,这些字符串之后会连接在一起来组成一个完整的字符串。

图3.png

图-3: URL组件(右侧)、打开Excel需要的密码(“i5x0wbqe81s”)在user-form组件中

Word文档VBA宏分析

image.png

图-4: VBA编辑器图像

如图4所示,代码会尝试下载和打开恶意域名保存的Excel文件。首先,会使用CreateObject() 函数和从combobox-1(如图2)来读取字符串来创建Excel应用对象。在创建了对象后,使用相同的对象来打开Excel文件,会使用Workbooks.Open()函数直接从恶意URL直接打开文件而不保存文件到硬盘上。

 image.png

图-5: 读取Excel中随机表格中字符串的Word宏代码

图5中的代码是从Excel单元格读取字符串部分宏代码。比如:

Ixbq = ifk.sheets(3).Cells(44,42).Value

上面的代码将sheet 3单元格(44,22)中字符串保存到变量ixbq中。Excel.Application对象会分配变量ifk用于访问Excel文件中的表单和单元格。

图6中可以看出,从单元格中读取的保存在变量中的字符串。其中有鱼注册表记录HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security\AccessVBOM 相关的字符串,该注册表是用于禁用Excel中VBA的可信访问的,字符串Auto_Open3是Excel宏执行的入口点。

可以看到字符串“ThisWorkbook”, “REG_DWORD”, “Version”, “ActiveVBProject”以及“Function c4r40() c4r40=1 End Function”这样的随机字符串。因为这些内容是在运行时在动态构造的,因此无法使用静态检测方法检测。

 image.png

图-6: 读取Excel单元中的变量值

从Excel单元格提取内容后,word文件会通过写入提取的内容在下载的Excel文件中创建一个新的VBA模块。

宏文件构造后,会修改下面的注册表来禁用受害者机器的VBA,在没有office宏警告的情况下执行函数。

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security\AccessVBOM

将宏内容写入Excel文件,并禁用信任访问后,来自新写入的Excel VBA函数Auto_Open3()会被调用,从hxxp://heavenlygem.com/22.php?5PH8Z 下载zloader dll。

 image.png

图-7: Auto_Open3()函数

下载的dll会保存在 %temp% 文件夹中,通过调用rundll32.exe来执行。

 image.png

图-8: rundll32.exe调用zloader dll

命令行参数:

Rundll32.exe shell32.dll,Control_RunDLL “< 路径下载的dll >”

Windows Rundll32命令会加载和运行32位的DLL,该dll可以用来调用特定函数或用来创建快捷方式。在上面的命令行中,恶意软件使用Rundll32.exe shell32.dll,Control_RunDLL 函数来调用control.exe,并传递DLL路径作为参数,然后下载的DLL会由control.exe来执行。

Excel 文档分析

图9是保存在服务器上的有密码保护的Excel文件。可以看到保存了“RegDelete”, “ThisWorkbook”, “DeleteLines”这样的随机单元。

这些字符串会在下一阶段形成VBA宏。

image.png

图-9: 远程Excel文件图像

本文翻译自:https://www.mcafee.com/blogs/other-blogs/mcafee-labs/zloader-with-a-new-infection-technique/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/VoB5
如有侵权请联系:admin#unsafe.sh