详细内容或原文请订阅后点击阅览
结合 zipdump、file-magic 和 myjson-filter
在这篇博文中,我将展示如何结合使用我的工具 zipdump.py、file-magic.py 和 myjson-filter.py 来选择和分析特定类型的文件。我从 Malware Bazaar 每天发布的一批恶意软件文件开始。我让它使用选项 –jsonoutput 生成 JSON 输出,我的一些 […] 可以使用该输出
来源:Didier Stevens _恶意软件在这篇博文中,我将展示如何结合使用我的工具 zipdump.py、file-magic.py 和 myjson-filter.py 来选择和分析特定类型的文件。
zipdump.py file-magic.py myjson-filter.py我从 Malware Bazaar 每天发布的一批恶意软件文件开始。
Malware Bazaar 每天发布的一批恶意软件文件我让它使用选项 –jsonoutput 生成 JSON 输出,我的一些工具可以使用这些输出,例如 file-magic.py,这是我使用 libmagic 库根据内容识别文件的工具。
JSON 输出 file-magic.py在上面的输出中,我们可以看到大多数文件都是 PE 文件(Windows 可执行文件)。
在本例中,我对 Office 文件 (ole 文件) 感兴趣。我可以使用选项 -r 过滤 file-magic.py 的输出。Libmagic 将这种类型的文件标识为“复合文档文件...”,因此我过滤 Composite:
这给了我一个恶意 Office 文档列表。我想从中提取 URL,但我不想将所有这些文件从 ZIP 容器提取到磁盘,然后对每个文件执行 URL 提取文件。
我想用一行代码来做到这一点。🙂
我要做的是使用 file-magic 的选项 –jsonoutput,以便它使用文件类型扩充 zipdump 的 json 输出,然后我使用我的工具 myjson-filter.py 过滤该 json 输出,以查找仅包含单词 Composite 的文件类型。使用以下命令:
myjson-filter.py这会生成 JSON 输出,其中包含 ZIP 容器内找到的每个 Composite 类型文件的内容。
我的工具 strings.py 可以使用此输出来提取所有字符串。
strings.py附注:如果您首先想知道选择了哪些文件进行处理,请使用选项 -l:
让我们将过滤后的 JSON 输出通过管道传输到 strings.py 中,并使用选项生成包含单词 http (-s http) 的唯一字符串 (-u) 列表,如下所示:
我使用我的工具 re-search.py 提取唯一 URL 列表:
re-search.py我过滤掉 Office 文档中常见的 URL:
sortcanon.py