欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

工具篇:如何分析恶意文档

来源:嘶吼 作者:翻译于decalage 时间:2017-01-08 TAG: 我要投稿

 这篇博客采用实际的恶意样本来说明如何分析恶意样本。

0x01 疑似异常工作的恶意文档

几周前,katja Hahn在推特上公布了一个恶意样本:链接

文件在这里公布出来了(SHA256 41a84ee951ec7efa36dc16c70aaaf6b8e6d1bce8bd9002d0a b5236197eb3b32a)。

在十六进制编辑器中打开,明显包含了VBA宏病毒指令:

图片7.png

但是像oledump或是olevba却不能够检测到VBA宏病毒。甚至MS word都不能显示或者运行这些宏病毒。

$ olevba 41a84ee951ec7efa36dc16c70aaaf6b8e6d1bce8bd9002d0ab5236197eb3b32a.bin
olevba 0.42 - http://decalage.info/python/oletools 
[...]
FILE:
41a84ee951ec7efa36dc16c70aaaf6b8e6d1bce8bd9002d0ab5236197eb3b32a.bin
Type: OLE
No VBA macros found.

在文章"Malfunctioning Malware"中,作者通过一些底层的技术重建并提取文档中宏的源码。

现在我们想知道这是一种躲避检测的方法或者是另一种漏洞?

0x02 oledir

首先使用oledir查看文档内部的OLE目录,oledir是我的oletoos工具包中比较新的工具。

图片8.png

OLE的目录就是一种包含名称和存储了文件数据流位置的一种数据结构(详见[MS-CFB])。每个目录可能会被使用,或者完全是空的。

在本例中,我们可以看到有好几个空的目录入口(id从6到12),其后是一个非空目录(id13)。由于这些目录入口会被连续的创建,这就暗示了,这些空的入口可能是在使用完后释放了的。

这同样也证实了不存在VBA宏,因为在文件中没有存储名为”VBA”的结构(详见[MS-OVBA])。

0x03 olemap

接着,我们使用另一个新工具olemap看一下OLE的FAT(文件分配表):

图片9.png

[…]

图片10.png

从上图可知,在使用过的节区后存在大量标记为free的节区。这也从另一个侧面显示一些流可能被删除了。

这也证实了在Hex Editor中文件偏移地址为0XE440处出现的VBA宏位于一个未使用的节区(number 71,offset 0XE400)。

很有可能这个文档中原来包含的VBA宏病毒已经被删除了。一个恶意软件的作者发送一个去除宏病毒的文档,这就很奇怪了,因为这些宏不可能会被执行。

我认为这个文档实际上应该是被杀软或者一些查杀工具清理了一番。例如,F-ProtMcAfee杀毒引擎就可以移除宏病毒。其他例如ExeFilter也可以做到。

为了证实这个,我们要找到清理之前的原始恶意样本。这个也不简单,因为原始文件早已被更改了:原始文件有不同的hash,而且原始文件名也不知道。

0x04 Tip: 如何找到含有特定字符串的恶意软件样本

详见博客:http://www.freebuf.com/articles/network/97734.html

0x05分析

在这些搜索结果中,我们可以看到在某个时期段有至少两个样本的大小是一样的(78848bytes),但是hash不一样:

Ø WIN_019_11.doc, SHA256 6780af202bf7534fd7fcfc37aa57e5a998e188ca7d65e22c0ea658 c73fad36a2

Ø WIN_019_11.doc, SHA256 f36cb4c31ee6cbce90b5d879cd2a97bcfe23a38d37365196c25e 6ff6a9f8aaa6

这次olevba检测到两个文件中都包含VBA宏,可以在下面看到好几个典型的恶意样本特征。这两个文件除了在宏的一行源代码其他都几乎相同。

$ olevba -a 6780af202bf7534fd7fcfc37aa57e5a998e188ca7d65e22c0ea658c73fad36a2.bin
olevba 0.42 - http://decalage.info/python/oletools
Flags        Filename                                                         
-----------  -----------------------------------------------------------------
OLE:MASIHB-V 6780af202bf7534fd7fcfc37aa57e5a998e188ca7d65e22c0ea658c73fad36a2.bin
(Flags: OpX=OpenXML, XML=Word2003XML, MHT=MHTML, TXT=Text, M=Macros, A=Auto-executable, S=Suspicious keywords, I=IOCs, H=Hex strings, B=Base64 strings, D=Dridex strings, V=VBA strings, ?=Unknown)
===============================================================================
FILE: 6780af202bf7534fd7fcfc37aa57e5a998e188ca7d65e22c0ea658c73fad36a2.bin
Type: OLE
-------------------------------------------------------------------------------
VBA MACRO ThisDocument.cls
in file: 6780af202bf7534fd7fcfc37aa57e5a998e188ca7d65e22c0ea658c73fad36a2.bin - OLE stream: u'Macros/VBA/ThisDocument'
-------------------------------------------------------------------------------
VBA MACRO Module1.bas
in file: 6780af202bf7534fd7fcfc37aa57e5a998e188ca7d65e22c0ea658c73fad36a2.bin - OLE stream: u'Macros/VBA/Module1'
+------------+----------------------+-----------------------------------------+
| Type       | Keyword              | Description                             |
+------------+----------------------+-----------------------------------------+
| AutoExec   | AutoOpen             | Runs when the Word document is opened   |
| Suspicious | Kill                 | May delete a file                       |
| Suspicious | Open                 | May open a file                         |
| Suspicious | Shell                | May run an executable file or a system  |
|            |                      | command                                 |
| Suspicious | vbNormal             | May run an executable file or a system  |
|            |                      | command                                 |
| Suspicious | CreateObject         | May create an OLE object                |
| Suspicious | Chr                  | May attempt to obfuscate specific       |
|            |                      | strings                                 |
| Suspicious | FileCopy             | May copy a file                         |
| Suspicious | SaveToFile           | May create a text file                  |
| Suspicious | Write                | May write to a file (if combined with   |
|            |                      | Open)                                   |
| Suspicious | Hex Strings          | Hex-encoded strings were detected, may  |
|            |                      | be used to obfuscate strings (option    |
|            |                      | --decode to see all)                    |
| Suspicious | Base64 Strings       | Base64-encoded strings were detected,   |
|            |                      | may be used to obfuscate strings        |
|            |                      | (option --decode to see all)            |
| Suspicious | VBA obfuscated       | VBA string expressions were detected,   |
|            | Strings              | may be used to obfuscate strings        |
|            |                      | (option --decode to see all)            |
| IOC        | codakes.exe          | Executable file name (obfuscation: VBA  |
|            |                      | expression)                             |
| Base64     | 2'+                  | Micr                                    |
| String     |                      |                                         |
| VBA string | GE                   | Chr(80 - 9) + "E"                       |
| VBA string | t                    | (Chr(100 + 10 + 6))                     |
| VBA string | TE                   | Chr(80 + 4) + "E"                       |
| VBA string | mP                   | (Chr(80 + 20 + 9)) + "P"                |
| VBA string | codakes.exe         | Chr(90 + 2) + "codakes" + Chr(50 - 4) + |
|            |                      | "exe"                                   |
| VBA string | ConnectionDB         | ("Connection") & "DB"                   |
+------------+----------------------+-----------------------------------------+

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载