查找恶意样本中的特定字符串是很有用的,比如你有可能寻找到那些针对不同目标的却具有相似代码的恶意样本。本文会对这一点进行详细描述。
除此之外其还有一个用途是发现经恶意修改后的原始文件,在这篇文章” Unmasking Malfunctioning Malicious Documents ” 有具体描述。
可以从 malwr.com 和hybrid-analysis.com等网站中提取这些可打印的字符串:
在Malwr.com的搜索页面上可以使用搜索语法”string:… ”来搜索样本中的字符串。
例如,我们可以使用这个特征来搜索所有的包含VBA宏的MS office文档,因为他们都包含字符串”VB_Nam” 。这是由于VBA语言要求在每个模块起始处都要包含一个命令VBA_Name=”name” (详见 MS-VBAL4.2)。因此这个字符串” VB_Nam” 总是会自动的嵌入为第一条命令,而且还未压缩直接以文本形式出现。
现在看看在Malwr.com中搜索VBA宏的结果:
自从2014年VBA宏病毒越来越新型,我们可以得到很多恶意样本:
然而,现在采用这个特征的搜索经常会出现server erro问题,好像现在对单个字符串进行搜索了。
例如,在我的文章” Unmasking Malfunctioning Malicious Documents ” ,当我搜索字符串” DownloadDB403”,malwr.com总是出现server erro。
当前版本的hybrid-analysis.com不提供这种字符串搜索功能。
@PayloadSecurity教了我另外一种技巧,而且非常有用:利用知名搜索引擎例如Google,通过限定hybrid-analysis.com 和 malwr.com的搜索。
所有的分析报告都能够被搜索引擎检索到,包括分析文件中提取出的字符串。
下面试试在Google上搜索” DownloadDB403”,使用如下语法:
Ø site:malwr.com “DownloadDB403″
Ø site:hybrid-analysis.com “DownloadDB403″
要点:要得到更多相关的结果,有必要将省略的结果纳入重复搜索。
使用下面的语法有可能同时搜索到malwr.com and hybrid-analysis.com的结果:
Ø “DownloadDB403″ (site:hybrid-analysis.com OR site:malwr.com)
因此使用此方法很方便查找包含特定字符串的恶意软件样本。
当然在所有的搜索引擎中都能使用。首要的是能在相同的样本中搜索到几个字符串。
1. 含有反分析技巧的恶意宏病毒
例如,我们可能会通过”VB_Nam”寻找一个恶意的宏病毒,不同的是,这个样本使用了类似VirtualBox检测的反分析技巧。这些宏病毒在2015年5月份曾经出现过,关键词是 ”VBOX”:
Ø “VBOX” “VB_Nam” (site:hybrid-analysis.com OR site:malwr.com)
结果显示,所有使用相同把戏的恶意样本都是在2015年5月份上传至malwr.com。似乎这种把戏后面在也不会出现,或者这些恶意样本的作者故意混淆这些字符串。
2. 嵌入OLE Package对象的RTF文档
另一个例子,看看RTF文档中包含的可执行文件。这个技巧也经常被恶意样本的作者用来释放恶意的payload,而不会被轻易检测到。
这种情况下,嵌入的文件经常会被存储到OLE对象中,特别是OLE的”Package” 对象。
看看从样本中提取出的字符串,我们可以找到字符串”Package”,编码成十六进制形式,例如 ” 5061636b61676500”。OLE对象头部的结构:
还可以看到,在每个RTF文件中都可以看到字符串”rtf1”,关键字 ”objdata”暗示RTF中嵌入OLE对象。
这样的话,搜索语法就是:
Ø rtf1 objdata 5061636b61676500 (site:hybrid-analysis.com OR site:malwr.com)
和预想的一样,使用这个方法可以找到很多样本:
感谢 malwr.com 和hybrid-analysis.com 给了我们访问这些恶意样本的可能,如果有兴趣你可以通过搜索引擎搜索更多感兴趣的字符串。
另外,我们还可以通过自定义搜索引擎 Google custom search engine 让事情变得更简单——可以直接在malwr.com 和 hybrid-analysis.com上搜索。
*原文地址: decalage.info ,东二门陈冠希/编译,部分内容有修改,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)