VirusTotal 是网络安全专业人员必不可少的工具。提供了一个全面的平台,用于分析文件、URL、域和 IP 地址以检测恶意活动。
本指南详细概述了如何有效使用 VirusTotal 进行威胁研究,利用其广泛的数据集和查询功能。
了解 VirusTotal 数据集
VirusTotal数据集是该平台的核心,存储了超过 500 亿个文件、60 亿个 URL 和 40 亿个域。它将与工件相关的信息组织成对象,每个对象都有 ID、类型和属性。这些对象可以表示文件、URL、域、IP 等,并具有提供它们之间上下文链接的关系。
VirusTotal 数据集的顶层结构
对象结构
-
ID:唯一地标识一个对象,源自工件本身(例如,文件的 SHA-256 哈希)。
-
类型:表示存储的信息类型(例如文件、URL、域)。
-
属性:与对象相关的数据项,可以是原始的,也可以是复杂的。
-
关系:对象之间的连接,用于描述涉及多个工件的场景。
查询 VirusTotal
VirusTotal 提供两个主要界面来查询其数据集:图形用户界面 (GUI) 和应用程序编程接口 (API)。
病毒总数图形用户界面
根据 VirusTotal 和 SentinelOne 的详细说明,GUI 允许手动与数据集交互。用户输入由搜索过滤器组成的搜索查询,这些过滤器可以是格式的唯一标识符或搜索修饰符modifier:value
。逻辑运算符(AND、OR、NOT)可以组合多个修饰符以进行复杂查询。
VirusTotal 的 Web 界面允许用户使用搜索过滤器搜索特定工件,例如 URL、域、文件哈希或 IP 地址。这些过滤器可以是工件的唯一标识符,也可以是使用搜索修饰符(例如 modifier:value)的更复杂的查询。
用户可以将多个修饰符与逻辑运算符(AND、OR、NOT)组合,并使用括号对其进行分组。
每个搜索的范围都限定在由实体修饰符(例如,实体:文件)指定的顶级集合(文件、URL、IP、域或集合)。
该平台根据搜索查询检索并显示相关信息,作为网络分析报告或结果列表。
病毒总数 API
该 API 支持编程交互,适合大规模查询。用户向 API 端点发出 HTTP GET 请求,在请求 URL 中指定搜索过滤器。该 API 提供的信息比 GUI 更为广泛,非常适合需要可扩展性的任务。
通过 API 查询 VirusTotal 的基本方法是向特定 API 端点发送 HTTP GET 请求,并在请求 URL 中使用搜索过滤器。主要端点包括:
-
/api/v3/intelligence/search?query={query}:允许使用唯一标识符(如 URL、域、IP 地址或文件哈希)或搜索修饰符查询 VirusTotal。
-
示例 URL:
https://www.virustotal.com/api/v3/intelligence/search?query=test.com
-
https://www.virustotal.com/api/v3/intelligence/search?query=entity:domain+and+domain:test
-
/api/v3/files/{hash}:检索与指定哈希(MD5、SHA-1 或 SHA-256)匹配的文件对象。
-
示例 URL:
https://www.virustotal.com/api/v3/files/e6adf40a959308ea9de69699c58d2f25
使用/api/v3/files/{hash}端点进行查询将返回 JSON 格式的数据,用户可以解析这些数据并将其用于进一步分析或查询。可以使用 HTTP 客户端库、命令行工具或自定义脚本以及官方 Python 库发出 API 请求,vt-py
从而简化此过程。
API 对比图形用户界面
VirusTotal API 比 GUI 具有优势,特别是在可扩展性和数据范围方面:
-
API 支持大规模查询,而通过 GUI 无法实现。例如,只有使用 API 才能检索 2024 年提交的所有 Windows 快捷方式文件的进程名称。
-
VirusTotal 中的某些数据无法通过 GUI 查询,例如沙盒执行期间在进程内存中找到的 URL(例如辅助 C2 URL)。GUI 会在报告中显示这些数据,但不允许直接查询。/api/v3/files/{hash}/behaviours端点
memory_pattern_urls
会检索无法通过 GUI访问的沙盒数据,包括。
API还可以通过/api/v3/files/{hash}/behaviours端点提供比 GUI 更详细的信息,例如完整的沙盒生成数据(包括可疑行为规则),而这些信息在 GUI 中并不完全可见。
VirusTotal中的AI集成
VirusTotal 利用人工智能创建可执行文件中代码的自然语言摘要,帮助分析恶意软件。这涉及将人工智能引擎集成到其平台中,以分析代码并生成摘要和判定(良性、可疑或恶意)。
VirusTotal 支持两种 AI 引擎类型:Code Insight(内部开发,基于 Google 的 Gemini)和 Crowdsourced AI(社区贡献的引擎)。这些引擎专门处理不同的文件类型,帮助分析师了解和分类恶意软件的功能。
Code Insight 分析工作流
主要特点:
-
Code Insight:专注于脚本(例如 PowerShell、Python),现在支持 Windows PE 二进制文件。
-
分析过程:
-
解包:使用 Mandiant Backscatter。
-
反编译:使用 Hex-Rays IDA Pro。
-
分析:使用 Gemini 总结代码功能。
-
众包人工智能:第三方引擎,如 ByteDefend(分析 Microsoft Office 宏)。
-
搜索修饰符:用户可以在 VirusTotal 的数据集中查询特定的摘要或结论。
AI 搜索修饰符:
修改器 | 使用和范围 |
---|---|
codeinsight:[text] |
在 Code Insight 生成的摘要中搜索文本。 |
crowdsourced_ai_analysis |
在 Code Insight 和所有 Crowdsourced AI 引擎的摘要中搜索文本。 |
crowdsourced_ai_verdict |
搜索所有 AI 引擎的判定(良性、可疑、恶意)。 |
[ENGINE]_ai_analysis |
从特定的众包 AI 引擎中搜索摘要中的文本。 |
[ENGINE]_ai_verdict |
从特定的 AI 引擎搜索判定(良性、可疑、恶意)。 |
这些人工智能工具增强了但不能取代传统的恶意软件分析,因为它们可能会错过新的或高度混淆的代码。
使用 VirusTotal 搜索修饰符进行有效的威胁分析
VirusTotal 提供广泛的搜索修饰符,允许分析师精确地查询平台,帮助检索特定威胁的相关数据。
然而,假阳性(不相关数据)和假阴性(缺少相关数据)的问题会影响搜索结果的准确性。使用逻辑运算符(AND、OR、NOT)设计和优化查询有助于缓解这些问题,使搜索过程更具迭代性和有效性。
示例调查
2023 年,SentinelLabs 调查了疑似与中国有关的行为者,他们以东南亚博彩公司为目标,并发现了恶意软件加载程序 AdventureQuest.exe。这个基于 .NET 的可执行文件使用可能从 Ivacy VPN 供应商 PMG PTE LTD 窃取的证书签名,这是中国威胁行为者经常使用的策略。
Are You From SOC/DFIR Teams? - Try Advanced Malware and Phishing Analysis With ANY.RUN - 14 day free trial
查询 VirusTotal
为了进一步调查,分析师使用了以下搜索方法:
-
数字签名查询:搜索具有相同证书序列号 (
signature:"0E3E037C57A5447295669A3DB1A28B8A"
) 的文件返回 94 个结果。 -
文件类型细化:将搜索范围缩小到 Windows PE 可执行文件 (
AND type:"peexe"
) 可将结果减少到 31 个。 -
.NET Framework 焦点:进一步细化 .NET 构建的可执行文件(
AND magic:".NET"
)将结果增加到 13。 -
消除误报:排除具有 PDB 路径的文件或来自 Ivacy VPN 目录 (
AND (NOT metadata:".pdb") AND (NOT name:"Program Files (x86)ivacy")
) 的文件,将 AdventureQuest.exe 隔离为唯一相关结果。
此次调查表明,如果策略性地使用 VirusTotal 的搜索功能,尽管可能存在误报或漏报的挑战,但它可以有效识别特定活动集群中的威胁。
实际用例
VirusTotal 对于各种威胁情报活动都具有重要价值,例如:
-
聚类工件:对相关工件进行分组以识别趋势或特定威胁行为者。
-
跟踪恶意活动:监控已知威胁的行为并识别新的威胁。
-
分析威胁趋势:了解不断演变的威胁形势。
限制和注意事项
虽然 VirusTotal 是一款功能强大的工具,但用户应该注意其某些局限性:
-
误报/漏报:不准确的数据会影响搜索结果的相关性和完整性。
-
沙盒限制:一些恶意软件可能会逃避沙盒分析,导致行为捕获不完整。
-
人工智能的局限性:由于训练数据的限制,人工智能生成的摘要可能缺乏细节或准确性。
有效地使用VirusTotal 进行威胁研究需要了解其查询功能以及可能影响数据相关性的因素。GUI 提供了用户友好的界面,而 API 则为大规模调查提供了扩展功能。
VirusTotal 中集成的 AI 引擎可以增强分析能力,但应将其作为更广泛战略的一部分使用。通过利用 VirusTotal 的广泛功能,用户可以进行彻底而有效的威胁调查。
原文始发于微信公众号(河南等级保护测评):VirusTotal威胁研究发布详细指南
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论