如何安全地查看 VBA 宏的代码?

信息安全 病毒 网络钓鱼 办公室
2021-09-02 19:48:41

我收到了一封网络钓鱼电子邮件,其中包含通常的虚假账单,格式为 Word 文档。我很好奇可能的病毒想要做什么,所以我想检查代码。

目前 Word 在保护模式下打开 docx,我不会禁用它,因为我假设 VBA 宏会立即执行。

我知道虚拟机可能是一个解决方案,但不包括(我手头没有),有没有一种简单的方法可以在不执行宏代码的情况下查看它?我正在考虑用记事本或类似方法打开它。我知道记事本不会读取 .docx,而是按照这些思路读取。

3个回答

Microsoft Office 文件实际上只不过是美化的 zip 文件。如果将扩展名更改为.zip可以提取内容。在那里您应该找到word\vbaProject.bin包含 VBA 宏的文件。然而,正如扩展所暗示的,这个文件是二进制文件,对让您阅读源代码没有多大帮助。

幸运的是,Microsoft 已经发布了该格式的规范,并且有许多程序可以帮助您。我没有尝试过其中任何一个,但是Decalage上有一个不错的列表。查看更多详细信息!这些是那里列出的程序:

一个小细节:docx 文件不应包含宏,因为 docx 文件中不允许使用宏。根据微软

Word 允许您将宏保存为两种 Word 文件类型:启用 Word 宏的文档文件 ( .docm) 和启用 Word 宏的模板文件 ( .dotm)。

将其上传到 VirusTotal。您不仅会发现有多少防病毒程序自动检测到它以及它们的分类是什么,而且在“文件详细信息”选项卡上,您可以看到嵌入在文档中的宏和 VBA 代码。

示例(几个月前我收到的一条消息与您描述的消息几乎相同):https ://www.virustotal.com/en/file/099f9605c1960e20572109ec466e0c05cdea7a1c4a82fea4f44c3f6a4a94b2b3/analysis/1473176084/

好的,这是一个旧格式的 Word 文档(OLE 复合文档文件),而不是新的 ZIP+XML 格式。如果这些工具不能在 DOCX 上执行至少相同级别的分析,我会感到非常惊讶。