大家好!
在本文中,我将介绍如何使用 Binary Refinery 工具提取恶意 Office 文档的有效负载。
在此示例中,我选择了具有 SHA256 哈希的文件:
59ed41388826fed419cc3b18d28707491a4fa51309935c4fa016e53c6f2f94bc
Alexandre Borges 已经在他的博客中提供了一个很好的有效载荷提取解决方案,但我想亲自动手了解 Binary Refinery,从而展示我实现目标的步骤。
因此,本文的目的不是做出新的发现,而是展示如何在实际场景中使用 Binary Refinery。本文末尾添加了各种来源。
首先,Binary Refinery 允许我们计算所提供文件的 SHA256 哈希值。使用 emit 和 sha256 单位的组合,其中 emit 显示所提供文件的全部内容。此内容通过管道传输到 sha256 并用于哈希计算。
emit.exe file.docx | sha256.exe -t
接下来,我们可以使用 peek 单元来提取有关文件的一些预览信息,例如熵、文件头(魔术)和大小:
emit.exe file.docx | peek -m -l 0
由于我们正在处理 Office 文档,因此我们可以使用以下命令来显示 Office 文档的内容列表:
emit.exe file.docx | xtdoc.exe -l
要获取有关包含的 VBA 宏的更多信息并在之后提取它们,我们可以使用单位 xtvba。
emit.exe file.docx | xtvba.exe -l
以下命令
emit.exe file.docx | xtvba.exe
可用于提取所有 VBA 宏。也可以附加特定路径,以仅提取该特定的 VBA 宏。
尽管 Binary Refinery 提供了多个单元来自动对 VBA 脚本进行模糊处理,但我决定自己执行此步骤:
基本上,此脚本通过在分隔符 '!' 处从 'UserForm1' 拆分四个文本框的内容来创建一个可执行文件。每个元素或十进制数都通过 CByte() 函数转换为一个字节。之后,文件保存到 'UserForm2.TextBox1' 中文本指定的特定目录中,然后重命名或移动到 'UserForm2.TextBox2' 中包含的位置。最后,放置的文件在隐藏窗口中运行。
由于本文主要关注有效负载的提取,而不是对 Office 文档的功能进行更全面的分析,因此我仅简单介绍其他信息:
emit.exe file.docx | xtdoc.exe Macros/UserForm2/* | carve printable | peek -W 48
使用此命令,我们能够查看 UserForm2/* 的内容并雕刻可打印的字符串。
我们能够从 UserForm2 中看到文本框的内容。因此,例如,有效负载将保存在 C:UsersPublicPictureswinword.con 中,然后移动到 C:UsersPublicPictureswinword.exe。
为了提取四个文本框(用于有效负载)的内容,我使用了以下命令。peek 单元周围的括号 [ ] 用于显示从 carve 单元收集的每个结果。否则,将仅显示第一个结果。
emit.exe file.docx | xtdoc.exe Macros/UserForm1/* | carve --longest --take 4 printable [| peek ]
VBA 脚本连接内容并删除 '!'。这也可以通过 Binary Refinery 来实现:
emit.exe file.docx | xtdoc.exe Macros/UserForm1/* | carve --longest --take 4 printable | repl ! " " | pack | peek -W 48
上面的命令获取四个最长的可打印数据 blob 并将其通过管道传输到 repl 单元。此商品将每次出现的 '!' 替换为 ' ',并将内容传输到包装单元。Pack 会自动将数字常量解码为其二进制表示形式。例如,前两个数字常量 77 和 90 被解码为 4D 5A,这是 PE 文件的特征魔术字节。然后使用 peek 来显示整个转换。
有趣的是,如果我们去掉 repl 单元,结果是一样的:
Binary Refinery 允许我们将内容转储到磁盘以供进一步分析:
λ emit.exe file.docx | xtdoc.exe Macros/UserForm1/* | carve --longest --take 4 printable | pack | dump extractedPayload λ emit.exe extractedPayload | sha256.exe -t
原文始发于微信公众号(安全狗的自我修养):使用 Binary Refinery 从 Office 文件中提取恶意负载
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论