什么是VirusTotal?
VirusTotal是一款由谷歌旗下的Chronicle运营的免费在线服务,它可以帮助用户检测URL、文件、IP地址和域名是否包含恶意软件、钓鱼网站以及其他安全威胁。通过集成多种防病毒引擎、网站扫描器和其他安全工具,VirusTotal提供了一站式的全面安全扫描和分析服务。
VirusTotal集成了来自多个安全厂商的检测引擎,这些引擎涵盖了全球知名的安全公司和一些专门从事网络安全的机构。
以下是一些主要的检测引擎:
- 全球知名安全厂商的检测引擎
- Avast - Avast Mobile Security
- Bitdefender - Bitdefender
- Kaspersky - Kaspersky Anti-Virus
- McAfee - McAfee
- Symantec - Symantec Mobile Insight
- Trend Micro - Trend Micro Mobile Security
- ESET - ESET NOD32
- Sophos - Sophos Anti-Virus
- Microsoft - Microsoft Defender
- Fortinet - Fortinet
- 中国安全厂商的检测引擎
- 奇虎360(Qihoo 360) - QVM引擎,用于检测恶意软件 (VirusTotal Blog)。
- 深信服(Sangfor) - Sangfor Engine Zero,利用AI技术进行恶意软件检测 (VirusTotal Blog) (SANGFOR)。
- 其他知名检测引擎
- AhnLab - AhnLab V3
- Avira - Avira
- Baidu - Baidu Antivirus
- ClamAV - ClamAV
- Comodo - Comodo
- Dr.Web - Dr.Web
- F-Secure - F-Secure
- GData - G Data
- Rising - Rising Antivirus
- Zillya - Zillya
- 完整列表参考
可以访问https://docs.virustotal.com/docs/list-file-engines查看完整的支持引擎列表。该页面会定期更新并列出所有当前集成的引擎 。通过这些多家安全厂商的合作,VirusTotal提供了强大的多引擎扫描能力,能够更全面和准确地检测和分析潜在的安全威胁,帮助用户防范各类网络攻击。
VirusTotal的优势
- 多重引擎:整合了来自不同厂商的多种防病毒引擎和网站扫描器,检测结果更加全面。
- 实时更新:数据库和引擎定期更新,确保能够检测到最新的威胁。
- 免费使用:提供基本功能的免费使用,用户可以轻松进行安全检测。
- 社区支持:用户可以提交和分享威胁情报,帮助构建更强大的安全社区。
VirusTotal的使用
使用VirusTotal的步骤
- 访问网站:
- 打开VirusTotal官网。
- 提交URL:
- 在首页的搜索栏中输入要检测的URL,然后点击“搜索”按钮。
- 查看结果:
- VirusTotal会显示该URL的分析结果,包括检测到的潜在威胁、各个引擎的检测情况以及该URL的安全性评分。
通过使用VirusTotal,你可以大大提升对URL、文件和网络资源的安全检测能力,预防和应对各种网络威胁。
VirusTotal的主要功能
- URL扫描:
- 用户可以提交任何URL,VirusTotal会利用多种网站扫描器和数据库对其进行分析,检测是否存在恶意内容或是否被列入黑名单。
- 文件扫描:
- 用户可以上传文件,VirusTotal会使用几十种防病毒引擎对其进行扫描,检查是否包含恶意软件。
- IP和域名分析:
- 提供IP地址和域名的安全分析,用户可以查询这些地址是否与恶意活动相关联。
- 综合报告:
- 扫描结果会生成详细的报告,包含各个引擎的检测结果、文件哈希值、URL安全性评分等信息,帮助用户进行深入分析。
URL搜索
- 输入任何URL,VirusTotal会对其进行全面的安全扫描,检查是否存在恶意软件、钓鱼网站等威胁。
上传文件检测
- 在首页,点击“Choose file”按钮,选择你想要上传并检测的文件。
- 上传文件:
- 选择文件后,点击“Confirm upload”按钮,文件会被上传到VirusTotal进行分析。
- 查看分析结果:
- 文件上传后,VirusTotal会使用多种防病毒引擎对文件进行扫描。扫描完成后,你可以查看详细的分析报告,包括各个引擎的检测结果、文件的哈希值、文件历史记录以及威胁情报等信息。
分析报告内容
- 总体检测结果:
- 显示该文件是否被任何防病毒引擎标记为恶意,以及检测到的恶意软件名称。
- 引擎检测详情:
- 每个防病毒引擎的单独检测结果,显示该引擎的检测判断和恶意软件名称(如果有)。
- 文件哈希值:
- 文件的SHA256、SHA1和MD5哈希值,用于唯一标识文件。
- 行为分析:
- 有时,VirusTotal还会提供文件的行为分析报告,显示文件执行时的行为模式和潜在威胁。
上传文件检测
文件哈希搜索
- 输入文件的SHA256、SHA1或MD5哈希值,可以查看该文件的历史扫描结果和相关威胁情报。
引入LLM大模型的工具Code Insight
参考
https://blog.virustotal.com/2023/04/introducing-virustotal-code-insight.html
VirusTotal now has an AI-powered malware analysis feature
VirusTotal推出了名为Code Insight的工具,通过人工智能技术提升其代码分析能力。这个工具利用Google Cloud的Sec-PaLM大语言模型(LLM)进行代码分析,生成自然语言的代码片段摘要,从而帮助安全专家和分析师更深入地理解代码的目的和操作。
LLM,即大型语言模型(Large Language Model),在 VirusTotal 的新功能 Code Insight 中发挥了关键作用。Code Insight 利用了由 Google Cloud Security AI Workbench 提供的 Sec-PaLM 大型语言模型,这个模型是专门为安全用例微调过的。
Code Insight的主要特点:
- 自动化代码分析:Code Insight可以自动分析上传的代码文件,生成详细的自然语言报告,解释代码的行为和潜在威胁。
- 独立分析:Code Insight独立于传统的防病毒引擎,通过仅分析文件内容,而不依赖其他元数据(如防病毒结果),提供更精确的分析。
- 广泛适用性:目前,该功能主要用于分析PowerShell文件,未来将扩展支持更多文件格式。
总结来说,LLM 在 Code Insight 功能中主要负责深入分析文件内容,提供对潜在恶意软件行为的洞察,并帮助安全专家更有效地识别和响应威胁
VirusTotal API调用方法
VirusTotal API v3 是 VirusTotal 提供的一套用于与 VirusTotal 服务进行交互的应用程序编程接口。以下是一些基本的 API 调用方法和步骤:
- 获取 API 密钥:
- 首先,需要在 VirusTotal 网站上注册并获取一个 API 密钥。这个密钥将用于你的 API 请求中,以验证你的身份。
- 认证:
- 每个 API 请求都需要包含你的 API 密钥作为认证。通常,API 密钥会作为请求头部的一部分发送。
- 遵循 REST 原则:
- VirusTotal API v3 遵循 REST 原则,使用 HTTP 动词(GET, POST, PUT, DELETE 等)来操作资源。
- 使用 JSON 格式:
- 请求和响应数据都使用 JSON 格式。这意味着你的请求体和从 API 接收到的响应都将是 JSON 对象。
- 构造请求 URL:
- 根据你要执行的操作,构造相应的请求 URL。例如,上传文件进行扫描、获取文件报告、扫描 URL 等。
- 发送请求:
- 使用 HTTP 客户端库(如 Python 的 requests 库)来发送请求到 VirusTotal API。
- 处理响应:
- 检查响应状态码以确定请求是否成功。成功的情况下,解析响应体中的 JSON 数据以获取所需信息。
- 错误处理:
- 如果请求失败,检查响应体中的错误信息,了解失败的原因并相应地处理。
- 遵循 JSON API 规范:
- 该 API 遵循 jsonapi.org 规范,这意味着响应结构将遵循该规范定义的格式。
调用 VirusTotal API v3 通常涉及到发送 HTTP 请求。以下是一些使用 Python 语言和 requests 库来调用 VirusTotal API 的基本示例:
1. 安装 requests 库
如果你还没有安装 requests 库,可以通过 pip 安装:
pip install requests
2. 获取 API 密钥
首先,确保需要从 VirusTotal 获取了 API 密钥,获取地址:https://www.virustotal.com/gui/user/wsandjiashuo/apikey
3. 发送请求的示例
示例 1: 上传文件进行扫描
import requests
api_key = '你的API密钥'
file_path = '/path/to/your/file'
url = 'https://www.virustotal.com/api/v3/files'
# 打开文件并读取内容
with open(file_path, 'rb') as file:
files = {'file': (file_path, file)}
headers = {
'x-apikey': api_key
}
response = requests.post(url, files=files, headers=headers)
# 检查响应
if response.status_code == 202:
print('文件上传成功,扫描正在进行中...')
scan_id = response.json().get('data', {}).get('id')
print(f'扫描ID: {scan_id}')
else:
print('文件上传失败:', response.text)
# 根据需要,可以添加代码来轮询扫描结果
示例 2: 通过哈希获取文件报告
hash_value = '文件的哈希值,例如:md5, sha1, 或 sha256'
url = f'https://www.virustotal.com/api/v3/files/{hash_value}'
headers = {
'x-apikey': api_key
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
report = response.json()
print('文件报告:', report)
else:
print('获取文件报告失败:', response.text)
例如:给一个hash_value 为’44d88612fea8a8f36de82e1278abb02f’
打印输出信息为:
文件报告: {'data': {'id': '275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f', 'type': 'file', 'links': {'self': 'https://www.virustotal.com/api/v3/files/275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f'}, 'attributes': {'reputation': 3655, 'crowdsourced_yara_results': [{'ruleset_id': '0019ab4291', 'rule_name': 'malw_eicar', 'ruleset_name': 'MALW_Eicar', 'description': 'Rule to detect the EICAR pattern', 'author': 'Marc Rivero | McAfee ATR Team', 'match_date': 1720755535, 'source': 'https://github.com/advanced-threat-research/Yara-Rules'}, {'ruleset_id': '015dce072d', 'rule_name': 'Multi_EICAR_ac8f42d6', 'ruleset_name': 'Multi_EICAR', 'author': 'Elastic Security', 'match_date': 1720755535, 'source': 'https://github.com/elastic/protections-artifacts'}, {'ruleset_id': '000720c1f3', 'rule_name': 'SUSP_Just_EICAR', 'ruleset_name': 'gen_suspicious_strings', 'description': 'Just an EICAR test file - this is boring but users asked for it', 'author': 'Florian Roth (Nextron Systems)', 'match_date': 1720755535, 'source': 'https://github.com/Neo23x0/signature-base'}], 'type_tag': 'text', 'unique_sources': 3557, 'last_modification_date': 1720755596, 'total_votes': {'harmless': 2142, 'malicious': 383}, 'size': 68, 'magic': 'EICAR virus test files', 'last_analysis_results': {'Bkav': {'method': 'blacklist', 'engine_name': 'Bkav', 'engine_version': '2.0.0.1', 'engine_update': '20240711', 'category': 'malicious', 'result': 'W32.EicarTest.Trojan'}, 'Lionic': {'method': 'blacklist', 'engine_name': 'Lionic', 'engine_version': '8.16', 'engine_update': '20240711', 'category': 'malicious', 'result': 'Test.File.EICAR.y'}, 'Elastic': {'method': 'blacklist', 'engine_name': 'Elastic', 'engine_version': '4.0.157', 'engine_update': '20240703', 'category': 'malicious', 'result': 'eicar'}, 'MicroWorld-eScan': {'method': 'blacklist', 'engine_name': 'MicroWorld-eScan', 'engine_version': '14.0.409.0', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File'}, 'FireEye': {'method': 'blacklist', 'engine_name': 'FireEye', 'engine_version': '35.47.0.0', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File (not a virus)'}, 'CAT-QuickHeal': {'method': 'blacklist', 'engine_name': 'CAT-QuickHeal', 'engine_version': '22.00', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR.TestFile'}, 'Skyhigh': {'method': 'blacklist', 'engine_name': 'Skyhigh', 'engine_version': 'v2021.2.0+4045', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR test file'}, 'ALYac': {'method': 'blacklist', 'engine_name': 'ALYac', 'engine_version': '2.0.0.10', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Misc.Eicar-Test-File'}, 'Malwarebytes': {'method': 'blacklist', 'engine_name': 'Malwarebytes', 'engine_version': '4.5.5.54', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR-AV-Test'}, 'Zillya': {'method': 'blacklist', 'engine_name': 'Zillya', 'engine_version': '2.0.0.5152', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR.TestFile'}, 'Sangfor': {'method': 'blacklist', 'engine_name': 'Sangfor', 'engine_version': '2.25.10.0', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File (not a virus)'}, 'K7AntiVirus': {'method': 'blacklist', 'engine_name': 'K7AntiVirus', 'engine_version': '12.175.52568', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR_Test_File'}, 'Alibaba': {'method': 'blacklist', 'engine_name': 'Alibaba', 'engine_version': '0.3.0.5', 'engine_update': '20190527', 'category': 'malicious', 'result': 'Trojan:MacOS/eicar.com'}, 'K7GW': {'method': 'blacklist', 'engine_name': 'K7GW', 'engine_version': '12.175.52568', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR_Test_File'}, 'CrowdStrike': {'method': 'blacklist', 'engine_name': 'CrowdStrike', 'engine_version': '1.0', 'engine_update': '20230417', 'category': 'undetected', 'result': None}, 'Baidu': {'method': 'blacklist', 'engine_name': 'Baidu', 'engine_version': '1.0.0.2', 'engine_update': '20190318', 'category': 'malicious', 'result': 'Win32.Test.Eicar.a'}, 'VirIT': {'method': 'blacklist', 'engine_name': 'VirIT', 'engine_version': '9.5.744', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File'}, 'SymantecMobileInsight': {'method': 'blacklist', 'engine_name': 'SymantecMobileInsight', 'engine_version': '2.0', 'engine_update': '20240103', 'category': 'malicious', 'result': 'ALG:EICAR Test String'}, 'Symantec': {'method': 'blacklist', 'engine_name': 'Symantec', 'engine_version': '1.21.0.0', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR Test String'}, 'tehtris': {'method': 'blacklist', 'engine_name': 'tehtris', 'engine_version': None, 'engine_update': '20240712', 'category': 'undetected', 'result': None}, 'ESET-NOD32': {'method': 'blacklist', 'engine_name': 'ESET-NOD32', 'engine_version': '29542', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Eicar test file'}, 'APEX': {'method': 'blacklist', 'engine_name': 'APEX', 'engine_version': '6.551', 'engine_update': '20240710', 'category': 'malicious', 'result': 'EICAR Anti-Virus Test File'}, 'TrendMicro-HouseCall': {'method': 'blacklist', 'engine_name': 'TrendMicro-HouseCall', 'engine_version': '10.0.0.1040', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Eicar_test_file'}, 'Avast': {'method': 'blacklist', 'engine_name': 'Avast', 'engine_version': '23.9.8494.0', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR Test-NOT virus!!!'}, 'ClamAV': {'method': 'blacklist', 'engine_name': 'ClamAV', 'engine_version': '1.3.1.0', 'engine_update': '20240711', 'category': 'malicious', 'result': 'Win.Test.EICAR_HDB-1'}, 'Kaspersky': {'method': 'blacklist', 'engine_name': 'Kaspersky', 'engine_version': '22.0.1.28', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR-Test-File'}, 'BitDefender': {'method': 'blacklist', 'engine_name': 'BitDefender', 'engine_version': '7.2', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File (not a virus)'}, 'NANO-Antivirus': {'method': 'blacklist', 'engine_name': 'NANO-Antivirus', 'engine_version': '1.0.146.25796', 'engine_update': '20240711', 'category': 'malicious', 'result': 'Marker.Dos.EICAR-Test-File.dyb'}, 'SUPERAntiSpyware': {'method': 'blacklist', 'engine_name': 'SUPERAntiSpyware', 'engine_version': '5.6.0.1032', 'engine_update': '20240712', 'category': 'malicious', 'result': 'NotAThreat.EICAR[TestFile]'}, 'Tencent': {'method': 'blacklist', 'engine_name': 'Tencent', 'engine_version': '1.0.0.1', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR.TEST.NOT-A-VIRUS'}, 'TACHYON': {'method': 'blacklist', 'engine_name': 'TACHYON', 'engine_version': '2024-07-12.01', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR-Test-File'}, 'Emsisoft': {'method': 'blacklist', 'engine_name': 'Emsisoft', 'engine_version': '2024.1.0.53752', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR-Test-File (A)'}, 'F-Secure': {'method': 'blacklist', 'engine_name': 'F-Secure', 'engine_version': '18.10.1547.307', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR_Test_File'}, 'DrWeb': {'method': 'blacklist', 'engine_name': 'DrWeb', 'engine_version': '7.0.65.5230', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR Test File (NOT a Virus!)'}, 'VIPRE': {'method': 'blacklist', 'engine_name': 'VIPRE', 'engine_version': '6.0.0.35', 'engine_update': '20240709', 'category': 'malicious', 'result': 'EICAR-Test-File (not a virus)'}, 'TrendMicro': {'method': 'blacklist', 'engine_name': 'TrendMicro', 'engine_version': '11.0.0.1006', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Eicar_test_file'}, 'CMC': {'method': 'blacklist', 'engine_name': 'CMC', 'engine_version': '2.4.2022.1', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Eicar.test.file'}, 'Sophos': {'method': 'blacklist', 'engine_name': 'Sophos', 'engine_version': '2.5.5.0', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR-AV-Test'}, 'Ikarus': {'method': 'blacklist', 'engine_name': 'Ikarus', 'engine_version': '6.3.12.0', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File'}, 'Avast-Mobile': {'method': 'blacklist', 'engine_name': 'Avast-Mobile', 'engine_version': '240711-00', 'engine_update': '20240711', 'category': 'malicious', 'result': 'Eicar'}, 'Jiangmin': {'method': 'blacklist', 'engine_name': 'Jiangmin', 'engine_version': '16.0.100', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File'}, 'Webroot': {'method': 'blacklist', 'engine_name': 'Webroot', 'engine_version': '1.0.0.403', 'engine_update': '20240712', 'category': 'malicious', 'result': 'W32.Eicar.Testvirus.Gen'}, 'Google': {'method': 'blacklist', 'engine_name': 'Google', 'engine_version': '1720747834', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Detected'}, 'Avira': {'method': 'blacklist', 'engine_name': 'Avira', 'engine_version': '8.3.3.20', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Eicar-Test-Signature'}, 'Varist': {'method': 'blacklist', 'engine_name': 'Varist', 'engine_version': '6.5.1.2', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR_Test_File'}, 'Antiy-AVL': {'method': 'blacklist', 'engine_name': 'Antiy-AVL', 'engine_version': '3.0', 'engine_update': '20240712', 'category': 'malicious', 'result': 'TestFile/Win32.EICAR'}, 'Kingsoft': {'method': 'blacklist', 'engine_name': 'Kingsoft', 'engine_version': 'None', 'engine_update': '20230906', 'category': 'malicious', 'result': 'Test.eicar.aa'}, 'Microsoft': {'method': 'blacklist', 'engine_name': 'Microsoft', 'engine_version': '1.1.24060.5', 'engine_update': '20240711', 'category': 'malicious', 'result': 'Virus:DOS/EICAR_Test_File'}, 'Gridinsoft': {'method': 'blacklist', 'engine_name': 'Gridinsoft', 'engine_version': '1.0.182.174', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Trojan.U.EICAR_Test_File.dd'}, 'Xcitium': {'method': 'blacklist', 'engine_name': 'Xcitium', 'engine_version': '36866', 'engine_update': '20240711', 'category': 'malicious', 'result': 'Malware@#2975xfk8s2pq1'}, 'Arcabit': {'method': 'blacklist', 'engine_name': 'Arcabit', 'engine_version': '2022.0.0.18', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File (not a virus)'}, 'ViRobot': {'method': 'blacklist', 'engine_name': 'ViRobot', 'engine_version': '2014.3.20.0', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-test'}, 'ZoneAlarm': {'method': 'blacklist', 'engine_name': 'ZoneAlarm', 'engine_version': '1.0', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR-Test-File'}, 'GData': {'method': 'blacklist', 'engine_name': 'GData', 'engine_version': 'A:25.38483B:27.36686', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR_TEST_FILE'}, 'Cynet': {'method': 'blacklist', 'engine_name': 'Cynet', 'engine_version': '4.0.1.1', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Malicious (score: 99)'}, 'AhnLab-V3': {'method': 'blacklist', 'engine_name': 'AhnLab-V3', 'engine_version': '3.26.0.10499', 'engine_update': '20240712', 'category': 'malicious', 'result': 'Virus/EICAR_Test_File'}, 'Acronis': {'method': 'blacklist', 'engine_name': 'Acronis', 'engine_version': '1.2.0.121', 'engine_update': '20240328', 'category': 'undetected', 'result': None}, 'McAfee': {'method': 'blacklist', 'engine_name': 'McAfee', 'engine_version': '6.0.6.653', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR test file'}, 'MAX': {'method': 'blacklist', 'engine_name': 'MAX', 'engine_version': '2023.1.4.1', 'engine_update': '20240712', 'category': 'malicious', 'result': 'malware (ai score=100)'}, 'VBA32': {'method': 'blacklist', 'engine_name': 'VBA32', 'engine_version': '5.0.0', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File'}, 'Zoner': {'method': 'blacklist', 'engine_name': 'Zoner', 'engine_version': '2.2.2.0', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR.Test.File-NoVirus.250'}, 'Rising': {'method': 'blacklist', 'engine_name': 'Rising', 'engine_version': '25.0.0.27', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-Test-File (CLASSIC)'}, 'Yandex': {'method': 'blacklist', 'engine_name': 'Yandex', 'engine_version': '5.5.2.24', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR_test_file'}, 'SentinelOne': {'method': 'blacklist', 'engine_name': 'SentinelOne', 'engine_version': '24.2.1.1', 'engine_update': '20240417', 'category': 'malicious', 'result': 'Static AI - Malicious COM'}, 'MaxSecure': {'method': 'blacklist', 'engine_name': 'MaxSecure', 'engine_version': '1.0.0.1', 'engine_update': '20240711', 'category': 'malicious', 'result': 'VIRUS.EICAR.TEST'}, 'Fortinet': {'method': 'blacklist', 'engine_name': 'Fortinet', 'engine_version': 'None', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR_TEST_FILE'}, 'BitDefenderTheta': {'method': 'blacklist', 'engine_name': 'BitDefenderTheta', 'engine_version': '7.2.37796.0', 'engine_update': '20240621', 'category': 'malicious', 'result': 'EICAR-Test-File (not a virus)'}, 'AVG': {'method': 'blacklist', 'engine_name': 'AVG', 'engine_version': '23.9.8494.0', 'engine_update': '20240712', 'category': 'malicious', 'result': 'EICAR Test-NOT virus!!!'}, 'Cybereason': {'method': 'blacklist', 'engine_name': 'Cybereason', 'engine_version': None, 'engine_update': '20180308', 'category': 'undetected', 'result': None}, 'Panda': {'method': 'blacklist', 'engine_name': 'Panda', 'engine_version': '4.6.4.2', 'engine_update': '20240711', 'category': 'malicious', 'result': 'EICAR-AV-TEST-FILE'}, 'alibabacloud': {'method': 'blacklist', 'engine_name': 'alibabacloud', 'engine_version': '2.1.0', 'engine_update': '20240620', 'category': 'malicious', 'result': 'Engtest:Multi/Eicar'}, 'BitDefenderFalx': {'method': 'blacklist', 'engine_name': 'BitDefenderFalx', 'engine_version': '2.0.936', 'engine_update': '20240128', 'category': 'type-unsupported', 'result': None}, 'McAfeeD': {'method': 'blacklist', 'engine_name': 'McAfeeD', 'engine_version': '1.2.0.7977', 'engine_update': '20240712', 'category': 'type-unsupported', 'result': None}, 'DeepInstinct': {'method': 'blacklist', 'engine_name': 'DeepInstinct', 'engine_version': '5.0.0.8', 'engine_update': '20240708', 'category': 'type-unsupported', 'result': None}, 'Trapmine': {'method': 'blacklist', 'engine_name': 'Trapmine', 'engine_version': '4.0.16.160', 'engine_update': '20240702', 'category': 'type-unsupported', 'result': None}, 'Paloalto': {'method': 'blacklist', 'engine_name': 'Paloalto', 'engine_version': '0.9.0.1003', 'engine_update': '20240712', 'category': 'type-unsupported', 'result': None}, 'Cylance': {'method': 'blacklist', 'engine_name': 'Cylance', 'engine_version': '3.0.0.0', 'engine_update': '20240711', 'category': 'type-unsupported', 'result': None}, 'Trustlook': {'method': 'blacklist', 'engine_name': 'Trustlook', 'engine_version': '1.0', 'engine_update': '20240712', 'category': 'type-unsupported', 'result': None}}, 'popular_threat_classification': {'suggested_threat_label': 'virus.eicar/test', 'popular_threat_category': [{'value': 'virus', 'count': 14}, {'value': 'trojan', 'count': 3}], 'popular_threat_name': [{'value': 'eicar', 'count': 61}, {'value': 'test', 'count': 52}, {'value': 'file', 'count': 39}]}, 'md5': '44d88612fea8a8f36de82e1278abb02f', 'last_analysis_date': 1720755529, 'first_seen_itw_date': 1582585760, 'sigma_analysis_results': [{'match_context': [{'values': {'EventID': '4672', 'PrivilegeList': 'SeAssignPrimaryTokenPrivilege\r\n\t\t\tSeTcbPrivilege\r\n\t\t\tSeSecurityPrivilege\r\n\t\t\tSeTakeOwnershipPrivilege\r\n\t\t\tSeLoadDriverPrivilege\r\n\t\t\tSeBackupPrivilege\r\n\t\t\tSeRestorePrivilege\r\n\t\t\tSeDebugPrivilege\r\n\t\t\tSeAuditPrivilege\r\n\t\t\tSeSystemEnvironmentPrivilege\r\n\t\t\tSeImpersonatePrivilege\r\n\t\t\tSeDelegateSessionUserImpersonatePrivilege', 'SubjectUserName': 'SYSTEM', 'SubjectLogonId': '999', 'SubjectUserSid': 'S-1-5-18', 'SubjectDomainName': 'NT AUTHORITY'}}, {'values': {'EventID': '4672', 'PrivilegeList': 'SeAssignPrimaryTokenPrivilege\r\n\t\t\tSeTcbPrivilege\r\n\t\t\tSeSecurityPrivilege\r\n\t\t\tSeTakeOwnershipPrivilege\r\n\t\t\tSeLoadDriverPrivilege\r\n\t\t\tSeBackupPrivilege\r\n\t\t\tSeRestorePrivilege\r\n\t\t\tSeDebugPrivilege\r\n\t\t\tSeAuditPrivilege\r\n\t\t\tSeSystemEnvironmentPrivilege\r\n\t\t\tSeImpersonatePrivilege', 'SubjectUserName': 'SYSTEM', 'SubjectLogonId': '999', 'SubjectUserSid': 'S-1-5-18', 'SubjectDomainName': 'NT AUTHORITY'}}], 'rule_level': 'low', 'rule_description': 'Detects logon with "Special groups" and "Special Privileges" can be thought of as Administrator groups or privileges.', 'rule_source': 'Sigma Integrated Rule Set (GitHub)', 'rule_title': 'User with Privileges Logon', 'rule_id': '8919a871f4a52b7af785fab44b4665ab6a3637e6ebeeac0288df8a5012a48be2', 'rule_author': 'frack113'}], 'known_distributors': {'distributors': ['Open Source'], 'filenames': ['eicar.com'], 'products': ['BlackArch Linux'], 'data_sources': ['National Software Reference Library (NSRL)']}, 'type_extension': 'txt', 'tags': ['attachment', 'direct-cpu-clock-access', 'long-sleeps', 'known-distributor', 'via-tor', 'legit', 'idle'], 'last_analysis_stats': {'malicious': 67, 'suspicious': 0, 'undetected': 4, 'harmless': 0, 'timeout': 0, 'confirmed-timeout': 0, 'failure': 0, 'type-unsupported': 7}, 'tlsh': 'T141A022003B0EEE2BA20B00200032E8B00808020E2CE00A3820A020B8C83308803EC228', 'times_submitted': 1042882, 'ssdeep': '3:a+JraNvsgzsVqSwHq9:tJuOgzsko', 'names': ['eicar.com-3521', 'eicar.com-34008', 'eicar.com', 'eicar.com-44305', 'eicar.com-20202', 'Eicar.com', 'eicar.com-36350', '[aliases]', 'eicar.com-6047', 'eicar.com-28419', 'eicar.com-40443', 'eicar.com-20402', 'malware.txt', 'eicar.com-26683', 'eicar.com-12268', 'eicar.com-12818', 'eicar.com-4175', 'eicar.com-47272', 'eicar.com-44942', 'eicar.com-33244', 'eicar.com-37010', 'eicar.com-19450', 'eicar.com-29064', 'eicar.com-5377', 'eicar.com.txt', 'eicar.com-21055', 'eicar.com-39905', 'eicar.com-12862', 'eicar.com-24576', 'eicar.com-4857', 'eicar.com-10212', 'eicar.com-45651', 'eicar.com-44149', 'eicar.com-37704', 'eicar.com-30384', 'eicar.com-29743', 'eicar.com-16497', 'eicar.com-19607', 'eicar.com-1791', 'eicar.com-11663', 'secure.eicar.org_eicar.pdf', 'eicar.txt', 'eicar.com-35342', 'eicar.com-3665', 'eicar.com-21408', 'eicar.com-44427', 'eicar.com-7642', 'eicar.com-32964', 'eicar-com.com', 'eicar-test.txt', 'eicar.com-41894', 'eicar.com-25008', 'eicar.com-24362', 'eicar.com-16830', 'eicar.com-16284', '新建文本文档.txt', 'eicar.com-8811', 'csm-eicar.txt', 'eicar.com-1955', 'eicar.com-47849', 'eicar.com-36862', 'eicar.com.jpg', 'eicar.com-39894', 'eicar.com-21970', 'eicar.com-31881', 'eicar.com-7152', 'eicar.com-23906', 'malware.com', 'eicar.com-41430', 'testvirus.txt', 'eicar.com-11932', 'eicar_00.com', 'eicar_01.com', 'eicar_02.com', 'eicar.com-25347', 'eicar.com-3922', 'eicar.com-11466', 'eicar.com-44543', 'eicar.com-41712', 'eicar.com-36588', 'eicar.com-27780', 'eicar.com-28570', 'eicar.com-12979', 'eicar.com-20566', 'eicar-exe.com', 'eicar.com-45431', 'eicar.com-12434', 'eicar.com-14508', 'eicar.pdf', 'eicar.com-45990', 'eicar.com-45219', 'eicar.com-30105', 'eicar.com-37266', 'eicar.com-13011', 'eicar.com-29343', 'eicar.com-46968', 'eicar.com-21346', 'eicar-false-extension.jpg'], 'sigma_analysis_stats': {'high': 0, 'medium': 0, 'critical': 0, 'low': 1}, 'sha256': '275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f', 'antiy_info': 'Trojan/Generic.ASBOL.2A', 'last_submission_date': 1720755529, 'type_tags': ['text'], 'meaningful_name': 'eicar.com-3521', 'trid': [{'file_type': 'EICAR antivirus test file', 'probability': 100.0}], 'sha1': '3395856ce81f2b7382dee72602f798b642f14140', 'sandbox_verdicts': {'Zenbox': {'category': 'harmless', 'malware_classification': ['CLEAN'], 'sandbox_name': 'Zenbox', 'confidence': 100}, 'Lastline': {'category': 'malicious', 'sandbox_name': 'Lastline', 'malware_classification': ['MALWARE', 'TROJAN']}, 'OS X Sandbox': {'category': 'malicious', 'confidence': 52, 'sandbox_name': 'OS X Sandbox', 'malware_classification': ['MALWARE', 'TROJAN', 'EVADER'], 'malware_names': ['EICAR']}}, 'magika': 'VBA', 'first_submission_date': 1148301722, 'sigma_analysis_summary': {'Sigma Integrated Rule Set (GitHub)': {'high': 0, 'medium': 0, 'critical': 0, 'low': 1}}, 'type_description': 'Text', 'crowdsourced_ai_results': [{'source': 'palm', 'analysis': 'EICAR is a test string used to detect and test antivirus software. It\'s like a "dummy virus" that triggers an antivirus engine to react, demonstrating its ability to identify and neutralize threats.\nHere\'s the key:\nIt\'s NOT a real virus: EICAR is harmless and cannot infect your computer.\nIt\'s a standardized test: Almost all antivirus programs are designed to recognize EICAR as a potential threat, ensuring they\'re working properly.\n', 'category': 'code_insight', 'id': '275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f-file-palm'}]}}}
示例 3: 扫描 URL
url_to_scan = 'http://example.com'
url = 'https://www.virustotal.com/api/v3/urls'
payload = {'url': url_to_scan}
headers = {
'x-apikey': api_key
}
response = requests.post(url, json=payload, headers=headers)
if response.status_code == 202:
print('URL 扫描请求已提交')
scan_id = response.json().get('data', {}).get('id')
print(f'扫描ID: {scan_id}')
else:
print('URL 扫描请求失败:', response.text)
请注意,这些示例仅用于演示如何构建 API 请求。实际使用时,我们需要替换 ‘你的API密钥’、file_path、hash_value 和 url_to_scan 等变量的值为实际参数。此外,根据 VirusTotal API 的具体要求,可能需要处理异步响应、轮询结果、错误处理等更复杂的逻辑。在实际应用中,请确保遵守 VirusTotal API 的使用条款和限制。
免费 or 付费版本
https://docs.virustotal.com/reference/public-vs-premium-api
免费版本(Public API)和付费版本(Premium API)的VirusTotal API之间的详细区别差异如下:
1. 访问权限和使用限制
-
Public API:
- 免费提供给所有注册用户。
- 不能在商业产品或服务中使用。
- 不能在不贡献新文件的商业工作流程中使用。
- 不允许注册多个账户来规避限制。
-
Premium API:
- 仅对付费用户开放。
- 没有请求频率或每日限额的限制,由用户购买的服务等级决定。
- 适用于商业用途和专业服务。
2. 请求限制
-
Public API:
- 每天最多500个请求。
- 每分钟最多4个请求。
-
Premium API:
- 没有请求频率或每日限额的限制。
3. 功能和数据
-
Public API:
- 提供基本的API端点和功能。
- 访问受限,可能缺少一些高级功能。
-
Premium API:
- 提供更高级的威胁狩猎和恶意软件发现端点和功能。
- 支持自动安全遥测丰富、威胁情报驱动的编排、主动威胁狩猎等。
4. 数据和上下文
- Premium API:
- 返回更详细的威胁上下文。
- 包括VirusTotal专有的元数据,如文件首次提交日期、提交国家、流行度等。
5. 高级查询和搜索
- Premium API:
- 支持属性到样本查询、属性到URL/域名/IP地址查询。
- 支持文件聚类和文件相似性搜索。
6. 服务等级协议(SLA)
- Premium API:
- 有严格的服务许可协议,保证数据的可用性和就绪性。
7. 其他优势
- Premium API:
- 允许自定义请求速率和每日配额。
- 可以下载提交的样本进行进一步研究。
- 提供执行报告和网络流量捕获。
- 访问VirusTotal生成的专有元数据。
- 支持与SIEM、SOAR、EDR或AV的集成。
- 支持程序化工作流程以协助事件响应。
总结来说,Premium API提供了更多的功能、灵活性和高级服务,适合需要更深入分析和定制服务的专业用户和企业。而Public API则提供了基础功能,适用于个人和小规模的非商业用途。
最后
从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。
因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。
干货主要有:
①1000+CTF历届题库(主流和经典的应该都有了)
②CTF技术文档(最全中文版)
③项目源码(四五十个有趣且经典的练手项目及源码)
④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)
⑤ 网络安全学习路线图(告别不入流的学习)
⑥ CTF/渗透测试工具镜像文件大全
⑦ 2023密码学/隐身术/PWN技术手册大全
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
扫码领取
![](https://img-blog.csdnimg.cn/img_convert/c3417d689d2349b2784d5e2ec49b9abf.png)