VirusTotal食用指南(非付费项目)
字数 2832 2025-08-22 12:22:30
VirusTotal 全面使用指南
1. VirusTotal 简介
1.1 基本介绍
VirusTotal (简称 VT) 是一个由西班牙安全公司 Hispasec Sistemas 创建的威胁分析平台,主要功能包括:
- 整合多检测引擎(70+ 防病毒产品、10+ 动态分析沙箱)
- 关联各种检测规则(Suricata 规则、YARA 规则)
- 应用威胁框架(ATT&CK 和 MBC 项目)
- 分析可疑文件、域、IP 和 URL
- 文件大小限制:不超过 650MB
1.2 平台组成
VT 平台可分为三个主要组件:
- 云沙箱:检测和分析用户上传的样本,生成详细分析报告
- 社区:通过社区成员协作全面分析和处置威胁
- 高级扩展:包括 VT Graph 可视化、API 调用、威胁狩猎、威胁情报等功能
2. 云沙箱功能详解
2.1 分析报告结构
样本上传后会生成包含六个选项卡和一个基本信息栏的分析报告:
基本信息栏
- 多引擎检测结果
- 社区评分
- 文件大小
- 修改时间
- 文件类型
- 样本标签
- VT Graph 和 API 检测入口
2.2 主要选项卡
1. DETECTION(检测)
包含四种检测信息:
-
YARA 规则:
- 开源情报规则
- 规则结构:meta 元数据、strings 字符串定义、condition 判定条件
- 示例规则解读:文件特征、大小限制、匹配条件
-
IDS 规则:
- 主要关联 ETOpen 规则集
- 规则组成:action、header、options
- 常用关键字:msg、sid、rev、gid、classtype、reference、priority 等
-
沙箱检测结果:
- 关联沙箱产品(如 CAPE、腾讯哈勃等)的威胁标签
-
多引擎检测结果:
- 安全厂商检测引擎结果(阿里云、安天、百度等)
- 威胁标签格式:样本类型 + 威胁类型 + 使用环境 + 名称
2. DETAILS(详细信息)
包含样本的静态文件信息:
-
Basic Properties(基础属性):
- 哈希值、文件类型、平台、架构、大小、加壳信息、资源节等
-
History(历史信息):
- 首次出现、首次提交、最后提交时间
-
Names(文件名称):
- 不同上传时的文件名
-
Signature info(签名信息):
- 文件签名状态
-
PE 结构信息:
- 编译器信息、文件头、节表、导入表、资源节、语言信息等
3. RELATIONS(关联信息)
- 样本与威胁情报的关联(IP、域名、其他样本等)
- 可与 VT Graph 结合查看
4. BEHAVIOR(行为分析)
整合各沙箱的动态行为检测报告:
- 活动总结与标签
- 检测标识(如 MALWARE、RANSON)
- ATT&CK 关联信息(战术、技术)
- 恶意软件行为目录树(MBC 项目)
- Capabilities(恶意功能)
- IDS 规则关联
- 网络通信信息(HTTP、DNS、IP 等)
- 行为相似性哈希
- 文件操作信息
- 注册表操作信息
- 进程和服务信息
- 同步机制信息
- 模块加载信息
- 可疑操作信息
5. COMMUNITY(社区信息)
- IOC 集合(文件哈希、域名、IP 等)
- Graph 关联可视化
- 社区成员评论
6. 其他选项卡
根据样本类型可能有额外选项卡
3. 社区功能
3.1 社区作用
- 获取 VirusTotal 公共 API 密钥
- 对文件和网站进行评分和评论
- 创建声誉分数衡量信息有用性
3.2 评论功能
- 评论会永久关联到文件/URL
- 评论标记使用:
- #malware:恶意文件
- #goodware:无害文件
- #grayware:令人讨厌但不严重的文件
- #spam-link:垃圾邮件链接
- #disinfection:清除说明
- #phishing-site:钓鱼网站
- 等十余种标记
3.3 Collection 功能
- 创建包含标题、IoC 集合和说明的实时报告
- IoC 包括文件哈希、URL、域和 IP 地址
4. 高级扩展功能
4.1 VT Graph
功能特点
- 可视化探索 VirusTotal 数据集
- 发现威胁共性
- 理解文件、URL、域、IP 等之间的关系
访问方式
- 直接访问 https://www.virustotal.com/graph/
- 从具体样本分析界面进入
视图组成
-
菜单栏:
- File:图形管理
- Edit:节点交互
- Export:导出视图(JSON、CSV 等)
- View:视图管理
- Selection:选定节点操作
- Visualization:可视化类型
-
节点信息:
- 编辑标签
- 添加节点
- 中心节点
- 固定/取消固定
- 选择子/父节点
- 删除节点
-
可视化视图:
- 节点通过箭头关联形成的关系图
4.2 API 功能
API 概述
- REST 原则,JSON 格式
- 基本功能:
- 上传文件分析
- 通过哈希获取报告
- 扫描 URL 并获取报告
- 获取 IP 地址报告
API Key 获取
- 注册社区账户:https://www.virustotal.com/gui/join-us
- 在菜单栏中查看 API Key
API 类型
-
公共 API:
- 限制:500 请求/天,4 请求/分钟
- 非商业用途
- 不能用于不提供新文件的工作流
-
高级 API:
- 无上述限制
- 额外功能:
- 安全事件扩充
- 全面威胁表征
- 与 SIEM/SOAR/EDR 集成
- 文件下载
- 自动引入 YARA 规则
API 响应
- 成功:200 HTTP 状态码
- 错误代码:
- 400:BadRequestError/InvalidArgumentError 等
- 401:AuthenticationRequiredError 等
- 403:ForbiddenError
- 404:NotFoundError
- 429:QuotaExceededError
- 503:TransientError
三个关键组件
- 对象(objects):文件、URL、域名等项目
- 集合(collections):同一类型对象的集合
- 关系(relationships):对象之间的联系
API 集成
- Python 库:vt-py
- 命令行工具:vt-cli
- Golang 库:vt-go
5. 使用建议
- 沙箱分析仅是辅助手段,最终分析应基于源码
- 合理利用社区资源提高分析效率
- 根据需求选择适合的 API 类型
- 善用 VT Graph 进行威胁关联分析
- 注意文件上传的隐私和安全考虑
6. 参考资源
- 官方文档:https://docs.virustotal.com/
- YARA 官方文档:https://yara.readthedocs.io/
- MBC 项目:https://github.com/MBCProject
- API 参考:https://docs.virustotal.com/reference/overview
- VT Graph 文档:https://docs.virustotal.com/reference/graphs