TestBuddy22/VirusTotal-Hash-Enrichment-Script
GitHub: TestBuddy22/VirusTotal-Hash-Enrichment-Script
一款基于 VirusTotal v3 API 的 Python 脚本,用于对恶意软件文件哈希进行多维数据富化并导出结构化报告。
Stars: 0 | Forks: 0
# VirusTotal-Hash-Enrichment-Script
这个 Python 脚本使用 VirusTotal v3 API 对恶意软件文件哈希进行 enrichment。它检索相关 IP 地址和域名的文件元数据、检测统计信息、沙箱行为报告、联系的网络指标、社区评论以及信誉信息。
该脚本旨在与 VirusTotal Public API 配合使用,同时遵守速率限制和每日配额限制。
结果将导出为多个 CSV 文件和 JSONL 格式,以便进行进一步的恶意软件分析、威胁狩猎、IOC 提取和报告。
**功能**
**文件元数据收集**
对于提供的每个哈希,脚本会收集:
-MD5, SHA1, SHA256
-文件名
-文件类型
-文件大小
-编译时间戳(PE 文件)
-首次提交日期
-最后提交日期
-最后分析日期
-数字签名信息
-威胁分类
-恶意软件家族
-社区信誉评分
-检测统计信息
收集 VirusTotal 检测统计信息,包括:
恶意检测
可疑检测
无害检测
未检测到的引擎
沙箱行为分析
使用:
GET /files/{id}/behaviours
来检索详细的每个沙箱执行报告。
行为数据包括:
-打开的文件
-写入的文件
-删除的文件
-释放的文件
-注册表活动
-进程创建
-进程终止
-服务创建
-Mutex 创建
-DNS 查询
-HTTP 会话
-IP 流量
-TLS 信息
-命令执行
-加载的模块
-MITRE ATT&CK 技术
-Sigma 检测
-IDS 告警
-签名匹配
-内存转储可用性
-网络指标
收集:
-联系的 IP 地址
-联系的域名
-联系的 URL
-信誉 enrichment
-包括信誉评分和检测统计信息。
社区情报 - 检索 VirusTotal 社区评论
**要求**
Python 3.8+
**必需的包**
安装依赖项:
pip install requests
**用法**
1. 创建一个名为:hashes.txt 的文件
**示例:**
44d88612fea8a8f36de82e1278abb02f
275a021bbfb648f0f8a1f5d9b7e0b4c9
每行一个哈希。
支持的哈希类型:
MD5
SHA1
SHA256
运行脚本:
2. python vt_hash_enrichment.py
脚本将提示输入 VirusTotal API key:从 https://www.virustotal.com 获取。
3. 输入您的 VirusTotal API Key:
**当前限制:**
每分钟 4 次请求
每天 500 次请求
此脚本将生成以下 5 个 CSV 文件以及 JSON 文件。
VirusTotal Public API 限制 - 该脚本专为 VirusTotal Public API 设计。
**1. vt_results.csv - 主要文件分析结果 包含:**
-哈希
-文件元数据
-检测统计信息
-威胁分类
-行为摘要计数
-联系的 IOC 计数
-vt_results.jsonl
JSON Lines 导出,包含完整结果。每行一个 JSON 对象。
**2. vt_behaviour_details.csv - 详细的沙箱行为信息。每个沙箱执行报告占一行,包含:**
-沙箱名称
-判定结果
-MITRE ATT&CK 技术
-DNS 查询
-HTTP 活动
-文件活动
-注册表活动
-进程活动
-IDS 告警
-Sigma 检测
**3. vt_contacted_ips.csv - 联系的 IP 地址的信誉信息 包含:**
-IP 地址
-ASN
-国家/地区
-信誉评分
-检测统计信息
-vt_contacted_domains.csv
**4. vt_contacted_domains.csv - 联系的域名的信誉信息 包含:**
-域名
-注册商
-DNS 记录
-信誉评分
-检测统计信息
**5. vt_contacted_urls.csv - 执行期间联系的提取 URL。URL 会自动进行失活(defanged)处理。**
示例:
hxxps://malicious-site[.]com
**示例工作流**
1. 从 hashes.txt 读取哈希
2. 查询 VirusTotal 文件报告
3.检索沙箱行为报告
3. 提取网络指标
4. 对 IP 信誉进行 enrichment
5. 对域名信誉进行 enrichment
6. 将结果导出为 CSV 和 JSONL
**性能注意事项:**
使用 VirusTotal Public API 时,每个哈希可能需要多次 API 请求。
**每个哈希的典型请求:**
文件查找
行为查找
联系的 IP
联系的域名
联系的 URL
社区评论
IP 信誉查找
域名信誉查找
因此,处理大量哈希可能需要花费大量时间。
为了加快执行速度:
禁用社区评论
禁用 IP 信誉查找
禁用域名信誉查找
最有价值的行为信息已经可以通过以下途径获取:
/files/{hash}
/files/{hash}/behaviours
**注意事项**
API key 以交互方式请求,不会被存储。
数据在检索后立即写入,以防止在执行中断时丢失数据。
**免责声明**
本项目使用 VirusTotal Public API。用户有责任确保其使用符合 VirusTotal 的配额限制和许可要求。
标签:Ask搜索, DAST, Python, VirusTotal, 威胁情报, 开发者工具, 恶意软件分析, 无后门, 逆向工具