Typora值得拥有啊,excel中写好的数据,复制粘贴到Typora中直接就是表格了,用Markdown语法打表格要人命,还好,Typora拯救了我
如何在VT上进行文件搜索
VirusTotal Intelligence 允许用户通过VT的数据库去搜索,以便鉴定匹配到某个规则的文件(反病毒引擎检测、元数据、提交文件名、文件格式结构属性、文件大小等)。可以说VirusTotal Intelligence是恶意软件界的“Google”。
为了方便使用,我们将搜索查询和修饰符分成了下面的类别,你可以在同一个查询中以任意数量组合他们,此外,你也可以使用AND,OR and NOT操作符去组合你的搜索。
通过hash检索文件
通过一个给定的md5,sha1 或 sha256搜索文件只需要将hash写入search box的主搜索框。举例,搜索文件,其md5为:12602de6659a356141e744bf569e7e56
如果你有一列hash(eg,从其他应用导出的),hash(md5,sha1 或 sha256)的类型与它们是否混合无关,你想要在同一时间搜索所有的hash,你应该在search box中选择Search for hashes,把hash粘贴到框中,点击搜索按钮即可。
根据反病毒引擎检测鉴别文件
search box允许用户指定全部或部分恶意软件家族名( Backdoor.Win32.PcClient!IK , Sality , Mydoom.R)或其他可以在反病毒引擎报告找到的文本。然而,这种类型的搜索将会查看文件所有的索引字段,不仅仅是关注反病毒引擎的检测结果。为了只聚焦反病毒引擎的检测结果(无论是哪个特性引擎产生的输出),你应该使用engines字首。举例:engines:"Trojan.Isbar"或engines:“zbot”。
搜索修饰符
下表详述了所有可以的搜索修饰符列表以及其可以作用的文件类型。详见。请注意,下面所有的修饰符都可以结合在一起使用,还可以和上面提到的搜索模式连接在一起使用。
修饰符 | 范围 | 描述 |
---|---|---|
size: | 任何文件类型 | 根据文件大小过滤文件。 |
type: | 任何文件类型 | 根据文件类型过滤文件 |
fs: | 任何文件类型 | 根据文件第一次提交到VT的时间过滤文件 |
ls: | 任何文件类型 | 根据文件最后一次提交到VT的时间过滤文件 |
la: | 任何文件类型 | 根据文件最后一次被VT分析的时间过滤文件 |
positives: p: | 任何文件类型 | 根据被反病毒引擎检测出来的数量过滤文件 |
children_positives: cp: | 任何文件类型 | 根据样本子文件被反病毒引擎检测出来的数量过滤文件 |
name: | 任何文件类型 | 根据样本被提交到VT是的文件名过滤文件 |
tag: | 任何文件类型 | 根据指定的标签过滤文件。Spam-email(一个附件或是垃圾邮件中的下载链接),signed(有签名的) |
submissions: s: | 任何文件类型 | 根据文件被提交到VT的次数过滤文件 |
sources: | 任何文件类型 | 根据样本不同提交源的数量来过滤文件 |
submitter: | 任何文件类型 | 根据第一次提交人的地区过滤文件。Submitter:CN |
itw: | 任何文件类型 | 返回从规定URL(包含提供的文本)下载的所有文件 |
metadata: | 任何文件类型 | 根据元数据属性过滤文件 |
androguard: | Android文件: APKs, ODEX, DEX, AXML. | 返回其Androguard输出包含提供的文字的所有Android文件。 |
lang: | 可执行文件(PE)和文档(DOC、DOCX、PPT、ODT等) | 对于PE文件而言,返回的文件至少包含指定文件的一种,对于文档文件,返回的文件必须匹配到提供的所有语言。 |
signature: | PE ,Mach-O | 根据sigcheck字段过滤文件 |
pets: | PE | 根据编译时间戳过滤PE文件 |
subspan: | PE | 根据第一次提交时间和时间戳之间的不同过滤文件,单位是秒,eg:subspan:100- |
segment: | Mach-Os | 返回有指定名称段的exe文件 |
section: | PE,ELFs,Mach-Os | 返回有指定名称或指定md5的节区。 |
imports: | PE,ELFs,Mach-Os,IPAs,JARs,Java bytecode | 返回导入指定名称库的exe文件 |
exports: | PE,ELFs,Java bytecode | 返回导出指定名称函数的exe文件 |
resource: | PE | 返回具有至少一个与给定sha256,文件类型或资源类型匹配的资源的可移植可执行文件。 |
behaviour: behavior: | PE,Android APKs | 返回所有动态行为包含所提供的行为的PE或Android APKs |
snort: | PCAPs | 返回Snort IDS生成给定警报或分类字符串的所有数据包捕获文件。 |
suricata: | PCAPs | 返回suricata IDS生成给定警报或分类字符串的所有数据包捕获文件。 |
traffic: | PCAPs | 在URLs的子集中搜索,包括主机名,IP。Eg:traffic:“google.com” |
similar-to: | PE,PDFs,office文档,SWFs,RTFs | 返回结构上跟提供的文件相似的文件。Eg: similar-to:19b86fe81df05de2b4207e8eb0c3aa40. |
ssdeep: | 任何文件类型 | 返回所有与提供ssdeep哈希的文件类似的文件。 |
imphash: | PE | 返回导入表hash跟指定导入表hash一致的PE文件,可以用来定义相同家族的文件。 |
文件相似性搜索
利用修饰符来进行文件相似性搜索
文件批量下载
VirusTotal Intelligence的web借口允许用户下载查询结果的前25,50或100的文件包。如果你希望下载其他数量的文件(包括超过100),你应该使用VirusTotal Intelligence 下载器。
VirusTotal Intelligence下载器是一个python脚本,使用VirusTotal Intelligence的编程接口下载查询结果top-n的文件到磁盘上。你可以下载VirusTotal Intelligence downloader
不要把个人下载器分享给第三方,这个下载器包含你自己的API key。每一个 VirusTotal Intelligence用户应该通过自己的账户下载自己的下载器。
下载器使用方法如下。(安装python2.7)
user@machine:~/$ python vt_intelligence_downloader.py -h
Usage: vt_intelligence_downloader.py [options]
Allows you to download the top-n files returned by a givenVirusTotal
Intelligence search. Example:
python vt_intelligence_downloader.py -n 10 type:"peexe" positives:5+
Options:
-h, --help show this help message and exit
-n NUMFILES, --numfiles=NUMFILES
number of files to download
如果你想要下载匹配到type:"peexe"的前500个文件,举例如下。
python vt_intelligence_downloader.py -n 500 'type:"peexe"'
同样的,如果你有一个包含200个hash的文件,你想要查询和下载这些hash对应的文件,只需要发出以下命令。
python vt_intelligence_downloader.py -n 200 /path/to/my_file_with_hashes.txt
hash可以是md5、sha1、sha256,可以把他们混合在一起,脚本改怎么解析。
搜索操作符(Search opeartors)
之前提到的所有搜索模式和搜索修饰符都可以通过搜索操作符连接到一起。查询语言支持某些布尔操作符(把查询的各个部分集合起来)。支持的布尔操作符有AND,OR和NOT
默认情况下,当您创建同时匹配多个字段的查询时,每个值都是用AND组合起来的。要使整个查询匹配,所有指定的值必须都匹配上。
AND操作符
搜索拥有XREF表且无效的PDF文件有两种操作。首先忽略使用布尔操作符,因为搜索修饰符默认是通过AND连接的。
type:pdf tag:invalid-xref
另一种操作是采用AND操作符
type:pdf AND tag:invalid-xref
OR操作符
我们可能有兴趣检索所有DLL或可执行文件,OR运算符可以帮助我们完成这项任务:
type:pedll OR type:peexe
NOT操作符
使用NOT来找到所有至少被一个反病毒引擎认为其家族名是“zbot”以及没有corrupt标签的。(corrupt:格式错误,不能在真实系统中执行)。
engines:zbot NOT tag:corrupt
用于分组的括号
使用括号可以创建更多复杂的查询。扩展之前的查询语句鉴定其他的银行恶意软件变种。
(engines:zbot OR engines:sinowal) NOT (tag:corrupt)
使用示例
本节详细介绍了用户过去要求的一些常见搜索,它们仅用作说明前几节中提供的所有信息如何粘合在一起的示例。
研究恶意pdf文件
一些学者曾经使用VT研究恶意pdf以及开发新的检测方法。研究为Static Detection of Malicious JavaScript-Bearing PDF Documents
为了尝试从VT上提取一些基于恶意pdf的研究,出现在我们思绪中的第一个想法就是做一些简单的事情。
type:pdf positives:5+
但这不是你唯一可以做的事情。pdf漏洞利用通常拥有一个无效的XREF表,因此,也可以写如下语句。
type:pdf tag:invalid-xref
其他标签也可以组合起来检索多水分的PDF,例如,让我们获取所有包含JavScript并包含自动操作的PDF(可能是为了启动以前的JavaScript)
type:pdf tag:autoaction tag:js-embedded
关于漏洞利用有一个指定的标签。
type:pdf tag:exploit
检索漏洞利用样本
上一个研究案例的最后一个例子以最简单的搜索漏洞形式结束。
tag:exploit
更有趣的是,您可以搜索标记有特定公共漏洞和暴露(CVE)标识符的示例
tag:cve-2012-0158
识别潜在的误报
误报是"错误"的另一种说法。应用于反病毒程序领域,当反病毒程序错误地把一个白文件标记成为恶意文件就是误报。误报似乎没有什么危害,但令人讨厌。
VT可用于识别潜在的误报。很多时候反病毒引擎检测出来的个数较少的有签名的PE文件可能是误报(不总是这样)。检测Symantec的误报。
tag:signed positives:3- symantec:infected
这些文件我们要检测两次去确定他们的确是恶意的。
只有Symantec检测出来的文件也可能是潜在的误报(虽然不总是这样)
positives:1 symantec:infected
我们当然也希望查看国家软件参考图书馆或在线知名软件集合中的所有文件。
(tag:nsrl OR tag:software-collection) AND symantec:infected AND positives:10-
文件唯一源的数量也可以很好地指示给定文件是否无害.通常,极其普遍的文件本质上是良性的。
sources:2000+ symantec:infected