lewiswigmore/virus.xcheck

GitHub: lewiswigmore/virus.xcheck

一款用于批量验证哈希值并获取恶意软件下载链接的 Python 工具。

Stars: 62 | Forks: 8

``` ██╗ ██╗██╗██████╗ ██╗ ██╗███████╗ ██╗ ██╗ ██████╗██╗ ██╗███████╗ ██████╗██╗ ██╗ ██║ ██║██║██╔══██╗██║ ██║██╔════╝ ╚██╗██╔╝██╔════╝██║ ██║██╔════╝██╔════╝██║ ██╔╝ ██║ ██║██║██████╔╝██║ ██║███████╗ ╚███╔╝ ██║ ███████║█████╗ ██║ █████╔╝ ╚██╗ ██╔╝██║██╔══██╗██║ ██║╚════██║ ██╔██╗ ██║ ██╔══██║██╔══╝ ██║ ██╔═██╗ ╚████╔╝ ██║██║ ██║╚██████╔╝███████║██╗██╔╝ ██╗╚██████╗██║ ██║███████╗╚██████╗██║ ██╗ ╚═══╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝ ╚═╝ ```

Version Python 3.8+ License

## 概述 Virus.xcheck 是一个 Python 工具,用于检查文件哈希值是否存在于 Virus Exchange 数据库中。由于 Virus Exchange 的存储方式,该工具仅支持 SHA-256 哈希值。然而,对于其他哈希类型,工具将返回 VirusTotal 数据。工具可以从 CSV 文件读取 SHA-256 哈希值,或从命令行接受单个哈希值,并将每个哈希值与 Virus Exchange 数据库进行验证。 ## 功能 - 从 CSV 文件或命令行读取单个哈希值 - 使用 S3 存储桶回退机制检查每个哈希值与 Virus Exchange API - 并行处理以高效处理较大文件 - 终端中彩色且格式精美的输出 - 以 JSON 或 CSV 格式输出结果 - 带多个选项的命令行界面 - 支持 .env 文件的 API 密钥管理 - 速率限制以防止 API 节流 - 带有可视化的交互式 HTML 报告 ## 要求 - Python 3.8+ ## 安装 ### 从 PyPI 安装(推荐) ``` pip install virusxcheck ``` ### HTML 报告(可选) 要生成交互式 HTML 报告,请使用 report 额外依赖安装: ``` pip install virusxcheck[report] ``` 这会安装生成 HTML 报告所需的附加依赖项(plotly、pandas、jinja2)。 ### 从源代码安装 ``` git clone https://github.com/lewiswigmore/virus.xcheck.git cd virus.xcheck pip install -r requirements.txt ``` ### API 密钥设置 1. 从 [Virus.Exchange](https://virus.exchange/) 获取 API 密钥 2. 在根目录创建 `.env` 文件并添加你的 API 密钥: VIRUSXCHECK_API_KEY=your_api_key_here 或者,你可以使用 `--save-config` 选项交互式地设置密钥: virusxcheck --save-config ## 快速开始 ``` pip install virusxcheck virusxcheck --save-config # Set up your API key virusxcheck -s "sha256_hash_value" # Check a single hash virusxcheck -f hashes.csv -o out.json --html report.html # Batch check with report ``` ## 用法 执行以下命令从命令行运行脚本: ### 检查单个哈希值 ``` virusxcheck -s "hash_value" ``` ### 处理 CSV 文件中的多个哈希值 ``` virusxcheck -f /path/to/your/hashes.csv ``` ### 保存结果到文件 ``` virusxcheck -f /path/to/hashes.csv -o /path/to/results.csv virusxcheck -s "hash_value" -o /path/to/results.json ``` ### 生成 HTML 报告 ``` virusxcheck -f /path/to/hashes.csv --html report.html ``` ### 禁用彩色输出 ``` virusxcheck -s "hash_value" --no-color ``` ## 测试示例 ### 测试用哈希值 ``` d00853e592bccd823027e7e685d88c5a1f76a5a36ec5b7073d49ee633b050cc8 3965811a37eded16030a1dd4ac57119ce774bed4fcd70a232011f8f86efbfd83 51919bdfd8bc0ebeec651efdd5d97dae7ad9532cb10f6efaa67c3dbc88ea7500 ``` ### 使用示例 CSV 进行测试 创建文件 `test_hashes.csv` 并填入上述哈希值,然后运行: ``` virusxcheck -f test_hashes.csv --html results/report.html -o results/output.csv ``` ### 示例输出 运行该工具后,你会看到类似以下的输出: ``` VirusTotal API integration enabled Processing: 100%|██████████████████████| 3/3 [00:00<00:00, 5.85it/s] HTML report saved to results/report.html Results saved to results/output.csv ``` 终端将显示每个哈希值的详细信息,包括: - 检测状态(找到/未找到) - 文件元数据(大小、类型、首次出现时间) - 已知文件名 - 样本关联标签 - VirusTotal 检测统计 - 下载和参考链接 ## 命令行参数 - `-s, --single`:要检查的单个哈希字符串 - `-f, --file`:包含哈希值的 CSV 文件路径 - `-o, --output`:输出文件路径(CSV 或 JSON 格式) - `--html`:生成带有交互式图表的 HTML 报告 - `--save-config`:交互式保存 API 密钥到 .env 文件 - `--no-color`:禁用彩色输出 ## 输出格式 ### 终端输出 工具会在终端中生成彩色输出: - 红色:在数据库中找到的恶意文件 - 绿色:未找到的干净文件 - 黄色:警告和错误 - 显示文件信息、名称、标签和链接的元数据 ### HTML 报告 HTML 报告包含: - 显示检测率和统计信息的交互式图表 - 文件元数据和统计信息 - 恶意软件标签分类 - 来自 VirusTotal 的详细扫描结果 ### JSON 输出 ``` { "dbd5e933fe023ee03953ed8a8997c58be05ba97c092b795647962cf111bcd540": { "status": "Found in VX database", "details": { "md5": "d51c19925a2ae853d3b19a1259f86de5", "size": 4042752, "type": "unknown", "names": [ "csrss.exe", "app.exe" ], "sha1": "332a18521f2905e233bbab094a021cee44ac750e", "tags": [ "spreader", "peexe", "executable", "windows" ], "first_seen": "2025-03-30T17:36:55Z", "download_link": "https://s3.us-east-1.wasabisys.com/vxugmwdb/dbd5e933fe023ee03953ed8a8997c58be05ba97c092b795647962cf111bcd540" }, "virustotal_url": "https://www.virustotal.com/gui/file/dbd5e933fe023ee03953ed8a8997c58be05ba97c092b795647962cf111bcd540" } } ``` ### CSV 输出 CSV 输出包含以下列: - 哈希值 - VX 状态 - 文件类型 - 大小 - 首次出现时间 - 名称 - VX URL - 下载链接 - VirusTotal URL - VT 检测率 - VT 恶意数 - VT 可疑数 - VT 干净数 - VT 类型 - VT 首次出现时间 - VT 标签 ## 更新日志 请查看 [CHANGELOG.md](CHANGELOG.md) 获取变更列表。 ## 安全 有关安全问题,请参阅 [SECURITY.md](SECURITY.md)。 ## 许可证 本项目根据 MIT 许可证授权——详情见 [LICENSE](LICENSE) 文件。 ## 免责声明 本工具仅用于信息目的。请确保你有权访问并检查数据库中的哈希值,并始终遵守 Virus Exchange 和 VirusTotal API 的服务条款。
标签:API查询, BeEF, DAST, Python 3.8+, Virus Exchange, 下载URL, 二进制发布, 哈希查询, 威胁情报, 开发者工具, 开源工具, 恶意软件分析, 批量验证, 文件哈希, 爬虫, 版本发布, 病毒数据库, 网络安全, 许可证, 逆向工具, 隐私保护